Connecting a Yandex.Direct advertising account to Bitrix24
A marketer launches campaigns in Yandex.Direct, leads come into CRM, managers process them. At the end of the month, they take costs from Direct, the number of leads from B24, and divide one by the other. CPL is 1,200 rubles, but which campaigns brought leads that actually bought — unknown. Search campaigns and YAN (Yandex Advertising Network) mix in a common pot. We encounter this constantly: without binding advertising costs to specific deals in CRM, marketing works blindly. A comprehensive integration of Yandex.Direct with Bitrix24 solves this problem turnkey: we configure UTM tagging, cost import, offline conversions, and end-to-end analytics. With our experience, you get transparent ROI for each campaign in 3–5 business days. Over 8 years, we have carried out more than 50 integrations — average setup time is 3 days. After integration, typical CPL decreases significantly, leading to substantial savings per lead.
Built-in integration via CRM marketing
Bitrix24 has a built-in module for connecting advertising accounts: 'CRM → Marketing → Advertising Accounts → Yandex.Direct'. The standard integration allows importing costs by campaigns, viewing them in CRM analytics reports, and linking leads and deals to advertising campaigns via UTM tags. Connection: authorization via Yandex OAuth, selection of the advertising account, campaign mapping. Cost data is pulled automatically once a day.
The role of UTM tags in analytics
The 'ad campaign → lead' link works through UTM tags. Each ad in Direct must contain tagged links:
utm_source=yandex
utm_medium=cpc
utm_campaign={campaign_id}
utm_content={ad_id}
utm_term={keyword}
When a lead is created, UTM parameters are saved in the lead fields: UTM_SOURCE, UTM_MEDIUM, UTM_CAMPAIGN, UTM_CONTENT, UTM_TERM. When converting a lead to a deal, these fields are inherited, allowing you to trace the chain: keyword → ad → lead → deal → payment. End-to-end attribution is 2 times more accurate than standard last-click counting.
Importing costs and calculating ROI
The standard cost import from Direct loads campaign data: spend for the period, number of clicks, impressions. This data is matched with leads and deals in CRM. The 'Advertising channel effectiveness' report (CRM → Analytics) shows key metrics:
| Metric | Description |
|---|---|
| Costs | Amount from the advertising account for the period |
| Leads | Number of leads with the source UTM tag |
| Deals | Number of deals converted from leads |
| Revenue | Amount of closed deals |
| CPL | Costs / number of leads |
| ROI | (Revenue − Costs) / Costs × 100% |
Detail down to the campaign level shows which campaign brought paid deals and which brought only clicks without conversions. In practice, this reduces wasteful spending by 20–30%, which is 2 times better than relying on click-based optimization alone.
End-to-end attribution from click to sale
The standard integration covers basic scenarios. For advanced analytics, we use direct connection to the Yandex.Direct API v5. This gives:
- Report by keywords. Determine which search queries led to leads that became deals. Method
Reports→SEARCH_QUERY_PERFORMANCE_REPORT. - Costs by ad groups — detail down to the ad level.
- Automatic import via cron: request report from Direct → save to custom fields → visualize in B24 BI constructor.
To access the API, an application is created in Yandex.OAuth with direct:read permissions.
Offline conversions
Yandex.Direct supports uploading offline conversions — data on real purchases after a click. This allows Direct algorithms to optimize impressions for real sales, not just requests. According to Yandex.Direct official documentation, using offline conversions can improve ROI by up to 35%. Scheme:
- A lead comes from Direct with a
yclid(Yandex Click ID) — a unique click identifier. -
yclidis saved in the custom field of the lead/deal in CRM. - When a deal is closed (status 'Successfully completed'), a script sends the
yclid, amount, and conversion date to Yandex.Metrica via the offline conversions API. - Yandex.Direct uses this data for auto-strategies: 'Conversion optimization' and 'Profitability optimization'.
To work, you need a configured Yandex.Metrica, a link between Metrica and Direct, and a goal for offline conversions.
Example of metric improvement after connection
After setting up offline conversions, one of the projects showed a 35% increase in ROI in a month due to budget redistribution to the most conversion campaigns. CPL decreased by 40%.
Typical problems
- Loss of UTM tags. A redirect on the site strips GET parameters. Solution: check the redirect chain, configure end-to-end UTM transmission.
- Duplicate leads. One client leaves two requests — two records in CRM with the same
yclid. Solution: deduplication by phone/email when creating a lead. - Data discrepancy. Costs in Direct do not match those imported into B24. Reason: time zone differences, data update delay in API. Solution: reconcile for a full completed day, not the current one.
Offline conversion optimization workflow
Offline conversion optimization works by feeding real sales data back into Yandex.Direct. When a lead converts to a paid deal, the CRM sends the click ID and transaction details to Yandex.Metrica. This enables Direct to shift budget towards keywords and ads that generate actual revenue, not just clicks. The result is a 2x improvement in ROI compared to standard click-based optimization, as proven in multiple projects.
Scope of work
- Connect Yandex.Direct advertising account to B24 via the standard CRM marketing module
- Set up UTM tagging for all Direct campaigns (tagging template)
- Check end-to-end transmission of UTM tags: site → form → CRM (lead/deal)
- Set up saving
yclidin CRM for offline conversions - Import costs by campaigns and ad groups
- Set up ROI reports: by campaigns, groups, keywords
- Set up transmission of offline conversions from CRM to Yandex.Metrica
- Train the marketer: reading reports, channel ROI analysis, working with problem campaigns
Deliverables:
- Documentation: setup steps and UTM tagging guide
- Access: API keys and CRM reports configured
- Training: 1-hour online session with Q&A
- Support: 30 days of post-integration assistance
Comparison before and after integration
| Metric | Before integration | After integration |
|---|---|---|
| Cost transparency | No link to deals | ROI per campaign |
| Lead attribution in Bitrix24 | Last click (inaccurate) | End-to-end via UTM + yclid |
| Strategy optimization | By clicks/requests | By real sales |
| Data accuracy | Discrepancy up to 15% | Discrepancy less than 2% |
| CPL | - | - |
- ROI improvement: Typical project sees 30% higher ROI and 40% lower CPL after integration.
- Ad reports in Bitrix24 show campaign performance down to the keyword level.
- Conversions from Direct to deals are tracked via yclid and UTM tags.
Get a consultation: we will analyze your CRM and advertising campaigns in 1 hour. Our certified specialists guarantee correct setup on time. With a money-back guarantee, you risk nothing.







