Why is my TikTok ROAS dropping (and why campaigns aren't the problem)

Omar Al Shoubaki
Omar Al Shoubaki
May 11, 2026
•
6 min read
Why is my TikTok ROAS dropping (and why campaigns aren't the problem)

I got off a call last week with a brand spending meaningfully on TikTok. Good creative team. Experienced buyer. ROAS had been sliding for six weeks. They'd refreshed creative three times, adjusted audiences twice, and pulled back budget to try to stabilize things.

None of it worked.

When we looked at their TikTok Events Manager, the gap between reported purchases and actual backend orders was close to 35%. TikTok had been optimizing on roughly two thirds of their real purchase data the entire time. The creative wasn't the problem. The data feeding the algorithm was.

This is the conversation I have more often than any other right now.

TikTok optimizes on what it receives, not what actually happened

TikTok's algorithm works the same way Meta's does. It learns from the conversion signals it receives, builds a model of your buyers, and finds more people who behave like them. The more complete those signals, the more accurate the model.

when 30 to 40% of your purchases never reach TikTok because of browser restrictions, iOS opt-outs, or pixel failures, the algorithm builds its buyer model from a distorted sample. It scales audiences that look like partial converters. It bids on signals that don't represent actual purchase intent.

The dashboard shows declining ROAS. The real cause never appears in the campaign view.

How to know if you have a signal problem before changing anything

Compare TikTok-reported purchases to your backend

Pull TikTok-reported purchase events for the past seven days from Events Manager. Then pull actual orders from Shopify, Salla, or your CRM for the same period.

A 10% gap is within normal range. A 25 to 40% gap means TikTok is learning from a severely incomplete picture. That gap costs you real money every day it goes unaddressed, and no creative refresh fixes it.

Check your match rate

Match rate tells you what percentage of events TikTok can connect to a specific user profile. Below 50% means significant matching failures. Events are arriving but TikTok can't use them for optimization. Above 70% indicates healthy signal quality.

Most default pixel-only setups sit well below 50%. Strong server-side implementations consistently reach 70 to 90%.

Look for the pattern, not just the number

Certain combinations point to signal failure rather than campaign failure. Consistent spend with declining ROAS and no audience or creative changes. Backend revenue higher than what TikTok reports. CPA rising without any account changes. When you see these together, audit the tracking before touching the campaign.

Why TikTok ROAS drops when the dashboard looks fine

iOS and browser restrictions block conversion data silently

Apple's App Tracking Transparency, Safari's Intelligent Tracking Prevention, and third-party cookie restrictions all prevent the TikTok pixel from capturing complete purchase journeys. Many conversions happen on devices or browsers that block client-side tracking entirely.

There's no error message. No warning in Events Manager. The pixel just doesn't fire, or fires without the identifiers TikTok needs to match the event to a user.

The Events API can fail silently even when the pixel fires

This is the failure mode most teams miss. The pixel appears healthy in the dashboard. But the server-side Events API is misconfigured: missing required fields, sending unhashed data, or using incorrect event formatting. TikTok rejects the events or accepts them without being able to match them.

No alarm. No notification. Just conversions that disappear from the optimization layer.

TikTok keeps spending regardless

This is the business consequence that matters most. TikTok doesn't pause when signals degrade. It doesn't flag the problem. It keeps spending your budget and keeps making optimization decisions based on whatever data it has.

Incomplete data teaches the algorithm to find the wrong customers. The cost of that misdirection scales directly with your spend.

→ In ad platform AI, everything is a signal in 2026

What TikTok actually needs to optimize well

Real purchase values in real time

TikTok's value-based optimization requires actual order totals at the moment of purchase. Delayed data, placeholder values, or missing currency codes break the algorithm's ability to differentiate between a $50 order and a $500 order. Every conversion looks the same to TikTok when values are missing.

Complete event coverage across the funnel

TikTok learns from the full customer journey, not just the final purchase. ViewContent, AddToCart, InitiateCheckout, and Purchase each teach the algorithm something about buyer behavior. Gaps in this sequence limit what it can learn before someone converts.

Deduplicated signals

If you send conversions from both the pixel and Events API without a shared event ID, TikTok counts them twice. Event deduplication prevents inflated conversion counts that distort bid optimization. TikTok thinks performance is better than it is, then makes spending decisions based on that inflated picture.

Fix the signal, then evaluate the campaign

Baytonia saw +80% ROAS on TikTok after restoring their conversion signal. Same campaigns. Same budgets. Same creative. The only change was what TikTok could see.

When the signal is clean, TikTok finds buyers more accurately and allocates budget more efficiently. Campaign changes applied on top of broken tracking don't fix the root cause. They just add noise to a system that can't see correctly.

Audit the data first. Every time.

→ Server-to-server tracking explained

→ How ad signal infrastructure improves Meta, TikTok, Snap, and Google ROAS

FAQs

What is a good match rate for TikTok Events API?

Brands with properly configured server-side tracking consistently reach 70 to 90%. Higher match rates mean TikTok can attribute more conversions accurately, which improves optimization and reduces wasted spend.

How long does it take for TikTok ROAS to improve after fixing tracking?

Most brands see improvement within one to two weeks as TikTok exits the learning phase with better data. Full stabilization typically follows after 50 or more conversions on the corrected signal.

How does Ramadan affect TikTok ROAS in the GCC?

Ramadan concentrates purchase behavior into specific windows around Iftar and Suhoor. Brands need real-time signal delivery to capture those spikes accurately. Delayed or batched data misses the conversion window entirely, and the algorithm can't learn from what it doesn't receive.

Share this post
Articles
Omar Al Shoubaki
Omar AlShoubaki is a highly experienced Chief Revenue Officer with expertise in digital media, advertising, MarTech, and data technology products. He has an outstanding track record of building and managing digital startups that have worked with global brands like Emirates, Samsung, BMW, and MasterCard. When he's not working, Omar enjoys spending time with his family in Dubai, playing basketball, and exploring different international cuisines.

Related Articles

You might also find this useful

TikTok ads not optimizing: 7 reasons and how to fix them
Articles

TikTok ads not optimizing: 7 reasons and how to fix them

Omar Al Shoubaki
Omar Al Shoubaki
May 11, 2026
•
7 min read

Get started in minutes

Start activating your customer data with Journify.