Integrating Yandex.Direct advertising account with Bitrix24

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1175
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Yandex.Direct Advertising Cabinet Integration with Bitrix24

Marketer launches campaigns in Yandex.Direct, leads come to CRM, managers process. Month end — report. Marketer takes expenses from Direct, lead count from B24, divides one by other. CPL came out 1,200 rubles. But which campaigns brought leads that actually bought? How much did search campaigns earn vs. display? Silence. Without tying ad spend to specific CRM deals, marketing works blind. Yandex.Direct to B24 integration solves this.

Standard Integration via CRM Marketing

Bitrix24 has built-in module for connecting ad cabinets: CRM → Marketing → Ad Cabinets → Yandex.Direct. Standard integration allows:

  • Importing campaign expenses from Direct to B24
  • Seeing expenses in CRM analytics reports
  • Linking leads/deals with ad campaigns via UTM tags

Connection: OAuth authorization via Yandex → select ad cabinet → map campaigns. Expense data pulled automatically daily.

UTM Tags and Lead Attribution

"Ad campaign → lead" connection works via UTM tags. Each Direct ad must contain marked links:

utm_source=yandex
utm_medium=cpc
utm_campaign={campaign_id}
utm_content={ad_id}
utm_term={keyword}

On lead creation (via website form, B24 widget, or manually) UTM parameters saved to lead fields:

  • UTM_SOURCE — source (yandex)
  • UTM_MEDIUM — traffic type (cpc)
  • UTM_CAMPAIGN — campaign ID or name
  • UTM_CONTENT — ad ID
  • UTM_TERM — keyword

On lead to deal conversion, UTM fields inherited. This lets you trace: keyword → ad → lead → deal → payment.

Expense Import and ROI Calculation

Standard expense import loads campaign data: spend per period, clicks, impressions. This data matched with CRM leads and deals.

"Ad Channel Effectiveness" report (CRM → Analytics) shows:

Metric Description
Spend Sum from ad cabinet for period
Leads Lead count with source UTM tag
Deals Deals converted from these leads
Revenue Sum of closed deals
CPL Spend / lead count
ROI (Revenue − Spend) / Spend × 100%

Detail down to campaign level — which campaign in Direct brought paying deals, which only clicks without conversions.

Extended Analytics via Yandex.Direct API

Standard integration covers basic scenarios. For extended analytics use direct Yandex.Direct API v5 connection:

  • Keyword Report. Which search queries led to deal-turning leads. Method: ReportsSEARCH_QUERY_PERFORMANCE_REPORT.
  • Ad Group Expenses. Spend detail not just by campaign but by group and ad.
  • Auto Import. Daily script via cron: request report from Direct → save data to custom fields or separate table → visualize in B24 BI builder.

To access Direct API, create app in Yandex.OAuth, get token with direct:read rights.

Offline Conversions

Yandex.Direct supports offline conversion upload — real purchase data made after ad click. Lets Direct algorithms optimize show not on clicks or leads but real sales.

Scheme:

  1. Lead comes from Direct with yclid (Yandex Click ID) — unique click identifier.
  2. yclid saved to lead/deal custom field in CRM.
  3. When deal closes (status "Successfully Completed"), script sends yclid + amount + conversion date to Yandex.Metrics via offline conversion API.
  4. Yandex.Direct uses this data for auto strategies: "Conversion Optimization" and "ROI Optimization."

Requires: configured Yandex.Metrics, Metrics linked to Direct, offline conversion goal.

Typical Issues

  • Lost UTM Tags. Site redirect strips GET parameters. Solution: check redirect chain, set up end-to-end UTM transfer.
  • Duplicate Leads. One customer leaves two requests — two CRM records with one yclid. Solution: deduplication by phone/email on lead creation.
  • Data Mismatch. Expenses in Direct don't match imported to B24. Reason: timezone difference, data update delay in API. Solution: reconcile for complete closed day, not current.

What We Configure

  • Connecting Yandex.Direct ad cabinet to B24 via standard CRM marketing module
  • Setting up UTM markup for all Direct campaigns (markup template)
  • Checking end-to-end UTM transfer: website → form → CRM (lead/deal)
  • Setting up yclid saving in CRM for offline conversions
  • Importing expenses by campaigns and ad groups
  • Setting up ROI reports: by campaign, group, keyword
  • Setting up offline conversion transmission from CRM to Yandex.Metrics
  • Training marketer: reading reports, analyzing channel ROI, handling problem campaigns