Skip to content

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:

  1. TikTok Ads — connector tiktok-ads

    • Permissions: tiktok_ads_read
    • Status: active
  2. 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_idbitrix24.lead.utm_content, tiktok_ads.campaign_idbitrix24.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-ads and bitrix24 connections
  • 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

json
{
  "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

MetricTypeSourceDescription
spendcurrencyTikTok AdsBudget spent
impressionsnumberTikTok AdsImpressions
video_viewsnumberTikTok AdsVideo views
clicksnumberTikTok AdsClicks
ctrpercentTikTok AdsClick-through rate
cpccurrencyTikTok AdsCost per click
cpmcurrencyTikTok AdsCost per 1000 impressions
leadsnumberBitrix24Number of leads
deals_creatednumberBitrix24Deals created
deals_wonnumberBitrix24Deals won
revenuecurrencyBitrix24Revenue from won deals

Calculated metrics:

json
{
  "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

json
{
  "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 significance
  • clicks > 10 — excludes ads with no traffic
  • leads > 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

json
{
  "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) or partial (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]

Maintained by the LightLead Documentation Team · Last verified: 2026-07-26