← All posts
TikTok attribution9 min read

TikTok App Attribution for Subscription Apps

Connect a TikTok click to an app install, trial, subscription, and revenue using a store-first campaign and server-side event feedback.

Signal Campaign illustration for TikTok app attribution and subscription revenue

TikTok app attribution has two separate jobs:

  1. Connect the ad click to the person who reaches and installs the app.
  2. Connect that install to trials, subscriptions, renewals, and revenue.

Most reporting gaps happen between those jobs. The ad platform sees a click. The subscription system sees a purchase days later. Neither record automatically knows about the other.

Postback's TikTok Signal Campaign workflow keeps the App Store or Google Play destination while preserving the click through a Signal link. The SDK then records the install, and RevenueCat, Superwall, or app events provide the downstream outcome.

The short answer

A subscription attribution setup for TikTok needs four parts:

PartJob
Signal linkCaptures campaign context and routes the visitor to the store
Postback SDKConnects the first app session to the captured click
Revenue or event sourceReports trials, purchases, subscriptions, and later lifecycle events
TikTok Events APIReceives selected server-side events for reporting and campaign optimization

This is not the same setup as TikTok's native App Promotion Events API. Postback's current Signal Campaign flow uses a website destination and TikTok's web Events API. That distinction affects the campaign objective, event list, Pixel requirements, and destination you select in Ads Manager.

Why subscription attribution is harder

A mobile game may know the value of an install quickly. A subscription app often waits through onboarding, a paywall, and a free trial before revenue appears.

Consider this path:

TikTok ad click -> App Store -> install -> onboarding -> trial -> paid subscription -> renewal

The first four steps may happen in minutes. The paid conversion may happen seven days later, and a renewal may arrive a month after that.

If the click identifier disappears during the store handoff, later revenue becomes unattributed. If the subscription webhook has no shared install identity, the purchase reaches your reporting system but cannot be connected to the TikTok campaign.

The setup has to preserve both ends of the chain.

How the store-first TikTok flow works

The TikTok ad uses a Postback Signal link as its Website URL. The link captures the available campaign and click context, then redirects the visitor to the correct store.

This keeps the public store page in the journey. The visitor still sees the App Store or Google Play listing before installing.

2. The SDK records the install

After the app opens, the Postback SDK creates the install identity and matches it to the captured click when the required signal is available.

Postback can then report the campaign, ad, placement, country, and other supported context beside the install.

3. The revenue source reports the outcome

Your app or subscription platform sends downstream events. Typical events include:

  • Sign-up.
  • Trial start.
  • Purchase.
  • Paid subscription.
  • Renewal.
  • Cancellation or expiration.
  • Refund-related lifecycle events.

RevenueCat and Superwall webhooks are useful here because they continue to report subscription changes after the install session.

4. Selected events go back to TikTok

Postback maps supported app events to TikTok standard web events and sends them through Events API.

For example:

App eventTikTok web event
Sign-up or registrationCompleteRegistration
Trial startStartTrial
SubscriptionSubscribe
PurchasePurchase
Checkout startInitiateCheckout
Payment information addedAddPaymentInfo

Postback's current web Events API setup intentionally does not forward install, login, or level events through this path. Those belong to TikTok's separate app-promotion event system. Postback can still show its own attributed install in the campaign report.

What you need before launch

The current Postback setup requires:

  • The Postback SDK installed and sending events.
  • Admin or Operator access to the TikTok advertiser.
  • A Web Pixel linked to that advertiser.
  • TikTok OAuth access for campaign reporting.
  • An Events API access token for the Pixel.
  • A Signal link pasted into the ad's Website URL.
  • A mapped conversion event that fits the campaign objective.

Use the TikTok Ads integration guide for the current dashboard steps and permission requirements. The guide should win over an old screenshot or a remembered menu path because TikTok changes its setup UI.

Pick the event that matches the decision

The deepest event is not always the best first optimization event.

A new campaign may produce too few paid subscriptions for TikTok to learn from them. A trial start happens earlier and more often, but it is only useful if trial quality stays connected to later revenue.

Choose between:

Optimization eventUseful whenMain risk
Sign-upOnboarding completion is meaningful and frequentWeak accounts may look like valuable users
StartTrialTrial intent predicts later paid conversionLow-quality trials can inflate success
SubscribePaid subscriptions arrive with enough volumeFeedback may be too sparse or delayed
PurchasePurchase value is the campaign objectiveOne-time and recurring revenue may be mixed

For Postback's current TikTok Signal Campaign setup, StartTrial or sign-up uses a Lead generation website campaign. Purchase or Subscribe uses a Sales website campaign. Confirm that Ads Manager makes the mapped event selectable before launch.

Connect RevenueCat or Superwall

The install identity and subscription identity must meet.

