Troubleshooting
Solutions for the most common problems. Start with the System Status tab: it flags most issues for you.
Carts are never marked abandoned
Detection runs on WP-Cron every five minutes. WP-Cron only runs when someone visits your site, and some hosts disable it.
- Check System Status → Scheduled tasks (WP-Cron). If it warns that WP-Cron is disabled, add a real cron job.
- Check that Enable Cart Tracking is on, and that the cart has been quiet for longer than Abandoned After.
# Run WordPress cron every 5 minutes */5 * * * * curl -s "https://your-store.com/wp-cron.php?doing_wp_cron" > /dev/null 2>&1
*/5 * * * * cd /path/to/wordpress && wp cron event run --due-now > /dev/null 2>&1
// Only once a real cron job is in place: define( 'DISABLE_WP_CRON', true );
Recovery emails are not sent
- Is the email switched on? Send Recovery Email is off by default. The Dashboard and System Status both warn when it's off.
- Does your site send email at all? Use Send Test Email. "WordPress could not send the email" means your site has no working mail setup. Install an SMTP plugin.
- Check the cart's timeline on the Carts tab. It says exactly what happened:
- "Recovery email skipped — Address already emailed recently": the One Email per Address Every interval (24 hours by default; lower it or set 0 to turn it off).
- "Recovery email skipped: customer unsubscribed", "Customer unsubscribed from cart reminders" or "Recovery emails stopped by an admin": the address is on the unsubscribe list. The cart shows an Emails stopped pill. Only the customer can opt back in from the unsubscribe page, or, with Pro, you can re-subscribe them on Sending Rules.
- "Customer bought in another order": they already bought, so no email.
- "Recovery email could not be sent": the mail system refused it. The plugin retries up to 3 times.
- Old carts? Carts abandoned more than 7 days ago are not emailed.
- Using Pro? Carts in a campaign get the campaign's emails instead. Check that the campaign is Active and your license is active. A "Campaign email postponed" entry on the timeline means the email is waiting for the send window or for One Email per Address Every to pass, and says until when.
Emails go to spam
- Set Sender Email to an address on your store's own domain.
- Send through an SMTP or transactional email service, and set up SPF, DKIM and DMARC for your domain.
- Keep the subject simple and honest. Avoid ALL CAPS and lots of exclamation marks.
- Keep the Unsubscribe Link on. It adds the one-click unsubscribe header that Gmail and Yahoo expect from senders.
- With Pro, set a send window so campaign emails don't arrive at night.
Guest carts aren't recorded
- A guest's cart is recorded only after they type their email at checkout. Visitors who never reach the email field aren't tracked. Pro's on-site prompt can ask them earlier.
- Check that Guest Carts is on.
- With Consent Mode Checkbox required, nothing is saved until the guest ticks the box. A guest who clicked No thanks is not tracked for that visit.
- Check Exclusions: the shopper's role, a product, or a category (including subcategories) may be excluded.
- On a classic checkout, a JavaScript error from another plugin can stop email capture. Check the browser console on the checkout page.
- Custom checkouts that rename or remove the
billing_emailfield can't be captured on the classic checkout.
Recovery links show an error or an empty cart
- "This cart link has expired": the link is older than Recovery Link Valid For. Raise it if needed (up to 60 days).
- "This cart link no longer works": the order was already placed, or a newer email replaced the link.
- An empty cart after the link usually means aggressive page caching. Exclude URLs containing
siteryn-recoverandsiteryn-unsubscribefrom your cache or CDN. - "This link doesn't work" on the unsubscribe page: the link was cut off or changed, for example by an email client. Ask the customer to use the link from their most recent email.
- All links stopped working at once? Your security salts in
wp-config.phpchanged, which invalidates old links by design. - "Too many attempts. Please wait a few minutes…": one link was opened more than 5 times, or one visitor opened more than 30 links, within 10 minutes. It works again after the wait.
- The timeline shows "Recovery link opened" but the cart never turns Recovered? Most likely an email security scanner (Safe Links, Mimecast, Proofpoint…) opened the link, not the customer. That is by design: a cart is recovered only once the shopper's own browser confirms the visit, or an order is placed. If real customers aren't confirmed either, check the browser console on the checkout for JavaScript errors, and make sure your cache or optimisation plugin doesn't strip inline scripts from the page the link lands on.
Dashboard numbers look wrong
- "Recovered" counts only purchases made after opening a recovery link. Customers who came back on their own are not counted, and neither are links opened only by an email security scanner.
- Cancelled, refunded and failed orders are removed from recovered revenue.
- Carts in other currencies are counted but left out of money totals. Their money appears in the "Carts in other currencies" card.
- Numbers are cached for up to 5 minutes (10 on Analytics).
- With Pro, Link clicks count only shoppers whose return was confirmed by their browser or an order, so links opened by email security scanners aren't counted.
Pro features don't work
- Check License: the status must be Active. Click Check again to refresh it.
- "Could not reach the license server": your host must allow outgoing HTTPS to siteryn.com.
- Moved the site? Deactivate on the old site first, then activate here.
- Free must stay active. Pro shows "is almost ready" when it isn't.
Webhooks fail
- The endpoint must be switched on, use a public
https://address (private and local-network addresses are refused), have a generated secret, and answer with a 2xx status within 10 seconds. Redirects are not followed. The endpoint's state pill must say Active. - Check the last error in Recent Deliveries, for example "The endpoint answered 401." That usually means signature verification failed: make sure you hash the raw body.
Still stuck?
Contact Siteryn support with:
- A full-page screenshot of the System Status tab.
- The cart number and its timeline, if the problem is about one cart.
- What you expected, and what happened instead.