> ## 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.

# Total Revenue, TikTok Ads

> Total Revenue for TikTok Ads stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

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

## At a glance

> TikTok-attributed purchase value across every campaign in the selected ad account, summed over the period. The numerator of ROAS. **NOT order revenue from the commerce platform**, this is what TikTok says it drove, which differs from what Shopify or BigCommerce will count under TikTok-tagged orders. Caveat: post-iOS 14.5, expect TikTok-claimed revenue to over-state UTM-truth Shopify revenue by 30, 60% on iOS-heavy audiences without Events API.

|                              |                                                                                                                                                                                                                                                                                                         |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**           | `total_complete_payment_value` (formerly `purchase_value`) from the TikTok Ads Reporting API, advertiser-level. Includes Pixel-confirmed purchases, Events API server-side events, and TikTok's modeled-conversion fill.                                                                                |
| **Reporting API level**      | Advertiser-level. Per-campaign / per-adgroup / per-ad revenue rolls up to this card weighted by attributed conversions.                                                                                                                                                                                 |
| **Cost basis**               | N/A, this is the revenue side. (CPC, CPM, CPA appear in Total Spend and ROAS context.)                                                                                                                                                                                                                  |
| **Currency**                 | Account currency, single-currency per account.                                                                                                                                                                                                                                                          |
| **Conversion attribution**   | **7-day click + 1-day view** (post-iOS 14.5 default). **Configurable per ad account** to 1d, 7d, 14d, 28d for click and 1d, 7d for view.                                                                                                                                                                |
| **Attribution window**       | Default 7d/1d. Lengthening to 14d or 28d typically lifts revenue 5, 12% but TikTok has flagged longer windows as deprecating.                                                                                                                                                                           |
| **iOS 14.5+ ATT impact**     | **Material but smaller than Meta's gap.** TikTok skews younger and Android-heavier in US Gen-Z (typical iOS share 35, 45%, vs 55, 65% on Meta). Without Events API, expect TikTok-reported revenue to over-state UTM-truth by 30, 60% on iOS-heavy audiences. With Events API live, narrows to 10, 25%. |
| **Events API vs Pixel-only** | Pixel-only: ATT-blocked iOS purchases missing → revenue under-states (real higher); TikTok then auto-fills with modeled conversions → revenue over-states (modeled differs from real). Net: noisy. Events API live: tighter, less modeled fill, more reliable.                                          |
| **Modeled conversions**      | TikTok auto-fills attribution gaps. Modeled fill typically runs 12, 22% of `total_complete_payment_value` on Pixel-only DTC accounts; drops to 5, 12% post-Events-API. **You cannot opt out.**                                                                                                          |
| **View-through revenue**     | Included in the `total_complete_payment_value` field by default within the configured view window (typically 1 day). Pure click-only revenue is in a separate metric (`payment_value_in_click`).                                                                                                        |
| **Bot / invalid traffic**    | TikTok filters detected bot impressions and pre-billing fraud. Filtered traffic does not produce attributed revenue.                                                                                                                                                                                    |
| **Time window**              | `T/7D/30D vsP`. Today's value updates with 2, 6 hour ingest lag plus a small attribution tail (modeled-conversion fill takes 24, 72 hours to converge).                                                                                                                                                 |
| **Alert trigger**            | `drop >20% vsP`. A revenue drop of more than 20% versus the prior period fires the card.                                                                                                                                                                                                                |
| **Roles**                    | owner, marketing, finance                                                                                                                                                                                                                                                                               |

## Calculation

Calculated automatically from your TikTok Ads 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 Gen-Z streetwear brand on Shopify. 30-day window 02 Apr 26 to 01 May 26. Account currency GBP. Events API live since 22 Mar 26. iOS share 41%.

| Campaign                                  | Spend (£)   | TikTok-attributed revenue (£) | Per-campaign ROAS | Notes                            |
| ----------------------------------------- | ----------- | ----------------------------- | ----------------- | -------------------------------- |
| Conversions, cold prospect (CBO, In-Feed) | 11,200      | 38,400                        | 3.43x             | 8 creatives, fortnightly refresh |
| Conversions, retargeting 7d               | 2,400       | 18,200                        | 7.58x             | warm pool, smaller creative set  |
| Catalog Sales (DSA)                       | 4,800       | 22,600                        | 4.71x             | feed-driven, top-30 SKUs         |
| Spark Ads (creator boost)                 | 1,800       | 4,800                         | 2.67x             | direct read, ignores brand-lift  |
| Account total (this card)                 | **£20,200** | **£84,000**                   | **4.16x**         |                                  |