For RevenueCat, save the Postback install ID as the postbackId subscriber attribute, then configure the authenticated webhook. RevenueCat sends purchase and subscription lifecycle events, and Postback matches them to the install through that shared value.

For Superwall, set the same postbackId as a user attribute and configure the signed webhook. Postback verifies the Svix signature before accepting the event.

The setup guides cover the current details:

Sandbox deliveries can prove the webhook connection is valid. Postback does not turn sandbox revenue into production attribution or outbound ad conversions, so verify the full path with a controlled production flow before trusting ROAS.

The report you should expect

A useful TikTok subscription report should connect media delivery to a mature business outcome.

MetricQuestion
SpendHow much budget did the campaign use?
Impressions and clicksDid TikTok deliver and earn traffic?
Attributed installsHow many first app opens matched the campaign?
Trial startsDid the traffic reach subscription intent?
Paid subscriptionsDid trials become customers?
RevenueHow much attributed value arrived?
ROASDid attributed revenue cover spend?

Do not compare a three-day-old cohort with a campaign that has had a month to renew. Align cohort age before you call one creative or audience better.

The free-trial ROAS workflow explains how to handle that delay.

Common TikTok attribution failures

The ad points straight to the store

A direct store URL skips the Signal link, so Postback cannot capture the click context used by this workflow. Paste the generated Signal link into the Website URL field.

The campaign uses the App destination

Postback's current TikTok Signal Campaign setup uses Website as the destination and optimization location. Selecting App creates a different setup path.

The Pixel and advertiser are not linked

The Events API token belongs to a Pixel. That Pixel must be connected to the advertiser selected in Postback and Ads Manager.

The event does not fit the objective

TikTok decides which events are available for a campaign objective. A StartTrial event may appear under Lead generation while Subscribe belongs under Sales.

Events are duplicated

TikTok recommends deduplication when the same web conversion is sent from Pixel and Events API. Make sure overlapping browser and server events use the same event identity. If Postback is the only sender for a particular event, do not invent a second browser copy.

Subscription webhooks cannot find the install

The webhook can be valid while attribution still fails. Confirm the postbackId user or subscriber attribute is set after Postback configures the SDK.

Test traffic is treated as production proof

TikTok test events help validate delivery. RevenueCat and Superwall sandbox webhooks validate their connection. Neither proves that a real paid click will install, match, subscribe, and appear in production revenue reporting.

A practical validation sequence

Test the integration in layers.

Check the click

Open the Signal link with a controlled test parameter and confirm the redirect reaches the expected store.

Check the install

Install and open the app. Confirm the Postback dashboard receives the new install and its available source context.

Check the product event

Trigger one non-revenue event, such as registration or trial start, and verify the event reaches Postback.

Check the subscription identity

Open the RevenueCat or Superwall customer record and confirm postbackId exists for the test user.

Check production revenue

Run a controlled production purchase when practical. Confirm the webhook, attributed event, revenue, and campaign report agree.

Check TikTok delivery

Use Events Manager diagnostics to verify that the mapped server event arrived with the expected value and currency when applicable.

How to use the data

Do not optimize every weak report with a new creative.

The funnel tells you where to work:

PatternFirst investigation
Clicks but few installsStore-page match, audience, or redirect flow
Installs but few trialsOnboarding and paywall timing
Trials but few paid usersOffer quality and trial intent
Paid users but weak ROASAcquisition cost, price, refunds, and renewal quality
Good ROAS but little deliveryBudget, bid, audience, and event volume

TikTok's own Events API documentation recommends defining the events, parameters, and match keys around your marketing objective, with legal and technical review of the data you share. That is good operational advice. Send the minimum data needed for the campaign job.

What to do next

Choose one downstream event that matches the current campaign stage. Connect the advertiser, Pixel, Signal link, SDK, and subscription source. Then validate the path one layer at a time before increasing spend.

Set up TikTok Ads attribution in Postback to connect campaign reporting, attributed installs, trials, subscriptions, revenue, and server-side event feedback.

Sources

FAQ

Yes, when the campaign preserves enough click context and the app records the matching install signal. In Postback's Signal Campaign flow, the ad opens a Signal link before the visitor reaches the store, and the SDK records the first app session.

The current Signal Campaign setup uses TikTok's web Events API with a Website campaign destination. It does not use TikTok's separate App Promotion Events API. The Postback integration guide documents the current supported path.

Use an event with enough volume that still predicts revenue. Trial start can work for a young campaign, while Subscribe or Purchase is stronger once paid events arrive often enough. Keep measuring later paid conversion and revenue even when the campaign optimizes for an earlier event.

They provide subscription and purchase events. They still need campaign context and a shared install identity to connect that revenue to the original TikTok click.

The systems can use different attribution views, event receipt times, and matched-user sets. Reconcile the event definition, campaign window, currency, and cohort age before treating the difference as an implementation error.

You might also like

See all posts →