Get your TikTok Ads tracking to 95%+ accuracy guaranteed in writing.
Pixel-only TikTok setups lose 30%+ of conversions on iOS. Worse, low identity match means TikTok can't enable Value-Based Optimization — leaving the most powerful bid strategy locked behind a data-quality wall. We rebuild your TikTok tracking server-side with full identity match (email, phone, IP, UA, ttp, ttclid), dedup discipline, and VBO eligibility verified live.
Free30 minutesNo obligation
TikTok Ads · what breaks
Why TikTok ROAS isn't where it should be
- 01
Pixel only, no Events API
iOS + ad blockers eat 30%+ of conversions.
- 02
Bad identity match
Without email, phone, IP, UA, ttp, ttclid, TikTok can't match. CPMs rise.
- 03
VBO not enabled
Most accounts haven't enabled Value-Based Optimization because data quality isn't high enough yet.
TikTok Ads · the fix
Outcomes — TikTok Ads
Server-side Events API
Full identity match, dedup-clean.
VBO eligibility
Signal quality high enough to flip to Value-Based Optimization.
Recovered iOS conversions
Reported conversions rise because blocked and expired events now arrive from the server.
TikTok Ads · events
The TikTok event set, and where each one comes from
TikTok's Events API mirrors the Pixel but deduplicates on event_id, and the platform is stricter than Meta about identity parameters. Getting ttclid captured at first touch matters more here than anywhere else.
| Event | Fires when | Key parameters | Sent from |
|---|---|---|---|
| ViewContent | Product page loads | content_id, content_type, value, currency, event_id | Browser + server, deduped |
| AddToCart | Item added to cart | content_id, quantity, value, currency, event_id | Browser + server, deduped |
| InitiateCheckout | Checkout begins | contents, value, currency, event_id | Browser + server, deduped |
| AddPaymentInfo | Payment details accepted | value, currency, event_id | Browser + server, deduped |
| CompletePayment | Order confirmed by the store | content_id, value, currency, email (hashed), phone (hashed), ttclid, ttp, event_id | Browser + server — server authoritative |
| SubmitForm | Lead form posts successfully | email (hashed), phone (hashed), ttclid, event_id | Server preferred |
| Subscribe | First recurring charge succeeds | value, currency, event_id | Server |
TikTok Ads · normal or broken
TikTok attribution behaves differently, and that trips people up
Most of what looks broken on TikTok is TikTok's attribution model doing exactly what it is configured to do.
Normal, not a fault
TikTok reports fewer conversions than Meta for the same spend
Shorter default attribution windows and a younger, more app-native audience. This is a platform difference, not a tracking fault.
In-app browser sessions look different
Most TikTok traffic arrives through the in-app browser, where cookie lifetimes and storage behave differently from Safari or Chrome. Expect lower browser-only match rates here than on other channels.
Reported revenue does not tie to your bank statement
Attribution-based reporting again. Compare TikTok to your total, not to the sum of every platform's claims.
Actually broken
No ttclid on any converting session
The click ID was never captured from the landing URL or was lost in a redirect. Server events then have almost nothing to match on and attribution collapses.
CompletePayment count roughly double the order count
Deduplication failing — usually the Pixel and the Events API each minting their own event_id, or an app integration running alongside a manual one.
Events rejected at the API with a parameter error
Value sent as a string, currency missing, or an already-hashed email hashed a second time. TikTok rejects these rather than silently accepting them, which at least makes the fault visible.
TikTok Ads · diagnose
Finding the fault in a TikTok setup
- 01
Check ttclid capture on a real ad click
Click a live ad from the app, land on the site, and confirm ttclid is read from the URL and written to a first-party cookie before any redirect can strip it.
- 02
Open TikTok Events Manager diagnostics
The platform reports rejected events and missing-parameter warnings. Read those before assuming anything is missing.
- 03
Confirm event_id parity
One real test order, both paths, identical event_id. TikTok's test events tool shows both sides.
- 04
Inspect the server payload
Check value type, currency, and that hashed identity fields are lowercase, trimmed, and hashed once.
- 05
Count active integrations
A platform app, a partner integration and a server container can all be sending CompletePayment at the same time.
- 06
Reconcile a closed window
Seven fully closed days against store orders, matched on order ID.
TikTok Ads · prove
Proof of a working TikTok build
Source of truth
Store or payment processor order records
- CompletePayment shows deduplication in TikTok Events Manager across a full week.
- ttclid present on every conversion originating from a TikTok click.
- Zero rejected events in the diagnostics panel over seven days.
- Server CompletePayment count within a few percent of backend orders for a closed window, matched on order ID.
- A saved payload sample from one real order.
- The reconciliation repeated 30 days later.
TikTok Ads · free audit
What we check in the free audit
- Check ttclid capture on a real ad click
- Open TikTok Events Manager diagnostics
- Confirm event_id parity
- Inspect the server payload
- Count active integrations
- Reconcile a closed window
Checked against
Store or payment processor order records
Free30 minutesNo obligation
TikTok Ads · when not to buy
When TikTok Events API is not worth building
- TikTok is under about 10% of your paid spend. Fix the channel carrying the other 90% first.
- You are testing TikTok for the first time this month. Run the standard Pixel, see whether the channel works for you at all, then invest in the signal layer.
- You sell something with an age or category restriction TikTok does not permit. Better tracking will not change the policy outcome.
TikTok Ads · what we deliver
Deliverables — TikTok Ads
Server-side gateway
sGTM or 1st-party server-side GTM
Events API hybrid
Pixel + server with dedup
VBO enablement
Once data quality verified
QA report
Live-fire test
Written guarantee
95%+ tracking accuracy
Measured against Store or payment processor order records. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Pixel-only starter
$400one-time setup
Foundation TikTok pixel install only. Honest disclosure: this tier is for accounts spending under $1K/month. Above that, 1st-party server-side is the only architecture that survives iOS, ITP, and ad blockers.
- TikTok pixel / tag installed
- Clean dataLayer for purchase + lead events
- UTM hygiene + dedup checks
- Consent Mode v2 banner integration
- QA test events + 7-day support
- No server-side CAPI · no iOS recovery
1st-party server-side TikTok
Recommended for paid media$800one-time setup · most popular
What every account spending $5K+/month on TikTok should run. 1st-party server-side Events API on your subdomain, full identity match, deterministic dedup. iOS users count, ad blockers don't matter, TikTok's algorithm finally has the signal it needs.
- Everything in pixel starter
- 1st-party server-side TikTok Events API
- Full identity match (email, phone, IP, UA, click_id)
- Deterministic browser ↔ server dedup
- Match-quality / EMQ live verification
- Notion runbook + 30-day support
Full-funnel + offline imports
$1,800one-time + optional retainer
For agencies and brands running multiple TikTok accounts or wanting CRM offline conversions feeding back. Every signal — click, lead, MQL, SQL, opportunity, closed-won — pipelined into TikTok so the algorithm optimizes for revenue.
- ✓ Everything in 1st-party server-side TikTok
- 📥 CRM offline conversion imports
- 🔀 Multi-account routing & per-account QA
- 🎯 Lead-quality / VBO bidding readiness
- Looker Studio attribution dashboard
- 60-day support · retainer optional
FAQ
TikTok Ads questions, answered
Yes — TikTok Shop integration covered.
More on TikTok Ads
- GuideTikTok Ads Conversion Tracking: Pixel + Events API Setup That Actually Matches
- GuideMeta Events Manager Warnings Decoded: What Each Alert Actually Means
- TikTok Events APITikTok conversions that survive the in-app browser
- TikTok Events API deduplicationWhy is my TikTok Events API deduplication not working?
- TikTok Events APITikTok Events API reference