Shopify total revenue for the same window: £162k. UTM-tagged TikTok-source revenue in Shopify: £43k. GA4 Paid Social TikTok-attributed revenue: £52k.

1. **The headline £84k is honest by TikTok's measurement, but the business-truth TikTok-driven revenue is closer to £45, 55k.** TikTok inflates by \~60, 90% versus UTM-truth Shopify. Events API narrowed this from a pre-rollout 90, 130% gap to today's 60, 90% gap; further closure depends on Pixel + Events API dedup quality and modeled-conversion behaviour.
2. **Retargeting at 7.58x ROAS is cookie-pool revenue you mostly would have captured anyway.** The retargeting audience is people who already visited the site in the last 7 days; TikTok is taking last-click credit for buyers who would have come back via direct, email, or organic. The "true acquisition" ROAS is closer to the cold-prospect 3.43x.
3. **Modeled fill is running 14% of `total_complete_payment_value` this period.** Reasonable, indicates Events API is healthy (modeled fill dropped from \~26% pre-rollout). If you see modeled fill above 22% on an Events-API-live account, dedup is broken; check `event_id` matching and event coverage.
4. **Spark Ads ROAS at 2.67x looks underwhelming** but the cost line here doesn't include the creator partnership fee (\~£600 for the 4 boosted posts). Real Spark cost is £2,400, real Spark ROAS is 2.0x on direct attribution. Spark is an awareness + UGC-rights play, not a direct-response winner.
5. **Revenue dropped 14% versus prior 30D.** Below the 20% trigger, but trending. Spend held flat, ROAS dropped 4.78 → 4.16. Creative fatigue signature, the cold-prospect pool has seen 5 of the 8 creatives 4+ times each. **Refresh the cold-prospect creative within 7 days** to avoid a >20% drop next window.

Quick sanity tests:

* Revenue up + spend up = healthy scaling, watch ROAS to confirm.
* Revenue flat + spend up = scaling beyond efficient frontier (creative-fatigue signature on TikTok).
* Revenue down + spend up = creative is exhausted, refresh now.
* Revenue down + spend flat = something changed in the funnel, check [Conversions Trend](/nerve-centre/kpi-cards/tiktok-ads/conversions-trend) and [Clicks vs Conversions](/nerve-centre/kpi-cards/tiktok-ads/clicks-vs-conversions).
* Revenue up + ROAS up = winning. Push budget if pacing allows.

## Sibling cards merchants should reference together

| Card                                                                                  | Why pair it with Total Revenue                                                                              | What the combination tells you                                                                                              |
| ------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| [Total Spend](/nerve-centre/kpi-cards/tiktok-ads/total-spend)                         | The denominator of ROAS.                                                                                    | Whether revenue moved on cost-side or revenue-side.                                                                         |
| [ROAS](/nerve-centre/kpi-cards/tiktok-ads/roas)                                       | The efficiency ratio.                                                                                       | Revenue up alone is healthy only if ROAS held.                                                                              |
| [Revenue by Campaign](/nerve-centre/kpi-cards/tiktok-ads/revenue-by-campaign)         | Per-campaign split.                                                                                         | Whether revenue is concentrated in one campaign (single-point-of-failure risk) or spread.                                   |
| [Conversions Trend](/nerve-centre/kpi-cards/tiktok-ads/conversions-trend)             | The volume side of revenue.                                                                                 | Revenue down + conversions down = real channel deterioration. Revenue down + conversions flat = AOV problem.                |
| [Conversion Lag](/nerve-centre/kpi-cards/tiktok-ads/conversion-lag)                   | TikTok's 7d/1d window means today's revenue is incomplete.                                                  | Use the lag card to gauge how much of "today's" revenue is still inbound.                                                   |
| [Wasted Spend](/nerve-centre/kpi-cards/tiktok-ads/wasted-spend)                       | Adsets that produced no revenue.                                                                            | If revenue is flat but spend is rising, wasted-spend share is climbing.                                                     |
| [GA4 Revenue by Channel](/nerve-centre/kpi-cards/google-analytics/revenue-by-channel) | Independent attribution check on TikTok's self-reported `total_complete_payment_value`.                     | TikTok typically reports 30, 60% higher than GA4. The ratio is a proxy for your iOS gap.                                    |
| [Shopify Total Revenue](/nerve-centre/kpi-cards/shopify/total-revenue)                | The truth side. UTM-tagged TikTok revenue in Shopify is the lower bound; TikTok's claim is the upper bound. | The "true" TikTok revenue sits between, weighted toward Shopify (typically 40 TikTok / 60 Shopify blend for the CFO read).  |
| [Meta Ads Total Revenue](/nerve-centre/kpi-cards/facebook-ads/total-revenue)          | Peer paid-social revenue.                                                                                   | Compare share-of-paid-social revenue. Brands skewing TikTok-heavy on revenue (not just spend) typically have a younger ICP. |

