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

# ROAS Dropped Below Threshold, TikTok Ads

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

**Card class:** [Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ad Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> The real-time alert that fires when a campaign's return on ad spend falls sharply against its own recent baseline. It compares current ROAS to the prior 7-day same-day-of-week window and pings when the drop is large enough on a campaign carrying real spend. This is the first number to check when the ad team's morning is about to go badly. On TikTok a genuine ROAS drop usually means creative fatigue (the For You feed has stopped rewarding the same video) rather than a bidding error, so it warrants a same-session look before the day's spend compounds. **Caveat**: a ROAS drop can be a measurement break (Pixel or Events API failing) rather than a demand drop, and TikTok's iOS attribution is brittle, so always confirm against Clicks vs Conversions before cutting spend.

|                          |                                                                                                                                                                                                                                                                                                          |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it watches**      | Campaign-level ROAS, derived from TikTok-attributed `total_complete_payment_value` divided by spend, pulled from the TikTok Ads Reporting API. The alert evaluates each campaign carrying meaningful spend, not just the account total.                                                                  |
| **The comparison basis** | Current ROAS vs the prior 7-day same-day-of-week window. Same-DOW comparison removes weekday-vs-weekend seasonality so a normal Monday-to-Sunday swing does not trip the alert.                                                                                                                          |
| **Alert trigger**        | ROAS drop greater than roughly 25% versus the prior 7-day same-DOW window, on any campaign with spend above a configured floor. The percentage and the spend floor are both tunable per profile in the Sensitivity tab.                                                                                  |
| **Why a spend floor**    | A campaign spending a few units a day can swing wildly on one or two orders, and TikTok's auto-bid CBO can starve a small ad group entirely for a day. The spend floor suppresses that noise so the alert only speaks when real money is at stake.                                                       |
| **Attribution model**    | Inherits the ad account's configured window, typically 7-day click + 1-day view post-iOS 14.5. A drop is measured on a like-for-like attribution basis across both windows.                                                                                                                              |
| **iOS 14.5+ ATT impact** | A sudden ROAS drop can reflect a tracking regression (Pixel or Events API events stopping) rather than a demand drop. TikTok skews younger and Android-heavier than Meta, so iOS noise is structurally lower, but it is not zero. Pair with Pixel/Events-API Tracking Broken to separate the two causes. |
| **Modeled conversions**  | TikTok auto-fills attribution gaps with modeled conversions. A modeling recalibration can move ROAS without any real change in demand. The rolling comparison smooths most of this, but a single-day spike is less trustworthy than the 7-day read.                                                      |
| **Chart type**           | Alert list. Each row names the campaign, its current ROAS, the prior-window ROAS, and the percentage drop.                                                                                                                                                                                               |
| **Currency**             | Account currency, set at advertiser-account creation and immutable. Single currency per ad account.                                                                                                                                                                                                      |
| **Time window**          | `RT` (real-time, recomputed on the standard refresh; TikTok Reporting ingest lags 2 to 6 hours, slower than Meta or Google).                                                                                                                                                                             |
| **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 US Gen-Z apparel brand running TikTok on a 7d/1d attribution window. The alert fires at 09:10 on 14 Mar 26. Account currency USD. Events API is live. All figures below are illustrative, not a real advertiser's data.

| Campaign                         | Spend last 24h (\$) | ROAS now | ROAS prior 7d same-DOW | Drop | Flagged                |
| -------------------------------- | ------------------- | -------- | ---------------------- | ---- | ---------------------- |
| Conversions (cold In-Feed)       | 1,820               | 2.10x    | 3.40x                  | -38% | Yes                    |
| Conversions (retargeting 7d)     | 640                 | 5.90x    | 6.20x                  | -5%  | No                     |
| Catalog Sales (TikTok Shop, DSA) | 410                 | 1.95x    | 2.05x                  | -5%  | No                     |
| Spark Ads (creator boost)        | 35                  | 0.80x    | 2.90x                  | -72% | No (below spend floor) |

1. **Only the cold In-Feed campaign trips the alert.** It carries the most spend and its ROAS fell 38% against the same weekday last week. That is a real money signal, not noise.
2. **The Spark Ads boost fell harder (-72%) but does not fire.** It is below the configured spend floor, so a one-order swing is expected. Raising or lowering that floor is a Sensitivity-tab decision based on how much daily spend counts as material for this account.
3. **The first diagnostic is measurement, not demand.** Before cutting the cold campaign's budget, check Clicks vs Conversions and Pixel/Events-API Tracking Broken. If clicks held steady while conversions dropped, the cause is likely a tracking break, and cutting spend would be the wrong move.
4. **If tracking is healthy, treat it as creative fatigue first.** A 38% drop on a cold In-Feed campaign is the classic TikTok signature, the same video has cycled through the For You feed and the audience has stopped reacting. TikTok creative fatigues in 2 to 3 weeks (vs 4 to 8 on Meta), so plan a refresh and check CTR Trend for the leading-indicator decline.
5. **Same-DOW comparison matters here.** Comparing Saturday to the prior Friday would show a false drop on a B2C account where weekends convert differently. The same-DOW basis removes that artefact.

Quick reads:

* ROAS drop + clicks steady + conversions down = suspect tracking first. Check Pixel/Events-API Tracking Broken.
* ROAS drop + CTR already declining for 1 to 2 weeks = creative fatigue. Refresh the video, do not just raise the bid.
* ROAS drop + spend up sharply = CBO has scaled a winner into less efficient inventory. Cap the daily budget.
* ROAS drop on a Reach or BHC line item = not a real signal. Awareness objectives are not billed on conversions; do not read ROAS on them.

## Sibling cards merchants should reference together

| Card                                                                                                   | Why pair it with ROAS Dropped Below Threshold                        | What the combination tells you                                                          |
| ------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------- | --------------------------------------------------------------------------------------- |
| [ROAS](/nerve-centre/kpi-cards/tiktok-ads/roas)                                                        | The headline level this alert watches.                               | Whether the drop is off a healthy base or a weak one.                                   |
| [ROAS Trend](/nerve-centre/kpi-cards/tiktok-ads/roas-trend)                                            | The daily series behind the alert.                                   | The shape of the decline: gradual fatigue vs a sudden cliff (tracking break).           |
| [Clicks vs Conversions](/nerve-centre/kpi-cards/tiktok-ads/clicks-vs-conversions)                      | The broken-tracking canary.                                          | If clicks held while conversions fell, the ROAS drop is measurement, not demand.        |
| [Pixel/Events-API Tracking Broken](/nerve-centre/kpi-cards/tiktok-ads/pixelevents-api-tracking-broken) | Confirms whether a tracking regression caused the drop.              | Stops you cutting spend on a measurement bug.                                           |
| [CTR Trend](/nerve-centre/kpi-cards/tiktok-ads/ctr-trend)                                              | CTR decline usually precedes ROAS decline by a week or so on TikTok. | Early-warning shape for creative fatigue.                                               |
| [ROAS by Campaign](/nerve-centre/kpi-cards/tiktok-ads/roas-by-campaign)                                | Where the drop concentrates.                                         | Isolates the offending campaign for action.                                             |
| [GA4 Revenue by Channel](/nerve-centre/kpi-cards/google-analytics/revenue-by-channel)                  | Independent attribution check.                                       | If GA4 Paid Social held steady while TikTok ROAS dropped, suspect TikTok-side tracking. |
| [Google Ads ROAS Drop Alert](/nerve-centre/kpi-cards/google-ads/roas-drop-alert)                       | The same alert on the paid-search channel.                           | Tells you whether the drop is TikTok-specific or a store-wide demand shift.             |

## Reconciling against TikTok Ads Manager

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

[TikTok Ads Manager > Campaign > Complete Payment ROAS column](https://ads.tiktok.com/i18n/dashboard), with the date range set to today and a comparison range set to the prior 7 days. TikTok does not surface a same-day-of-week alert natively, so you reconstruct the comparison manually. Match the attribution setting to this card's configured window and the per-campaign ROAS values should line up to within rounding.

Other Ads Manager views that look related but are not:

* **Automated Rules**: TikTok's own rule engine can pause campaigns on a ROAS threshold, but it acts rather than alerts, and it does not use a same-DOW baseline. This card is a detection layer, not an auto-action.
* **Account-level ROAS**: the headline number blends all campaigns and can stay flat while one campaign collapses. This card watches each campaign individually.

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

| Reason                               | Direction          | Why                                                                                                                                                                                                      |
| ------------------------------------ | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Time zone**                        | Boundary days off  | TikTok uses the ad-account time zone (set at account creation and immutable); this card uses UTC. On a same-day comparison the boundary can shift the percentage on US Pacific accounts.                 |
| **Same-DOW vs calendar**             | Different baseline | TikTok's built-in comparison is prior-period (yesterday or prior 7 days as a block); this card compares the same weekday to strip seasonality. The two baselines can disagree on whether a drop is real. |
| **Ingest lag**                       | Today reads low    | TikTok Reporting ingest lags 2 to 6 hours, so today's ROAS is incomplete; the alert weights the rolling read to avoid false fires on lag alone.                                                          |
| **Modeled-conversion recalibration** | Variable           | A TikTok modeling update can move ROAS without a demand change. The rolling window absorbs most of this.                                                                                                 |

**Cross-connector reconciliation:**

| Card                                                                                                    | Expected relationship                                                        | What causes legitimate divergence                                                                                            |
| ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [`google_analytics.ga_revenue_by_channel`](/nerve-centre/kpi-cards/google-analytics/revenue-by-channel) | If TikTok ROAS drops but GA4 Paid Social holds, suspect TikTok-side tracking | GA4 uses last-non-direct click; TikTok uses its own window. A divergence points at attribution, not demand.                  |
| [`shopify.total_revenue`](/nerve-centre/kpi-cards/shopify/total-revenue)                                | A store-wide revenue drop affects all channels                               | If Shopify revenue is flat while TikTok ROAS dropped, the issue is TikTok-specific (tracking or fatigue), not market demand. |
| [`google_ads.roas_drop_alert`](/nerve-centre/kpi-cards/google-ads/roas-drop-alert)                      | Both firing at once suggests a store-wide cause                              | Both quiet except TikTok points at a TikTok-only problem.                                                                    |

***

<details>
  <summary><em>Documentation cross-reference (tuning the threshold for this card)</em></summary>

  The default trigger of roughly 25% with a spend floor suits most steady-state DTC accounts. Lower the percentage for high-spend accounts where smaller swings carry large absolute losses. Raise the spend floor when many small test campaigns generate noise. On TikTok specifically, expect a transient ROAS dip in the days after a creative refresh while the new video relearns the auction; annotate the change history so the alert is read in context rather than treated as a regression.
</details>

## Known limitations / merchant FAQs

**Why did this alert fire when my account-level ROAS looks fine?**
The alert watches each campaign individually. One campaign can collapse while the blended account ROAS stays acceptable because other campaigns mask it. That is the point: catch the failing campaign before it drags the account down.

**Is a ROAS drop always a real problem?**
No. The two most common false signals on TikTok are a tracking regression and creative fatigue mid-relearn. If the Pixel or Events API stops firing, reported conversions fall and ROAS looks like it dropped, but demand is unchanged. Always check Clicks vs Conversions and Pixel/Events-API Tracking Broken before cutting spend. Cutting budget on a measurement bug is the classic mistake.

**Why use a same-day-of-week comparison instead of yesterday?**
Most stores convert differently on weekdays versus weekends. Comparing Saturday to Friday would show a false drop on accounts where weekends are softer or stronger. Comparing this Saturday to last Saturday removes that seasonality.

**Can I change the threshold and the spend floor?**
Yes, both are configurable per profile in the Sensitivity tab. Set the spend floor to the daily spend level you consider material, and set the drop percentage to match how tightly you want to be alerted.

**Should I trust a single day's reading?**
Less than the rolling read. Today's ROAS is built from incomplete data because Pixel and Events API events are still ingesting (TikTok lags 2 to 6 hours) and modeled conversions take time to converge. The alert weights the rolling comparison to reduce false fires, but if it triggers, confirm against the trend before acting.

**The alert fired right after I refreshed creative. Is that expected?**
Often, yes. A brand-new TikTok video re-enters the learning phase, and ROAS commonly dips for a few days while the algorithm finds the audience. Annotate the change so the team reads the alert as expected relearning pressure rather than a fault, and only intervene if the dip is deeper or longer than a normal relearn.

**Does this fire on Reach or Hashtag Challenge campaigns?**
It should not, and you should not read it there. Reach and Branded Hashtag Challenge support are awareness-tier, billed on impressions, not conversions, so they have no meaningful ROAS. The card is calibrated to conversion-objective campaigns; if an awareness line shows a ROAS figure at all, treat it as noise.

***

### Tracked live in Vortex IQ Nerve Centre

*ROAS Dropped Below Threshold* 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.
