We create digital solutions that work for businesses
An ad platform reports 80 conversions, GA4 shows 63, the CRM contains 51 enquiries, and accounting confirms 14 payments. This does not automatically mean one system is wrong. Each tool measures a different event, applies its own attribution rules and may not recognise the same person across a click, a call and a closed deal.
End-to-end, or closed-loop, analytics connects the chain: spend → visit → enquiry → qualified lead → deal → revenue. Its purpose is not another attractive dashboard. It should reveal where to invest, which campaigns generate profitable customers and where the business loses demand after the lead is created.
If website measurement is incomplete, begin with the guide to setting up Google Analytics 4. A closed-loop model cannot repair weak source data; it only joins what has been captured.
End-to-end analytics combines marketing costs, website behaviour, enquiries, CRM outcomes and financial results at a useful level such as channel, campaign, ad, product or region.
At minimum, it should answer five questions:
It is not a particular product. A small company may start with GA4, a CRM and a controlled spreadsheet. A complex organisation may need a warehouse, ETL pipelines and BI. The correct architecture depends on data volume, sales-cycle length and the decisions the system must support.
You cannot judge a discrepancy without definitions. An ad platform may credit a sale to an ad click inside its attribution window. GA4 may divide credit among touchpoints. A CRM counts leads or deals, while finance counts cleared payments.
Technical causes add more variation:
The goal is not identical totals everywhere. Document each metric, nominate a source of truth and define an acceptable tolerance.
Draw the path from first contact to money. For every stage, specify the event, required fields, owning system and stable identifier.
| Stage | Event | Core data | Source of truth |
|---|---|---|---|
| Advertising | impression or click | channel, campaign, ad, spend | ad platform |
| Website | session and actions | landing page, UTM, client ID, events | web analytics |
| Enquiry | form, chat or call | lead ID, contact, product, source | backend/CRM |
| Qualification | accepted or invalid lead | status, reason, owner | CRM |
| Sale | won deal | deal ID, value, date, margin | CRM/finance |
| Adjustment | cancellation or refund | amount, reason | finance system |
Do not begin with a list of charts. If the lead ID does not travel from the form to the CRM, no BI product can reconstruct the relationship reliably.
UTM parameters preserve source, medium, campaign, content and term. The most common failure is organisational: one person writes facebook, another uses fb, and a third uses meta_ads. The report now contains three sources.
Create a naming dictionary that defines:
utm_source and utm_medium values;utm_campaign pattern;Use the BB STUDIO UTM builder to assemble correctly encoded links, but remember that a builder does not replace governance. Store both first-known and last-known UTM values: the first explains acquisition, while the last describes the touchpoint before the enquiry.
“Source: Google” is too broad. A useful lead payload may include:
lead_id;Do not place email addresses, phone numbers, names or other personal information in URLs, event names or ordinary GA4 parameters. Data selection, retention and legal basis should be reviewed for your jurisdiction.
After successful server-side validation, create a lead ID and send it to the data layer, backend log and CRM. A browser event should not be the only proof of an enquiry: the user might double-click while the CRM integration fails.
The CRM needs controlled stages such as new, in progress, qualified, invalid, proposal, won and lost. Require a loss reason. API, webhook and field mapping should be part of website development, not an emergency task after campaigns launch.
Define one lead-creation event. A form that triggers an email, a Telegram notification and a CRM record still represents one enquiry, not three conversions.
Forms are only one source in many industries. Account for:
A call record needs a unique call ID, duration and qualification outcome. A phone click is not a conversation, and a conversation is not a sale. If dynamic call tracking is too expensive, assign distinct numbers to major channels and enforce manual source capture.
One person may submit a form, call and open a chat. Automatically merging everything by phone number is also unsafe: a company number may be shared, numbers change and the same contact may enquire about another service.
Separate the entities:
Define what counts as a repeat lead. A request for another product or one made after a chosen interval may open a new opportunity without duplicating the contact. Keep an audit trail of merges so mistakes can be reversed.
ROAS is misleading when the numerator contains all revenue but the denominator contains only Google Ads media spend. Depending on the decision, include:
Maintain two layers: media efficiency and full unit economics. The marketing team can optimise traffic, while management sees the actual financial effect.
Optimising only for form_submit teaches an algorithm to find people who submit forms easily, not necessarily people who buy. Once the data is stable, send permitted outcomes such as qualified lead, booked consultation, won deal and revenue.
For Google Ads, this may involve offline conversion imports or enhanced conversions for leads. Current Google documentation describes configuring a tag, creating separate conversion actions and importing offline data. Always confirm the implementation against current platform requirements.
Check volume, delay and accuracy before changing bidding. Five sales per month may be too weak a signal for aggressive automation. A strictly defined qualified lead can be a better intermediate event.
A sale and the allocation of credit are different problems. The CRM can know the exact deal value without knowing which of five marketing touchpoints deserves the revenue.
Compare at least:
Google documents that GA4 reporting attribution can use data-driven or last-click models. The same conversion can therefore receive different credit than in Google Ads. Never combine figures from different models in one total without labelling them.
Use consistent periods and definitions.
| Metric | Formula | Purpose |
|---|---|---|
| CPL | spend / all leads | initial enquiry cost |
| CPQL | spend / qualified leads | traffic and qualification quality |
| CAC | full acquisition cost / new customers | true customer cost |
| ROAS | ad revenue / media spend × 100% | media return |
| ROMI | (contribution margin − marketing cost) / marketing cost × 100% | financial marketing effect |
| Lead-to-sale | sales / leads × 100% | total funnel efficiency |
Example: a campaign spent UAH 40,000, produced 80 leads, 28 qualified leads and seven sales with UAH 84,000 in contribution margin. CPL is UAH 500, CPQL is about UAH 1,429, cost per sale is about UAH 5,714 and ROMI is 110%. Without CRM data, the campaign would only look like 80 leads at UAH 500.
For a separate investment view, follow the guide to calculating website ROI.
Start with decisions, not visuals. A useful management dashboard normally contains:
Display the last refresh time, time zone, currency, attribution model and metric definitions. A dashboard without those notes creates confidence without transparency.
An expensive platform is not required on day one. A practical minimum includes:
As volume grows, add API cost imports, call tracking, automated offline-conversion feedback and BI. Compare Google Ads management and SEO services using agreed business outcomes and suitable time horizons, not identical expectations of speed.
Create scenarios for organic search, an ad with UTM, direct traffic, a phone call, a repeat enquiry and a delayed sale. Trace each one from landing page to CRM and report.
Verify that:
Repeat regression tests after changes to forms, tags or CRM as part of website support.
If campaigns generate clicks but the chain breaks before CRM, use the checklist of 15 reasons Google Ads is not generating leads.
End-to-end analytics begins with shared definitions and a reliable lead ID, not a dashboard. Connect spend, enquiries, CRM outcomes and money at a minimum viable level first. Then add sophisticated attribution, automated imports and ad-platform optimisation.
A good system does not promise a perfect reconstruction of every journey. It provides enough reliable evidence for decisions, states its limitations and reveals breaks quickly. To design the architecture for your website and CRM, contact BB STUDIO with a list of channels, forms and sales stages.
Let’s create something amazing together