Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
How much OpenCart revenue a connected email platform can claim versus your total. The honest read on what email is actually driving, and how much sits unattributed.

At a glance

A cross-connector view that joins your OpenCart orders and revenue with a connected email platform’s attributed revenue. It shows how much of total revenue email can claim, and, just as usefully, how much is unattributed. A healthy email programme attributes a meaningful share; a large unattributed slice despite active sending usually means tracking is broken, not that email is failing. OpenCart has no native email attribution, so this card only populates when an email connector (for example Klaviyo or Dotdigital) is linked, and revenue is matched on order.
What it countsOpenCart total revenue over the window split into email-attributed revenue (claimed by the connected email platform) and unattributed revenue (everything else).
VAT / tax treatmentInherits OpenCart’s stored order total, which is tax-inclusive by default. The email platform’s attribution typically uses the same order value.
ShippingIncluded, the order total used for attribution carries shipping by default, matching Total Revenue (30d).
RefundsNot deducted from the OpenCart total; the email platform may or may not net refunds depending on its own configuration, a common source of small divergence.
CurrencyRevenue is read from oc_order in the order’s stored currency; multi-currency stores mix currencies without FX. Treat the split as directional for international stores.
Channels / sourcesOpenCart orders and revenue joined with a separately connected email platform’s attribution. OpenCart has no native email attribution.
Why this mattersIt tells you what email is genuinely worth, and flags when tracking has broken (high unattributed despite active sending) so you do not under-credit a working channel or over-trust a broken one.
Time window30D (rolling 30 days)
Alert trigger>30% unattributed despite active email
Rolesowner, marketing, finance

Calculation

Calculated automatically from your OpenCart data joined with the connected channel. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A Spanish homeware brand on OpenCart 4.x with Klaviyo connected and sending weekly campaigns plus automated flows. The 30-day window covers 14 Mar 26 to 12 Apr 26.
SourceRevenueShare of total
Email-attributed (Klaviyo, campaigns + flows)EUR 38,40024%
Direct / organic / otherEUR 96,20060%
Unattributed (no matched source)EUR 25,60016%
Total revenue (this card)EUR 160,200100%
What’s interesting here:
  1. Email is claiming 24% of revenue, and the card is healthy. Unattributed sits at 16%, comfortably below the >30% unattributed despite active email alert. For a store sending weekly plus flows, a 24% email share is a solid, believable contribution. The card stays green.
  2. The unattributed slice is the real signal, not the email share. If unattributed climbed past 30% while Klaviyo was still sending, that would point to broken tracking, click parameters stripped, the integration mis-wired, or order events not firing, rather than email suddenly failing. The alert is built around that failure mode, not around the email percentage itself.
  3. Flows usually out-earn campaigns inside that 24%. Automated flows (welcome, abandoned cart, post-purchase) typically punch above broadcast campaigns per send. The detail view splits the attributed revenue so you can see whether your EUR 38,400 is coming from flows you set up once or campaigns you grind out weekly.
  4. OpenCart cannot produce this number alone. OpenCart knows the EUR 160,200 total (from oc_order), but it has no idea which orders email drove. The attribution half comes entirely from Klaviyo. Disconnect Klaviyo and this card collapses to “100% unattributed”, which is the absence of data, not a real result.
  5. Refund treatment can nudge the split. OpenCart does not deduct refunds from the stored total, but Klaviyo may net them from attributed revenue depending on its setup. That asymmetry explains small gaps between the two halves and is worth knowing before you reconcile to the cent.
Action priority order:
  1. If unattributed is above 30% with active sending, fix tracking first. Verify the email platform’s click parameters survive to checkout and that order events are firing. Do not conclude email is weak until tracking is proven sound.
  2. Split attributed revenue into flows vs campaigns and double down on whichever earns more per send, usually flows.
  3. Reconcile refund treatment between OpenCart and the email platform so finance is comparing like for like.
  4. Watch the share over time, not the single reading. A steadily falling email share with stable sending is a deliverability or list-health problem worth chasing.

Sibling cards merchants should reference together