## Reconciling against the vendor's own dashboard

**Where to look in TikTok Ads Manager:**

[TikTok Ads Manager > Campaign > Total complete payment value column](https://ads.tiktok.com/i18n/dashboard). Set the date range to match this card's window. The footer total should reconcile to within sub-percent rounding.

Other Ads Manager columns that look similar but aren't:

* **Complete payment** (count, not value): the number of attributed purchases, not their revenue.
* **Total purchase value** (deprecated alias): in older accounts, may still surface. Same field, different label.
* **Conversion value (CPA-objective campaigns)**: lead-gen value, not revenue. Don't conflate.

**Why our number may legitimately differ from TikTok:**

| Reason                         | Direction            | Why                                                                                                                                                                                               |
| ------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Time zone**                  | Boundary days off    | TikTok uses ad-account TZ (immutable). This card uses UTC. For 30D windows the gap averages out; for "today" or "yesterday" it can shift the number meaningfully on US Pacific accounts.          |
| **Attribution window changes** | Direction depends    | If your account changed from 7d/1d to 14d/1d mid-window, TikTok retroactively reflows the data; this card matches whatever you've configured. **A 7d→14d switch typically lifts revenue 5, 12%.** |
| **Modeled conversions**        | Both inflate equally | TikTok blends modeled into `total_complete_payment_value`; this card reads the same blended field.                                                                                                |
| **Ingest lag**                 | Lower for "today"    | 2, 6 hour ingest lag, plus 24, 72h modeled-conversion convergence. Today's value reads low until catchup.                                                                                         |
| **Currency**                   | None expected        | Both UI and card use the ad-account base currency. Multi-currency advertisers operate per-account.                                                                                                |

**Cross-connector reconciliation:**

The revenue reading is *TikTok's view of TikTok-driven performance*. The same purchase will be claimed differently by every platform with a tag in the path.

| Card                                                                                                    | Expected relationship                                   | What causes legitimate divergence                                                                                                                  |
| ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`google_analytics.ga_revenue_by_channel`](/nerve-centre/kpi-cards/google-analytics/revenue-by-channel) | GA4 Paid Social TikTok revenue ÷ this card ≈ 0.6, 0.85  | TikTok uses last-click within 7d/1d; GA4 uses last-non-direct click. **TikTok inflates by 30, 60% versus GA4** structurally on iOS-heavy accounts. |
| [`shopify.total_revenue` filtered to TikTok UTM](/nerve-centre/kpi-cards/shopify/total-revenue)         | This card claims 1.4, 2.0x the UTM-truth Shopify number | Pixel + Events API + modeling all credit conversions Shopify cannot UTM-attribute back. Use a 40/60 TikTok / Shopify blend for the CFO read.       |
| [`facebook_ads.fac_total_revenue`](/nerve-centre/kpi-cards/facebook-ads/total-revenue)                  | Independent paid social revenue                         | No overlap. Compare share-of-paid-social revenue, not absolute.                                                                                    |
| [`google_ads.gads_roas`](/nerve-centre/kpi-cards/google-ads/roas)                                       | Independent paid channel                                | Different ecosystem.                                                                                                                               |

***

<details>
  <summary><em>Documentation cross-reference (Events API rollout impact on this card)</em></summary>

  A clean Events API rollout typically lifts TikTok-reported revenue by **10, 25%** in the 7, 14 days after implementation, as TikTok backfills previously-missed iOS conversions. This is real measurement, not inflation. Annotate the Change History below when Events API goes live so future revenue-trend reads can account for the step-change. After Events API is stable, modeled-conversion fill should drop from \~22% to \~10% of `total_complete_payment_value`.
</details>

## Known limitations / merchant FAQs

**Why does TikTok claim £84k of revenue but Shopify only shows £43k from TikTok-tagged orders?**
Same question as Meta vs Shopify: three layers stack.

1. **Different denominator definitions.** TikTok's revenue uses `total_complete_payment_value` = TikTok-claimed revenue including modeled conversions and 7d-click + 1d-view attribution. Shopify's "TikTok-source revenue" uses UTM-tagged orders only. They measure different sets of orders.
2. **iOS 14.5 ATT.** Even on the same orders, TikTok has Pixel + Events API + modeling; Shopify has only what's tagged with the right UTM. iOS users without ATT consent often strip UTMs at link-click; Shopify counts those orders as Direct, TikTok still claims them.
3. **Last-click vs UTM-truth.** TikTok credits any purchase that touched a TikTok click within 7 days. Shopify only credits orders where the customer arrived via a UTM-tagged TikTok link as their last referrer.

