> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Programme vs Campaign Revenue Mix, Dotdigital

> Healthy mid-market accounts run >40% of email revenue through programmes. Below = under-automated. How to read it, why it matters, and how to act on it.

**Metrics type:** [Key Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Email Marketing](/nerve-centre/connectors#connectors-by-type)

> Healthy mid-market accounts run >40% of email revenue through programmes. Below = under-automated.

## At a glance

> Splits Dotdigital-attributed revenue into two buckets: **Programmes** (Dotdigital's term for behaviourally-triggered automations, equivalent to Klaviyo "flows") and **Campaigns** (one-off broadcasts to a list or segment). The mix is the single most diagnostic Dotdigital health number after revenue itself. **Healthy mid-market UK and EU B2C accounts run above 40% of email revenue through programmes**; below 40% means the account is under-automated and is leaving easy revenue on the table.

|                                      |                                                                                                                                                                                                                                                                                          |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**                   | `programmeRevenue / (programmeRevenue + campaignRevenue)` summed across the period. Sources: `/v2/programmes/{id}/summary` and `/v2/campaigns/{id}/summary` aggregated.                                                                                                                  |
| **Why programmes win on efficiency** | Programmes are triggered by behaviour (cart abandonment, browse abandonment, post-purchase, replenishment, win-back). Each entry is an audience of one with high purchase intent at a precise moment. Per-recipient revenue is typically 6 to 8x higher than a campaign send.            |
| **Why campaigns still matter**       | Programmes only fire when a contact takes a specific action; campaigns reach the entire active list. For broad-reach moments (BFCM, Boxing Day, new-collection launches, sale events) campaigns are the only tool. The right balance is "programmes always-on, campaigns for tentpoles". |
| **What "above 40%" means**           | The brand has working Welcome, Abandoned-Cart, and Post-Purchase programmes at minimum, plus probably a Browse-Abandon and a Win-Back. Mature accounts hit 50 to 65%. **Above 70% usually means campaigns are under-leveraged**, not that programmes are too good.                       |
| **What "below 40%" means**           | Either programmes are not built (most common in newly-onboarded accounts, the Dotdigital implementation team typically builds 2 to 4 in the first 90 days), or programmes exist but are paused/erroring, see [Active Programs](/nerve-centre/kpi-cards/dotdigital/active-programmes).    |
| **Vs Klaviyo benchmark**             | Klaviyo brands typically run 35 to 55% flow share at maturity. Dotdigital programmes hit a similar band but the lever to get there is heavier engineering (Dotdigital programmes use the EasyEditor visual builder; Klaviyo flows have a richer trigger library out of the box).         |
| **Attribution model**                | Both programmes and campaigns share the 7-day click + 1-day view default attribution window. The split between them is at the *send* level (was the contact added to a programme, or did they receive a campaign blast?), not the attribution level.                                     |
| **Time window**                      | `90D` (default 90D for stable mix view, programmes are slower to accumulate revenue than campaigns)                                                                                                                                                                                      |
| **Alert trigger**                    | `programme share <40%`                                                                                                                                                                                                                                                                   |
| **Roles**                            | owner, marketing, finance                                                                                                                                                                                                                                                                |

## 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 gifting brand running on BigCommerce with Dotdigital. List size 312,000. The 90-day window covers 02 Feb 26 to 02 May 26 (which spans Mother's Day on 14 Mar 26 and Easter on 05 Apr 26, both major calendar moments).

| Source bucket                      | Sends   | Recipients     | Revenue      | Per-recipient revenue |
| ---------------------------------- | ------- | -------------- | ------------ | --------------------- |
| **Campaigns total** (8 broadcasts) | 8       | 2,360,000      | £346,000     | £0.15                 |
| Mother's Day (3 sends)             | 3       | 894,000        | £198,000     | £0.22                 |
| Easter early-bird                  | 1       | 298,000        | £42,000      | £0.14                 |
| Spring catalogue                   | 2       | 596,000        | £58,000      | £0.10                 |
| Brand stories newsletter (×2)      | 2       | 572,000        | £48,000      | £0.08                 |
| **Programmes total** (6 active)    | rolling | 67,200 entries | £284,000     | £4.23                 |
| Welcome (5-step)                   | rolling | 18,400 entries | £39,000      | £2.12                 |
| Abandoned-cart (3-step)            | rolling | 22,800 entries | £148,000     | £6.49                 |
| Browse abandonment                 | rolling | 14,200 entries | £18,000      | £1.27                 |
| Post-purchase replenishment        | rolling | 7,400 entries  | £52,000      | £7.03                 |
| Win-back (90D inactive)            | rolling | 3,200 entries  | £24,000      | £7.50                 |
| Birthday programme                 | rolling | 1,200 entries  | £3,000       | £2.50                 |
| **Total Dotdigital revenue**       |         |                | **£630,000** |                       |
| **Programme share**                |         |                | **45.1%**    |                       |

What's interesting:

1. **45.1% programme share is healthy**, just above the 40% threshold. The brand has the full lifecycle programme stack and revenue is balanced between always-on and tentpole moments.
2. **Per-recipient revenue is 28x higher on programmes** (£4.23 vs £0.15). This is the structural advantage of behavioural triggers, the right message at the right moment to a small audience beats a broad blast every time.
3. **The Mother's Day campaign was disproportionately effective** at £0.22 per recipient. UK gifting brands earn most of their annual revenue from 4 calendar moments (Valentine's, Mother's Day, Father's Day, Christmas); the campaign-revenue line is dominated by these.
4. **The Welcome programme is under-performing** at £2.12 per entry. Compare against the 5 to 10 GBP per entry benchmark for healthy Welcome flows. The brand should review the welcome content (probably too brand-heavy, not enough product or discount). Open [Welcome Programme Status](/nerve-centre/kpi-cards/dotdigital/welcome-programme-status) for the diagnosis.
5. **Browse-abandon programme is the weakest** at £1.27 per entry. This is normal-low; browse-abandon audiences have lower intent than cart-abandon. The brand could improve by adding a 2nd-step delay of 24h with a "limited stock" hook, but the structural ceiling is much lower than cart-recovery.

If this brand removed all programmes for 90 days, total Dotdigital revenue would drop from £630,000 to roughly £346,000, a 45% loss. **That is the value of "always-on" automation**, the campaigns alone aren't enough.

## Sibling cards merchants should reference together

| Card                                                                                                       | Why pair it with Programme vs Campaign Revenue Mix                                                                                  |
| ---------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| [Dotdigital Email-Attributed Revenue](/nerve-centre/kpi-cards/dotdigital/email-attributed-revenue)         | The total this card splits. The mix is meaningless without the headline.                                                            |
| [Active Programmes](/nerve-centre/kpi-cards/dotdigital/active-programmes)                                  | The supply side. If only 2 programmes are running, programme share will struggle to clear 30%.                                      |
| [Welcome Programme Status](/nerve-centre/kpi-cards/dotdigital/welcome-programme-status)                    | The single highest-leverage programme. If it's broken or paused, programme share drops 5 to 8 percentage points.                    |
| [Abandoned-Cart Programme Status](/nerve-centre/kpi-cards/dotdigital/abandoned-cart-programme-status)      | Usually the largest programme by revenue. Pausing it drops programme share 10 to 15 percentage points.                              |
| [Programme Step Drop-Off](/nerve-centre/kpi-cards/dotdigital/programme-step-drop-off)                      | Diagnoses why a programme is under-performing. Pair with a low programme share to find the broken step.                             |
| [Top Campaigns by Revenue](/nerve-centre/kpi-cards/dotdigital/top-campaigns-by-revenue)                    | The campaign side of the split. Useful for confirming campaigns are pulling their weight too.                                       |
| [Klaviyo Flow Revenue Share](/nerve-centre/klaviyo/klv_flow_revenue_share)                                 | The Klaviyo equivalent. Mature brands hit similar 40 to 55% bands across both platforms.                                            |
| [Mailchimp Automation Revenue Share](/nerve-centre/kpi-cards/mailchimp/automation-vs-campaign-revenue-mix) | The Mailchimp equivalent. Mailchimp accounts typically run lower programme share (25 to 35%) because automation depth is shallower. |

## Reconciling against the vendor's own dashboard

**Where to look in Dotdigital:**

[r1-app.dotdigital.com → Insights → Performance Overview](https://r1-app.dotdigital.com/insights/performance-overview), then toggle the *Source* filter between Campaigns and Programmes. Sum the two for the denominator. Or use the *Custom Reports* builder to create a side-by-side view; Dotdigital does not ship this split as a default card.

For the per-programme drill-down: *Programmes → Reports → Programme Performance*. For per-campaign: *Campaigns → Reports → Campaign Performance*.

**Why our number may legitimately differ from Dotdigital's dashboard:**

| Reason                                                                                                                                                                                                                                                            | Direction of divergence                      |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------- |
| **Triggered campaigns**. Dotdigital allows "triggered campaigns" (single-send messages triggered by an API call, distinct from programmes). Vortex IQ classifies these as Programme revenue; Dotdigital's UI may class them as Campaigns depending on the report. | ±2 to 5 percentage points on programme share |
| **Time-zone**. The 90D window will differ by up to 24h at each boundary between UTC (Vortex IQ) and account locale (Dotdigital).                                                                                                                                  | ±0.5 percentage points at the boundary       |
| **Conversion-window setting**. Programmes accumulate revenue over the 7-day click window; campaigns peak quickly and fade. The split varies during the trailing 7 days of any window. Use the 90D window to absorb this.                                          | None on stable 90D readings                  |

**Cross-connector reconciliation:**

The programme/campaign split is a definitional pattern across email platforms. Each platform names it differently (Klaviyo: flows vs campaigns; Mailchimp: automations vs campaigns; Brevo: workflows vs campaigns) but the metric shape is the same.

| Card                                                                                                            | Expected relationship                        | What causes legitimate divergence                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`klaviyo.klv_flow_revenue_share`](/nerve-centre/klaviyo/klv_flow_revenue_share)                                | Same shape, similar healthy band (35 to 55%) | A brand running both (rare) typically sees Klaviyo flow share 5 to 10 percentage points higher because Klaviyo's flow library is richer out-of-the-box. |
| [`mailchimp.mc_automation_revenue_share`](/nerve-centre/kpi-cards/mailchimp/automation-vs-campaign-revenue-mix) | Same shape, lower healthy band (25 to 35%)   | Mailchimp automation depth is shallower; ecommerce automations (cart abandon, browse abandon) require manual setup with the Connected Site app.         |
| [`brevo_sendinblue.bs_workflow_revenue_share`](/nerve-centre/brevo_sendinblue/bs_workflow_revenue_share)        | Same shape                                   | Brevo also UK and EU shaped; expect comparable bands.                                                                                                   |

## Known limitations / merchant FAQs

**My programme share is 22%. Where do I start?**
Build the Welcome programme first if it doesn't exist; it's the highest-leverage programme for new accounts. Second, the Abandoned-Cart programme. Third, the Post-Purchase replenishment or thank-you flow. These three together typically lift programme share from 20% to 40% within 60 days of being live, because they capture revenue from contacts who would otherwise have only received campaign blasts. Dotdigital's implementation team can build these in EasyEditor in 2 to 3 working days; ask the account manager for a "lifecycle programme review".

**My programme share is 70%. Is that bad?**
Probably yes. 70%+ usually means campaigns are under-leveraged, not that programmes are over-performing. Healthy mature accounts run 50 to 60%. Above 70% the brand is either: (a) afraid to send campaigns because of past deliverability issues, (b) understaffed on email content production so they're relying entirely on automations, or (c) a low-frequency luxury brand where campaigns are intentionally rare. The fix is to add 1 or 2 well-targeted campaigns per month and watch the mix re-balance.

**What counts as a "programme" vs a "campaign" in Dotdigital's data model?**
A programme is a multi-step automation built in the EasyEditor visual builder, triggered by a contact-property change, an event from the Insights pixel, or an API call. A campaign is a one-off send to a list or segment, optionally scheduled. The API endpoints are different (`/v2/programmes` vs `/v2/campaigns`), and Dotdigital treats them as distinct entities throughout. **Triggered campaigns** (single-send programmes that fire once per trigger, like a password reset) are a grey area; Vortex IQ classes them as programme revenue.

**My Welcome programme is set up but only has 1 step. Should I expand it?**
Almost certainly yes. Single-step Welcomes capture roughly 60% of the revenue a 4 to 5 step Welcome would capture; the rest comes from the second and third sends as the contact gets re-exposed and remembers they signed up. The Dotdigital recommendation is 4 steps over 7 days: T+0 (immediate brand introduction + discount), T+2d (best sellers or new arrivals), T+5d (social proof + community), T+7d (urgency or expiring discount).

**Why is the 90D window the default? Why not 30D?**
Programmes accumulate revenue slowly. A welcome flow signed up today has up to 7 days of programme exposure plus a further 7 days of click-window for revenue attribution. The 30D window can under-state programme revenue if the start of the window is during a low-acquisition period; 90D smooths this. Use 30D for campaign-only views, 90D for the mix.

**My Easter campaign sent £58,000 in revenue but the Easter programme only fired 200 times. Is the programme working?**
Yes, this is the structural pattern. Programmes target audiences of one with high intent; campaigns blast wide with lower intent. A 200-trigger programme generating, say, £4,000 is healthy at £20 per trigger; a 250,000-recipient campaign generating £58,000 is healthy at £0.23 per recipient. **Don't compare totals**, compare per-recipient or per-trigger efficiency.

**I'm migrating from Mailchimp. Will my programme share increase?**
Probably yes, by 10 to 20 percentage points within the first 90 days, but the credit goes to *building proper programmes during migration*, not to the platform itself. Mailchimp users typically migrate with 1 or 2 basic automations; a Dotdigital onboarding includes 4 to 6 programmes built by the implementation team. The platform difference is real but the building-during-migration effect is bigger.

**Can I see programme share by individual programme?**
This card shows the aggregate split. For per-programme contribution use [Top Programmes by Revenue](/nerve-centre/kpi-cards/dotdigital/automation-programmes) (when available) or pull the programme-level summary from Dotdigital's *Programmes → Reports* view directly.

**My programme share dropped 8 percentage points in the last 30 days, but no programme was paused. What changed?**
Almost always a campaign-volume increase, not a programme problem. Check [Campaign Sends Trend](/nerve-centre/kpi-cards/dotdigital/email-sends-over-time): if campaign sends jumped (e.g. a tentpole moment), the denominator grew while programme revenue stayed flat, so the share dropped. This is healthy unless the tentpole campaign cannibalised programme conversions, which can happen when a Black-Friday campaign reaches contacts who would otherwise have triggered the abandoned-cart programme later.

***

### Tracked live in Vortex IQ Nerve Centre

*Programme vs Campaign Revenue Mix* is one of hundreds of KPI pulses Vortex IQ tracks across Dotdigital and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