CardWhy pair it with Orders to Email Attribution
Total Revenue (30d)The denominator. This card splits that total into attributed and unattributed.
Newsletter Opt-In RateReachability upstream. A bigger opted-in base feeds bigger email-attributed revenue.
New Customers (30d)New opted-in customers are the input to email-driven revenue.
High-Value Customers Unengaged on EmailIf your best customers disengage, attributed revenue from them leaks first.
Repeat Customer RateEmail mostly drives repeat purchases; the two move together.
Average Order ValueEmail-driven orders often carry a different basket profile; compare AOV by source.

Reconciling against OpenCart

Where to look in OpenCart admin: OpenCart gives you the total but not the attribution. Reports → Sales → Orders is the revenue denominator for the window. OpenCart’s own Marketing → Marketing section can track basic campaign codes if you tag links manually, but it has no per-order email attribution comparable to a dedicated email platform. The underlying data is the order total and date columns on oc_order; the email-attributed half lives entirely in the connected email platform. Other OpenCart views that look relevant but cannot answer this:
  • Marketing → Marketing tracking codes: count clicks on tagged links, not attributed order revenue, and only if you tagged the links yourself.
  • Reports → Sales → Orders: gives total revenue with no source breakdown.
  • The Dashboard sales chart: revenue over time, no channel attribution.
Why our number may legitimately differ from a manual cross-check:
ReasonDirection of divergence
Attribution model. Email platforms use a click-to-conversion window (often 5 days for clicks, 1 day for opens); a different window in your manual check reclassifies revenue.Either direction
Refund treatment. OpenCart does not deduct refunds from the stored total; the email platform may net them from attributed revenue.Email half can read lower
Currency. Multi-currency totals are summed without FX here; a converted figure in the email platform will differ.Material for international stores
Last-click vs multi-touch. The email platform usually credits last-click email; revenue email influenced but did not close is unattributed here.Email half understates true influence
Sync lag. Recent orders or attribution events appear on the next sync.Self-resolves at next sync
Cross-connector reconciliation (OpenCart revenue joined with a connected email platform):
CardExpected relationshipWhat causes legitimate divergence
klaviyo.attributed_revenueShould match the email-attributed half of this card.Attribution window and refund netting differ between Klaviyo and OpenCart’s stored totals.
dotdigital.campaign_revenueShould match the email-attributed half when Dotdigital is the connected platform.Dotdigital may attribute on a different model or window.
Total Revenue (30d)Attributed + unattributed equals this card’s denominator.The two should reconcile to the cent within timezone and refund treatment.

Known limitations / merchant FAQs

Why does the card label say “to” email attribution? It is read as “Orders to Email Attribution”, the mapping of orders to the email channel that can claim them. The card answers “of all my orders, how much can email attribution account for”, which is why both the attributed and unattributed halves matter. Why is this card empty or showing 100% unattributed? Because no email platform is connected. OpenCart has no native email attribution, so without a linked connector (Klaviyo, Dotdigital) there is nothing to attribute revenue to, and everything reads as unattributed. My unattributed share is high but my email is clearly working, why? Almost always broken tracking, not weak email. Click parameters stripped before checkout, order events not firing, or a mis-wired integration all inflate unattributed revenue. The alert exists precisely to catch this failure mode; fix tracking before judging the channel. Does this match my email platform’s revenue figure exactly? Usually close, not identical. Attribution windows, refund netting, and currency conversion differ between OpenCart’s stored totals and the email platform’s model. Reconcile those three before expecting a to-the-cent match. Does email attribution include shipping and tax? It uses the OpenCart order total, which is tax-inclusive and shipping-inclusive by default, the same basis as Total Revenue (30d). If your email platform attributes on a different value, expect a small gap. Is this last-click or multi-touch attribution? Email platforms typically credit last-click email within a conversion window. Revenue that email influenced earlier but did not close is unattributed here, so this card tends to understate email’s full influence rather than overstate it. Why a 30-day window? It matches the revenue cards and is long enough to capture both campaign and flow-driven conversions, including the tail of click-to-conversion windows. A shorter window would clip flow revenue that lands days after a send.

Tracked live in Vortex IQ Nerve Centre

Orders to Email Attribution is one of hundreds of KPI pulses Vortex IQ tracks across OpenCart 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 or book a demo to see this metric running on your own data.