End-to-end analytics for TikTok Ads + Bitrix24
Business task
A media buyer working with TikTok Ads needs to prove the channel's effectiveness to leadership. Without end-to-end analytics, only ad metrics are visible (CPC, CPM, CTR), not the actual outcome — the number of leads, deals, and revenue in Bitrix24. You need to build the full chain: view/click on TikTok → lead on the website → deal in Bitrix24 → revenue, with CPL, CAC, and ROAS calculated.
Connections
This report requires two connections:
TikTok Ads — connector
tiktok-ads- Permissions:
tiktok_ads_read - Status:
active
- Permissions:
Bitrix24 CRM — connector
bitrix24- Permissions: read access to deals, leads, and contacts
- Status:
active
Matching scheme (matching preset):
- Matching Preset: TikTok Ads + Bitrix24 (UTM) — a built-in LightLead preset
- Matching key: UTM tags and click timestamp
- Mapping:
tiktok_ads.ad_id→bitrix24.lead.utm_content,tiktok_ads.campaign_id→bitrix24.lead.utm_source
TikTok-specific note: the TikTok Ads API has limited-latency updates — conversion data can update up to 48 hours after an impression. Keep this in mind when analyzing recent data. Also make sure UTM tags, including utm_source=tiktok, are being passed correctly on landing pages.
Report settings
- Name:
TikTok → Bitrix24 end-to-end analytics - Report type: attribution report with UTM matching
- Matching Preset: TikTok Ads + Bitrix24 (UTM)
- Data sources: all
tiktok-adsandbitrix24connections - Date range:
last_30_days - Attribution window: 7 days (view → click) + 30 days (click → lead) + 60 days (lead → deal)
- Grouping: by campaign (
campaign_name), ad group (ad_group_name), ad (ad_name), and pipeline (pipeline_name) - Sorting: by ROAS, descending
- Timezone:
Europe/Moscow
Parameters
{
"date_range": "last_30_days",
"matching_preset": "tiktok-ads-bitrix24-utm",
"attribution_window": {
"view_to_click_days": 7,
"click_to_lead_days": 30,
"lead_to_deal_days": 60
},
"group_by": ["campaign_name", "ad_group_name", "ad_name", "pipeline_name"],
"sort": { "field": "roas", "direction": "desc" },
"timezone": "Europe/Moscow",
"limit": 1000
}TikTok differs from other ad platforms in that a significant share of conversions happen after a view rather than a click. The view_to_click_days: 7 parameter accounts for this. If you only use click-based attribution, remove this parameter.
Metrics
| Metric | Type | Source | Description |
|---|---|---|---|
spend | currency | TikTok Ads | Budget spent |
impressions | number | TikTok Ads | Impressions |
video_views | number | TikTok Ads | Video views |
clicks | number | TikTok Ads | Clicks |
ctr | percent | TikTok Ads | Click-through rate |
cpc | currency | TikTok Ads | Cost per click |
cpm | currency | TikTok Ads | Cost per 1000 impressions |
leads | number | Bitrix24 | Number of leads |
deals_created | number | Bitrix24 | Deals created |
deals_won | number | Bitrix24 | Deals won |
revenue | currency | Bitrix24 | Revenue from won deals |
Calculated metrics:
{
"calculated_metrics": [
{
"name": "cpl",
"formula": "IF([leads] > 0, [spend] / [leads], 0)",
"type": "money",
"description": "Cost per lead from TikTok"
},
{
"name": "cac",
"formula": "IF([deals_won] > 0, [spend] / [deals_won], 0)",
"type": "money",
"description": "Customer acquisition cost"
},
{
"name": "roas",
"formula": "IF([spend] > 0, ROUND([revenue] / [spend] * 100, 1), 0)",
"type": "percent",
"description": "TikTok ROAS: return on ad spend"
},
{
"name": "lead_to_deal_cr",
"formula": "IF([leads] > 0, ROUND([deals_created] / [leads] * 100, 1), 0)",
"type": "percent",
"description": "Lead-to-deal conversion rate"
}
]
}TikTok specifics: CPL on TikTok is often higher than on Meta Ads or Google Ads, but ROAS can be better thanks to a higher average order value and audience loyalty. Compare not just CPL, but also lead_to_deal_cr — lead quality from TikTok may be higher.
Filters
{
"logic": "AND",
"conditions": [
{
"field": "spend",
"operator": "GREATER_THAN",
"value": 300
},
{
"field": "clicks",
"operator": "GREATER_THAN",
"value": 10
},
{
"field": "leads",
"operator": "GREATER_THAN",
"value": 3
}
]
}spend > 300— minimum budget for statistical significanceclicks > 10— excludes ads with no trafficleads > 3— minimum leads for a meaningful CPL
Write mode
Mode: Replace
Like all attribution reports, the TikTok + Bitrix24 connection requires a full rewrite to keep data from the two sources consistent and to correctly calculate end-to-end metrics.
Schedule
{
"schedule": {
"enabled": true,
"interval": "daily",
"time": "08:30",
"timezone": "Europe/Moscow",
"retry_on_failure": true,
"max_retries": 3
}
}Daily at 8:30 AM. Account for the TikTok Ads API's data update delay (up to 48 hours) — data for the last two days may be incomplete.
Expected result
- Status:
completed(both sources available) orpartial(one unavailable) - Row count: campaigns × groups × ads (typically 30-200 rows)
- End-to-end metrics: the full path from a TikTok view to Bitrix24 revenue — you can see which creatives and campaigns actually generate money
- Channel comparison: you can now objectively compare TikTok with other channels — consistent CPL, CAC, and ROAS metrics let you make budgeting decisions based on data rather than intuition
- Optimization: ads with ROAS < 100% are paused; ads with ROAS > 200% are scaled by increasing budget
Screenshot
[Screenshot]
[Screenshot]