If paused/draft you’re losing 8-12% of cart-abandoners. EM-FLOW-001 fires.
At a glance
Real-time status indicator for the Dotdigital programme tagged as “abandoned cart” in the merchant’s account. Returns one ofActive,Paused,Draft,Errored, orNot Found. If anything other than Active, the brand is losing 8 to 12% of cart-abandoners they would otherwise have recovered. This is the single most expensive automation to leave broken; the EM-FLOW-001 alert fires on any non-Active state.
| What it counts | The current status field of the programme that matches Dotdigital’s “Abandoned cart” template tag, or whichever active programme has triggerType = checkout_abandoned. Status pulled from /v2/programmes listed and filtered. |
| Why this card alone justifies the connector | Abandoned-cart programmes recover an industry-standard 8 to 12% of abandoned-cart revenue. For a brand with £1.8m monthly revenue and a 70% cart-abandon rate, that’s £30,000 to £45,000 of monthly recovered revenue. A paused programme costs that much; this card is the single fastest ROI in the Dotdigital connector. |
| Status definitions | Active: live and firing on every cart-abandon trigger. Paused: temporarily disabled, no triggers fire (most common cause of silent revenue loss). Draft: built but never activated. Errored: live but the most recent execution failed (usually a missing personalisation token or a broken product feed). Not Found: no programme matches the abandoned-cart template; the brand has never built one. |
| Triggering source | The Insights pixel on the cart page or checkout page. When a contact reaches the cart but doesn’t complete the order within the configured wait time (typically 1 to 4 hours), the programme starts. The pixel must be present on every cart and checkout page; a theme update can silently break it. See Programme Errored Count. |
| Typical structure | 3 steps over 24 to 72h: T+1h “you left something behind” + cart contents, T+24h “still thinking?” + social proof or review, T+48h “last chance” + small discount or free shipping. Brands with thinner margins skip the discount; brands with high LTV add a fourth step at T+5d. |
| Wait-time setting | The trigger waits N minutes after the last activity before firing. Too short (under 30 min) catches contacts who are still actively shopping; too long (over 6 hours) misses the impulse-purchase recovery window. Dotdigital’s default is 1 hour; most brands settle on 1 to 2 hours. |
| Mobile vs desktop | Same programme fires for both. The Insights pixel is mobile-aware and the programme content is responsive by default in EasyEditor. |
| Time window | RT (real-time, current status of the programme right now) |
| Alert trigger | not Active (any status other than Active fires the alert) |
| Roles | owner, marketing |
Calculation
Calculated automatically from your Dotdigital data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.Worked example
A UK B2C health-supplement brand running on BigCommerce with Dotdigital. Monthly Dotdigital-attributed revenue typically £140,000. Scenario A: programme is Active| Cart-abandon metric | Value |
|---|---|
| Cart-abandons / month | 18,400 |
| Programme triggered for | 16,800 (91% of abandoners reach the email; the gap is non-consenting contacts and guest checkouts) |
| Recovery rate | 9.8% |
| Recovered orders | 1,646 |
| Recovered revenue | £62,400 |
| Share of total Dotdigital revenue | 44.6% |
| Day-by-day impact (14 Apr 26 to 22 Apr 26) | Value |
|---|---|
| Days paused | 9 |
| Daily abandoners that would have entered programme | ~560 |
| Daily lost recovery revenue (at the 9.8% baseline) | ~£2,080 |
| 9-day total lost revenue | £18,720 |
{{cart.items}} personalisation token in the email body. The programme fired, but every email rendered with [BROKEN] in the cart-contents block. Open rate held; click rate halved (because the broken cart-contents made the email look spammy); recovered revenue dropped from £62,400 monthly run-rate to roughly £14,000 over the affected window. The Dotdigital programme status flipped from Active to Errored after the third failed render-attempt; this card would have caught it within hours, where the typical brand discovers it weeks later when they look at the monthly report.
Sibling cards merchants should reference together
| Card | Why pair it with Abandoned-Cart Programme Status |
|---|---|
| Welcome Programme Status | The other “must-be-active” programme. Same alert pattern, same revenue magnitude. |
| Programme Errored Count | If status is Errored here, this card surfaces every other programme in the same state. Often a single broken pixel takes out multiple programmes. |
| Programme Step Drop-Off | When the programme is Active but recovery rate is dropping, this card identifies which step is leaking. |
| Abandoned-Cart Recovery Value | The revenue impact view. Pair the status of the programme with the trended recovery value. |
| BigCommerce Cart Abandon Rate | The supply side. A spike in cart-abandon rate means the programme has more triggers to work with; if recovery revenue isn’t following, the programme is broken. |
| Active Programmes | The full list. Useful for confirming programme count is stable, accidental deletions show up here. |
| Klaviyo Abandoned Cart Flow Status | The Klaviyo equivalent. Same alert shape, same revenue impact band. |
| Mailchimp Abandoned Cart Automation Status | The Mailchimp equivalent. Mailchimp’s abandoned-cart automation is part of the Connected Site app, slightly different setup. |
Reconciling against the vendor’s own dashboard
Where to look in Dotdigital: r1-app.dotdigital.com → Programmes for the full programme list with status badges. Click into the abandoned-cart programme to see the visual canvas, the trigger configuration, the step content, and the recent execution log. The execution log is the fastest way to diagnose an Errored state, it lists the exact failure mode (missing token, broken pixel, suppressed contact, etc.). For the trigger validation: Engagement Cloud → Insights → Conversion Tracking → Abandoned Cart Setup shows whether the cart-page pixel is firing correctly. Test it from the brand’s own production cart to confirm the pixel sees the abandonment event. Why our number may legitimately differ from Dotdigital’s dashboard:| Reason | Direction of divergence |
|---|---|
Status caching. Dotdigital’s API returns the programme status from a cache that refreshes every 5 to 10 minutes. A just-paused programme may show as Active for up to 10 minutes on Vortex IQ. | Vortex IQ slightly stale on the just-changed minute |
| Programme tag matching. Vortex IQ identifies “the abandoned-cart programme” by template tag and trigger type. If a brand has multiple abandoned-cart programmes (e.g. one per market) only the primary is reported here. | Edge case for multi-region brands |
Errored state granularity. Dotdigital UI shows specific error messages; Vortex IQ rolls all error states into a single Errored status. Drill into the Dotdigital UI for the message. | None |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
klaviyo.klv_flow_abandoned_cart_status | Same alert shape, same revenue magnitude | Klaviyo’s flow status returns live, manual, draft; Dotdigital uses Active, Paused, Draft, Errored. Vortex IQ normalises both to a common Active/not Active flag. |
mailchimp.mc_automation_abandoned_cart_status | Same alert shape | Mailchimp automations have sending, paused, started, completed statuses. |
bigcommerce.bc_cart_abandon_rate | Supply-side counterpart | The volume of cart-abandons that should be entering this programme. |
Known limitations / merchant FAQs
My programme is Active but recovery rate is much lower than 8 to 12%. What’s wrong? Three usual suspects, in order of likelihood: (1) the trigger wait time is too short or too long, (2) the cart-contents personalisation is broken (so the email shows generic copy instead of the actual products), (3) the programme has been re-targeting customers who already received it within the last 7 days, leading to fatigue. Check Dotdigital’s per-step performance under Programme Reports → Step-Level Stats; if Step 1 has good open-rate but Step 2 has low click-rate, the content is the problem. If Step 1 itself has low open-rate, the wait time or send-time is the problem. The programme says “Errored”. What does that actually mean? Errored means the most recent execution failed. The most common causes: (a) a{{cart.items}} or {{contact.firstname}} token couldn’t resolve because the contact data is incomplete, (b) the product feed URL has changed and Dotdigital can’t pull the linked product images, (c) the Insights pixel on the cart page has been removed or moved, so the trigger fires on stale data. Drill into Dotdigital’s Programme → Execution Log for the exact error.
My programme is Active but no contacts are entering it. Why?
Almost always a pixel problem. The cart-abandon trigger requires the Insights pixel to fire on the cart page with a valid cart object. A theme update, a CDN change, or a new checkout extension can silently break the pixel. Test by opening the brand’s own cart page in an incognito browser, abandoning the cart, and watching the Insights → Real-Time Activity feed in Dotdigital. If no event appears, the pixel is broken.
Should I include a discount in my abandoned-cart emails?
Depends on margin and brand. High-margin and discount-comfortable brands include 10% in the third email; low-margin and luxury brands intentionally don’t, because the abandon recovery comes from urgency and product-pull rather than price. Test both. Dotdigital’s benchmark data suggests +1.5 to 3 percentage points of recovery rate when a discount is included on Step 3, but it can train customers to abandon on purpose for the discount, which depresses the headline conversion rate over 6 to 12 months.
What’s the right wait time before the first email?
Dotdigital’s default is 1 hour. The right answer for most B2C brands is 1 to 2 hours. Below 30 minutes you catch contacts who are still actively shopping and are about to convert anyway, so the email is wasted. Above 4 hours the impulse moment has passed. Test 1h vs 2h and pick the better recovery rate.
Can I exclude customers who recently purchased?
Yes, and you should. Add an exit condition: “Skip this programme if contact has placed an order in the last 7 days”. Without this, a customer who places an order, immediately starts a second cart, then abandons it (very common after browsing for the next purchase) will be hit with abandoned-cart copy at a moment when they’ve already converted today.
Why does the alert fire on Draft state? I’m building a new programme.
This is intentional. The card only treats one programme as the “live” abandoned-cart programme; if the brand is building a new version and the old one is paused while the new one is in draft, the brand has no abandoned-cart automation running at all. Confirm there’s an Active programme handling the trigger before muting this alert.
The programme fires fine for desktop carts but not mobile. Why?
The Insights pixel sometimes has a different namespace on mobile vs desktop themes (e.g. dmptv2 vs dmptv2_mobile). Check that the cart-abandon event fires from both. The Insights → Real-Time Activity feed will show the user-agent of each event; if all events are desktop user-agents, the mobile pixel is missing.
My account has 2 abandoned-cart programmes, one for first-time buyers and one for returning. Which does Vortex IQ track?
Vortex IQ identifies the primary programme by trigger type and template tag. If two programmes both match, the most recently activated is reported. To track both separately you need two card instances, raise this with the Vortex IQ team.