How to reconcile TikTok Ads against your billing system
This is the check we run first on every account, written out so you can run it without us. It takes about thirty minutes and needs two numbers: what TikTok says it produced, and what your billing system actually shows. The gap between them is the only honest measure of whether your tracking works — and if it comes back small, you do not need us.
Free30 minutesNo obligation
Specific to TikTok × Subscriptions
TikTok vs new subscriptions: discounted first months and early churn
Capture ttclid at landing, carry it onto the billing customer, and send the first successful payment through the Events API with the subscription ID as the event ID. Compare TikTok's count to first payments for a closed month in your billing export. Expect TikTok to run higher on cheap intro offers, since early cancellations are rarely reversed.
ttclid is the only identifier that can tie a TikTok click to a row in Stripe, Chargebee or Recurly, and on most stacks it is never stored because the capture code was written for gclid and fbclid. Check how many new subscriptions in a closed month carry a ttclid at all. If the answer is almost none, the reconciliation can only run on totals until that is fixed.
TikTok audiences respond strongly to a heavily discounted first month, which produces a large first payment count and a sharp drop at the second invoice. TikTok counted the first charge and nothing ever tells it the customer left, so the platform keeps reporting the gross figure. Verify TikTok's current attribution windows in its own documentation before deciding whether a long trial pushes payments outside them, and check whether its reporting groups conversions by ad date.
Use TikTok's campaign-level conversion reporting for the paid event you actually optimize toward, not the summed total across every event. A modest shortfall against billing is consent and in-app browser loss. A large excess is usually a subscribe event wired to the signup form or trial start, which TikTok's own optimization will happily find more of.
TikTok × Subscriptions · what breaks
Why TikTok and your billing system disagree
- 01
Every renewal firing as a conversion
The single most common subscription error. A customer who stays two years produces twenty-four payment events, and counting them all inflates the conversion count by exactly your retention rate.
- 02
Trial starts counted as paid conversions
A free trial costs the user nothing. Optimising toward trials reliably finds people who start trials and never pay.
- 03
Cancellations inside the first period never reversed
Early churn on discounted offers is high, and the reversal is almost never wired.
- 04
Lifetime value assumed rather than measured
An industry figure for tenure will either starve a channel that works or overfund one that does not. Your own churn data says something different.
TikTok × Subscriptions · the fix
What you get from this — TikTok × Subscriptions
A number instead of a suspicion
The likely cause, narrowed
A basis for deciding
TikTok × Subscriptions · architecture
What each side is actually counting — TikTok × Subscriptions
- 1
What TikTok counts
A standard event name, an event timestamp, a shared event ID, hashed and normalized user identifiers, and ttclid where available. Confirm the current required fields in TikTok's documentation before building.
- 2
How TikTok attributes it
TikTok's click identifier, appended to the landing URL. Capture it on landing and persist it exactly as you would gclid or fbclid — it's the strongest matching signal available and the most commonly missing one, because TikTok is often added to a stack that was built around Google and Meta.
- 3
The window it uses
Verify the current attribution and import windows in TikTok's documentation. They differ from Google's and Meta's, and quoting a number here that goes stale would be worse than sending you to the source.
- 4
What your billing system counts
First successful payments on new subscriptions, found in Stripe, Chargebee, Recurly, Paddle or whatever charges the card.
- 5
The filter that makes them comparable
New subscriptions only — exclude renewals, and exclude trials that have not yet converted.
TikTok × Subscriptions · events
Reading the gap — TikTok × Subscriptions
| What you see | What it usually means |
|---|---|
| 15%+ platform higher | Usually the wrong event entirely — the platform is counting renewals, trials, or subscriptions that cancelled before the first real charge. |
| 20%+ platform lower | Usually structural — the platform is missing subscriptions it produced — usually a signup-to-payment gap longer than the attribution window. |
TikTok × Subscriptions · diagnose
Diagnostic order — TikTok × Subscriptions
- 01
Confirm both numbers cover the same period and channel
- 02
Every renewal firing as a conversion
The single most common subscription error. A customer who stays two years produces twenty-four payment events, and counting them all inflates the conversion count by exactly your retention rate.
- 03
Trial starts counted as paid conversions
A free trial costs the user nothing. Optimising toward trials reliably finds people who start trials and never pay.
- 04
Cancellations inside the first period never reversed
Early churn on discounted offers is high, and the reversal is almost never wired.
- 05
Read TikTok's own event diagnostics, plus a reconciliation against your records
TikTok is usually the third platform added to a stack, and it typically inherits whatever assumptions were made for Google and Meta. The most common result is that ttclid is never captured at all, because the capture code was written naming gclid and fbclid and nobody revisited it.
TikTok × Subscriptions · prove
How to know you did it right — TikTok × Subscriptions
Source of truth
your billing system — new subscriptions for a fully closed month
TikTok × Subscriptions · free audit
What we check in the free audit
- Confirm both numbers cover the same period and channel
- Every renewal firing as a conversion
- Trial starts counted as paid conversions
- Cancellations inside the first period never reversed
- Read TikTok's own event diagnostics, plus a reconciliation against your records
Checked against
your billing system — new subscriptions for a fully closed month
Free30 minutesNo obligation
TikTok × Subscriptions · when not to buy
When the answer is that you do not need us — TikTok × Subscriptions
- If almost all of your new subscriptions come from a channel with no click behind it, no tracking work will reach them — and knowing that is worth more than a build.
- If TikTok is a small share of your spend, the effort is better spent making Google and Meta correct first — the same infrastructure then extends to TikTok as one additional tag rather than a separate project.
TikTok × Subscriptions · what we deliver
The method, step by step — TikTok × Subscriptions
Pull what TikTok reports
Tiktok's own event diagnostics, plus a reconciliation against your records.
Pull what your billing system shows
Export subscriptions by creation date for a closed month, filtered to those that took a first successful payment, and record the plan value.
Filter both to the same thing
New subscriptions only — exclude renewals, and exclude trials that have not yet converted.
Compare per record, not on totals
FAQ
TikTok × Subscriptions questions, answered
TikTok only sees the first payment. Compare cohorts by second-invoice survival in your billing system, and judge the channel on that rather than on the platform's count.
It can, because the browser session may not share cookies with the one where the customer later subscribes. Persisting ttclid server-side at landing protects against that better than relying on a cookie.
Because you should know the size of the problem before anyone quotes you for it. If the gap is small, you have saved yourself a purchase. If it is large, you now know what you are buying rather than taking our word for it.
No. Both numbers come from systems you already own and neither leaves them. There is no tool to sign up for and nothing to upload.
Then compare totals for a closed period and treat the result as directional rather than exact. Tiktok's own event diagnostics, plus a reconciliation against your records is still the right place to read the platform's side.
Under five percent is working. Five to fifteen usually means reversals are missing. Above twenty is normally the wrong event being counted, not a broken tag — which is why debugging tags first wastes so much time.
Then fix the filter before drawing any conclusion. New subscriptions only — exclude renewals, and exclude trials that have not yet converted. A mismatch in scope produces a gap that looks like a tracking fault and is not one.
Book the free thirty-minute call and bring both numbers. We will tell you which of the causes above it is, and whether it is something you can fix yourself — which it sometimes is.
More on TikTok × Subscriptions
- Google Ads × SubscriptionsHow to reconcile Google Ads against your billing system
- Meta × SubscriptionsHow to reconcile Meta Ads against your billing system
- Microsoft × SubscriptionsHow to reconcile Microsoft Ads against your billing system
RELATED GUIDES
Systems of record beside billing subscriptions, and the funnels it settles
- TikTok × Enrolment SystemHow to reconcile TikTok Ads against your application or enrolment system
- TikTok × Call RecordsHow to reconcile TikTok Ads against your call tracking records
- TikTok · Usage → expansionHow to track usage growth to plan upgrade for TikTok Ads
- TikTok · Invite → team adoptionHow to track seat invite to team adoption for TikTok Ads
- TikTok · NonprofitsTikTok Ads conversion tracking for nonprofits
- TikTok · Yoga and pilatesTikTok Ads conversion tracking for yoga and pilates studios
- Mailgun → TikTokConnecting Mailgun to TikTok Events API
- Chargebee → TikTokConnecting Chargebee to TikTok Events API
Free · 30 min
Found a gap between TikTok and your billing system?
Free30 minutesNo obligation