**Practical answer**: real TikTok-driven revenue is between the two. Use a 40/60 TikTok / Shopify blend for the CFO read. **Don't quote £84k.** Don't quote £43k either. Use £55, 65k as the directional read.

**Why is TikTok's iOS gap smaller than Meta's?**
TikTok's audience skews younger and more Android-heavy in US markets (Gen-Z is more cost-sensitive on devices, Android share is higher than the iOS-heavy older millennial demographic Meta dominates). Typical iOS share on a US TikTok account is 35, 45%, vs 55, 65% on Meta. Lower iOS share means a smaller pool affected by ATT, which means a smaller attribution gap. **Don't apply Meta heuristics to TikTok**, the structural gap is materially different.

**What's the practical Events API rollout playbook?**

1. **Shopify**: TikTok official Sales Channel app > enable Events API > "Maximum" data sharing. 30, 60 minute setup. Auto-deduplicates Pixel + Events via `event_id`. Easiest path.
2. **BigCommerce**: TikTok Pixel app + manual Events API via Tag Manager + custom event\_id. 2, 4 hours.
3. **Adobe Commerce / Magento**: TikTok extension + custom server endpoint. 1, 3 days.
4. **Custom / headless**: Build a server-side proxy mirroring Pixel events. 1, 2 weeks.
5. **In all cases**: deduplicate via `event_id` (unique per purchase) and matching event timestamps. Test in TikTok Events Manager > Test Events. Allow 7, 14 days for retraining before judging the revenue lift.

**How do I interpret modeled conversions on TikTok?**
TikTok auto-fills attribution gaps with statistically-modeled values. Invisible (rolled into `total_complete_payment_value`), typically 12, 22% of total revenue for Pixel-only DTC accounts. Patterns:

* **Pre-Events-API**: modeled fill \~20, 30%. Inflated.
* **Post-Events-API clean**: modeled fill \~5, 12%. Healthy.
* **Post-Events-API still high (>20%)**: implementation gaps. Audit `event_id` deduplication and event coverage.

**Why is today's revenue lower than yesterday's?**
Three reasons:

1. **Ingest lag** (2, 6 hours typical on TikTok, slower than Meta or Google).
2. **Modeled-conversion convergence** (24, 72h after the conversion event).
3. **Attribution tail** (a click that happens today can credit revenue up to 7 days later).

**The 7-day rolling average is the most actionable read on TikTok.** Don't restructure campaigns based on a single day's revenue.

**Why does TikTok revenue swing so much week-to-week?**
TikTok creative fatigues fast (2, 3 weeks per ad), and the algorithm responds aggressively to creative quality. A single creative going viral can lift revenue 40, 80% in a week; that creative dying drops it back. Use 7-day rolling, expect higher weekly variance than Meta or Google.

**Spark Ads revenue, is it counted here?**
Yes if the boost spend ran through Ads Manager. Spark Ads use the same auction billing, the same Pixel / Events API plumbing, and the same `total_complete_payment_value` field. The card includes Spark Ads revenue alongside In-Feed automatically. **What it doesn't include**: organic revenue from the creator's own audience that didn't click the boosted ad. That organic spillover is a separate measurement question (use UTM tags or attributed-link tracking).

**Hashtag Challenge revenue, how is it counted?**
BHC support spend (running auction-bought reach support) shows revenue if Pixel / Events API fired on a click. Most BHC value, however, is awareness-tier and shows up later as branded search lift on Google or organic site traffic, not as direct attributed revenue here. **Don't expect BHC ROAS to read accurately on direct attribution.**

**Should I trust TikTok more than Meta on revenue?**
Slightly. TikTok's iOS share is structurally lower, modeled fill is similar to Meta's, and the attribution window is the same default (7d/1d). The structural over-claim is smaller. But the *volatility* is higher (creative fatigue is faster, algorithm is more reactive). Use the same 40/60 platform / Shopify blend on both; just expect TikTok's number to be slightly closer to truth than Meta's on a like-for-like basis.

**Can I use TikTok's revenue number for tax / accounting?**
No. Use Shopify (or your commerce platform) revenue, never the platform-attributed claim. TikTok's revenue is a *measurement* of TikTok-driven business; the commerce platform is the source of truth for what was actually paid. This card is for marketing performance reads, not finance reconciliation.

***

### Tracked live in Vortex IQ Nerve Centre

*Total Revenue* is one of hundreds of KPI pulses Vortex IQ tracks across TikTok Ads 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.
