Pulling Costs from TikTok into Adset.pro
User guide: how to connect TikTok Ads so that advertising costs automatically go to Adset.pro and are reconciled with traffic and conversions for your campaigns.
What it is and why
Adset.pro pulls advertising costs (spend), impressions, and clicks from TikTok Ads and reconciles them with your traffic and conversions. As a result, you see ROI/profit by campaigns without manual export from TikTok Ads Manager.
Where the data appears:
- Meta Section (menu → Meta): tables Cabinets → Campaigns → Ad Groups → Ads — spend, impressions, clicks for each TikTok entity.
- Tracker Campaign Reports — spend is added to the cost of traffic (
cost) if macro mapping is set up (see below). This is how the total profit "traffic + platform" is calculated.
How to connect TikTok
Unlike Facebook, there is one way to connect for TikTok — OAuth authorization: you authorize Adset.pro to access your advertising accounts once, and then synchronization is fully automatic on a schedule (15/30/60 minutes, depending on the tariff). There is no need to create your own TikTok application or obtain tokens manually.
The list of advertisers (advertiser's) is pulled automatically upon authorization — all accounts you have granted access to will be synchronized.
General Setup
To ensure that the spend not only appears in the Meta section but also is linked to your campaigns in the tracker reports, perform the preparation.
1. Social Profile and Traffic Source
- Open Meta → Social Profiles and create a profile with the type TikTok.
- The profile must specify the traffic source (Source) — the one from which you are driving traffic from this account.
2. Macro Mapping in the Source (important!)
In the traffic source settings, map at least one TikTok macro to a parameter (slot):
| TikTok Macro | What it is | Where to map |
|---|---|---|
__CAMPAIGN_ID__ |
TikTok campaign ID | sub / utm (e.g. utm_campaign) |
__AID__ |
Ad Group ID | sub / utm (e.g. sub3) |
__CID__ |
Ad/Creative ID | sub / utm (e.g. utm_content) |
It is recommended to map all three. These macros should also be in the click link of your campaign — then the spend will reconcile with the traffic along one axis. If you add a source from the TikTok template, the necessary macros are already set.
Without mapping, the spend will still appear in the tables of the Meta section, but will not appear in the campaign report — the system will not have an axis to link the spend to the traffic.
3. Linking Ads to Campaigns
Adset.pro identifies your campaign by the target link of the ad (landing page URL). Three mechanisms work, in order of priority:
- Direct tracker link. In the landing page URL of the ad, there is a link of the form
…/track/<id>/adsor…/<alias>— the ad will be linked automatically. - Marker
adset_cid— for traffic through a cloaker. If a cloaker service link is inserted in TikTok, append the GET parameteradset_cid=<campaign ID>to it, for example:https://cloak.example/abc?adset_cid=68a1f3…. The ready value is copied in the campaign editor: step “Links” → block “Campaign Marker for Cloaker Services”. The parameter only needs to be present in the ad link — it does not need to be passed through the cloaker to the tracker. The linking will only work for your team's campaign. The marker also works for Facebook ads. - Auto-linking by clicks. If Step 2 (macros are mapped) is completed and clicks are already occurring on the ad, the system will automatically link it to the campaign based on actual traffic (clicks from the last 30 days are considered; if one creative drove traffic to different campaigns — the campaign of the last click is taken). Direct link and marker take precedence over auto-linking.
Ads that are not linked by any of the methods are only visible in the tables of the Meta section — without spend in the tracker reports.
OAuth Authorization of the Account
- In Adset.pro: Meta → Social Profiles → create profile, type — TikTok, specify the traffic source and save.
- Open the profile for editing — a block “OAuth Authorization” will appear.
- Click “Authorize” — the system will generate a TikTok authorization link. Copy it using the “Copy Link” button.
- Open the link in an anti-detect browser, in which the required TikTok Ads account (TikTok For Business) is logged in.
- Confirm access on the TikTok page. After confirmation, the tab will close automatically.
- Return to Adset.pro and refresh the profile dialog: the status should change to Authorized, and Advertiser IDs will appear below — the advertising accounts to which access has been granted.
The token is automatically renewed — re-authorization is normally not required. If the account is inactive for a long time (about a year) or access is revoked on TikTok's side, the status will change to Expired/Revoked — just go through authorization again in the same way.
Synchronization Interval
In the profile settings, select the spend synchronization interval — 15 / 30 / 60 minutes (available values depend on the tariff). For operational expenses, choose 15 or 30 minutes. All accounts (advertisers) of this profile will be synchronized automatically.
You can manually start synchronization from the profile list: menu bar → Sync (available for authorized profiles). Manual launch will update both the structure (accounts/campaigns/groups/ads) and the spend.
Date Window and Frequency
- Synchronization includes the current day + retro: during the first sync — the last ~7 days, then an overlap of ~3 days. This is needed to capture corrections to TikTok data retroactively.
- Today's figures in TikTok are not final and are clarified throughout the day — Adset.pro updates them with each sync. With frequent resyncs (15/30 min), today's data appears and updates promptly.
- Structure (accounts → campaigns → groups → ads) updates automatically once an hour; spend — according to the selected interval.
- Spend time is converted to UTC considering the time zone of the advertising account (including transitions to daylight/summer time).
Where to view spend
- Meta → Cabinets / Campaigns / Groups / Ads — spend, impressions, clicks for TikTok entities.
- The “Social Profile” filter at the top of the tables — select the TikTok profile to see only its data.
- Tracker Campaign Reports — spend is added to the cost (if Step 2 of the “General Setup” section is completed).
Frequently Asked Questions and Solutions
I authorized the account, but there is no spend anywhere.
Check in order: 1) profile status — Authorized, Advertiser IDs are visible in the OAuth block; 2) did the first structural sync pass — accounts/campaigns appear in the Meta section within an hour (or click Sync manually); 3) selected interval — expenses arrive on schedule 15/30/60 minutes.
There is spend in the Meta tables, but it is not in the campaign report.
TikTok macro mapping in the source is not set up (Step 2 of the “General Setup” section), or the ad is not linked to your campaign — the landing page URL of the ad does not have the tracker link or the adset_cid marker (Step 3). Check the source and the target link of the ad. If you are driving traffic through a cloaker — see the next question.
I’m driving traffic through a cloaker — ads are not linking to the campaign.
The landing page URL of the ad contains a cloaker service link, and the system does not see the tracker link in it. Two solutions:
- Append the GET parameter
adset_cid=<campaign ID>to the cloaker link — the ready value is copied in the campaign editor (step “Links”, block “Campaign Marker for Cloaker Services”). The linking will appear after the next structure update (up to an hour or by clicking Sync). - If TikTok macros are mapped in the source (Step 2) and clicks are already occurring on the ad — the linking will occur automatically based on actual traffic during the next sync of expenses.
Note: spend is updated retroactively within ~3 days — older expenses will not be automatically added after the linking appears.
Profile status — Error, the error text in the tooltip.
Synchronization has failed and will be retried automatically. If the error does not go away and the OAuth status has changed to Expired/Revoked — the token is invalid (password/permissions changed on TikTok's side): go through authorization again, the status and sync will be restored.
After authorization, the Advertiser IDs list is empty.
At the confirmation step in TikTok, the advertising accounts were not selected, or the account does not have permissions for them. Go through authorization again and ensure that the necessary accounts are checked on the access confirmation page.
TikTok and Adset.pro data do not match “penny for penny”.
This is normal: TikTok clarifies today's/recent figures retroactively, and Adset.pro synchronizes with a delay and overlap. Also, pay attention to the time zone: TikTok Ads Manager shows data in the account's time zone, while Adset.pro shows data in the time zone you selected for the report. The final amounts will match as the data "ripens".
Security
- TikTok access tokens are stored in encrypted form and are not displayed in the interface.
- Access is granted only for reading reports and the structure of advertising accounts — Adset.pro does not modify your campaigns.
- Access can be revoked at any time on TikTok's side (TikTok For Business → Settings → Authorized Applications) — synchronization will stop, and the profile will change to Revoked status.
