Google Ads Advertising Cabinet Integration with Bitrix24
Ad budget in Google Ads — 300 thousand per month. In CRM same month — 90 leads from "internet." How many came specifically from Google Ads? Which campaigns worked? Manager answers: "Well, we asked clients, most say — found in search." That's not analytics, it's guesswork. Tying Google Ads to B24 gives precise numbers: campaign spend, lead count, deal conversion, revenue, ROI. Without manual table reconciliation.
Standard Connection via CRM Marketing
B24 supports Google Ads integration via CRM → Marketing → Ad Cabinets. Connection:
- Authorization via Google account linked to ad cabinet.
- Select Google Ads account (if manager account — select specific client).
- Campaign mapping — B24 pulls list of active campaigns.
- Expense import — automatically, daily.
After connection, CRM analytics shows Google Ads expense data alongside CRM data: leads, deals, revenue.
UTM Markup and gclid
"Google Ads click → CRM lead" connection works via two mechanisms:
UTM Tags — manual URL markup in ads:
utm_source=google
utm_medium=cpc
utm_campaign={campaignid}
utm_content={creative}
utm_term={keyword}
Google Ads supports tracking templates at account level — UTM tags added automatically to all ads.
gclid (Google Click ID) — automatic parameter Google adds to URL on click. Unique click ID, critical for offline conversions.
On lead creation in B24, both data types saved:
- UTM fields — to standard lead fields (UTM_SOURCE, UTM_CAMPAIGN, etc.)
- gclid — to custom field
UF_CRM_GCLID
Lead and Deal Attribution
CRM analytics report groups leads and deals by UTM tags. For Google Ads detail available:
| Level | What's Visible |
|---|---|
| Source (utm_source=google) | All leads from Google Ads — full picture |
| Campaign (utm_campaign) | Which campaign brought leads |
| Ad Group (utm_content) | Which ad converts better |
| Keyword (utm_term) | Which queries bring buying customers |
For correct attribution: UTM tags must reach CRM without loss. Typical loss points: site redirect, SPA without server parameter handling, forms without hidden UTM fields.
Expense Import and ROI Report
Expenses imported from Google Ads by campaign. In CRM analytics calculated:
- CPL (Cost Per Lead) — campaign spend / lead count from this campaign
- CPS (Cost Per Sale) — spend / number of closed deals
- ROI — (deal revenue − ad spend) / spend × 100%
- Lead → Deal Conversion — percent of leads reaching deal
Example: "Search — Brand" campaign spent 30,000 ₽, brought 40 leads, 12 became deals for 480,000 ₽. ROI = (480,000 − 30,000) / 30,000 × 100% = 1,500%. Campaign "КМС — Broad Interests" spent 50,000 ₽, brought 60 leads, 2 deals for 40,000 ₽. ROI = −20%. Conclusion obvious — but without integration you can't get these numbers.
Offline Conversions in Google Ads
Google Ads, like Yandex.Direct, supports offline conversion upload. Lets Smart Bidding algorithms optimize bids on real sales, not intermediate conversions (form submission).
Transmission scheme:
- Visitor clicks ad → Google adds
gclidto URL. - Site saves
gclidin cookie and passes to CRM on lead creation (hidden form field). - In B24
gclidsaved to lead custom field, inherited by deal on conversion. - Deal closes successful → script sends data to Google Ads via Conversion Upload API:
gclid, conversion name, date, amount. - Google Ads receives data, accounts for it in bid optimization and reporting.
Requires: configured conversion action in Google Ads (type "Import → CRM"), Google Ads API access via service account or OAuth.
Enhanced Conversions
If gclid couldn't be saved (user came from different device, cookies cleared), Google supports Enhanced Conversions — sending conversions via hashed user data (email, phone). B24 has this data in contact card — hashed (SHA-256) and sent to Google Ads API.
Extended Analytics via Google Ads API
For detail beyond standard B24 capabilities use Google Ads API:
-
Search Query Reports.
search_term_view— actual user queries leading to clicks. Matching with CRM conversions shows which queries bring sales. - Spend by Device. Mobile vs. desktop — where's higher deal conversion.
- Spend by Geolocation. Which regions bring paying deals.
- Performance Max. Performance Max reporting limited in Google Ads interface, but through API data on assets and audiences available.
Data exported by script to B24 BI builder or external BI system (Google Looker Studio, Power BI).
Typical Issues
-
gclid not saving. SPA site doesn't pass GET parameters to form. Solution: JavaScript handler reading
gclidfrom URL on load and saving to form hidden field + cookie. -
Duplicate Conversions. One deal sent to Google Ads twice. Solution: unique
order_id(B24 deal ID) in each upload — Google deduplicates. - Timezone Difference. Google Ads counts spend by account timezone, B24 by server. Reconciling specific date possible discrepancies. Solution: reconcile by full weeks or months.
- API Blocking. Google Ads API requires Developer Token with minimum "Basic" access. To obtain — request through Google Ads Manager.
What We Configure
- Connecting Google Ads to B24 via standard CRM marketing module
- Setting up tracking templates with UTM markup at account level
- Saving
gclidon site and transmitting to CRM on lead creation - Importing expenses by campaigns and ad groups
- Setting up ROI reports: by campaign, keyword, device
- Setting up offline conversion upload from CRM to Google Ads (gclid + Enhanced Conversions)
- Creating conversion action in Google Ads to receive data from CRM
- Training marketer: analyzing reports, identifying unprofitable campaigns, budget optimization based on CRM data







