Syntra Systems
Cases Services Products About Blog IT Caravan
+998 70 010 68 44 +7 999 900 22 12
RusEngUzb
Purple bands of light across dark ribbed panels, a metaphor for advertising, deal and payment data brought into a single line
CRM and ERP

End-to-End Analytics: Linking Ads, CRM and Payments

By Natali Shumilovskaya · · 9 min read

End-to-end analytics links advertising, the CRM and payments into one chain, where every request has a known source and every channel has revenue and cost next to it. It answers not "how many clicks were there" but "how much money did this channel bring and did it pay for itself". You do not need a separate product for this: you need tagged links, a source field in the CRM and uploaded costs.

Key takeaways

  • End-to-end analytics carries the chain through to the money: every request has a known source and every channel has revenue and cost beside it.
  • It is built in five steps: tag the links, carry the tag into the CRM, tie the deal to the payment, upload costs, assemble the channel report.
  • The attribution model is chosen up front: in Google Analytics 4, only data-driven attribution and two last-click variants have remained since November 2023.
  • CAC counts every acquisition cost and LTV is calculated on margin rather than revenue, otherwise a channel looks more profitable than it is.
  • There is no separate analytics service: putting a running CRM in order starts at $2,000, a rollout with connected request sources at $3,000.

How end-to-end analytics differs from web analytics

The difference is where the chain stops. Web analytics follows it up to an action on the site — a form, a call, an item added to the basket. End-to-end analytics continues it to the deal in the CRM and to the money in the account, so in the report a channel sits next to revenue rather than next to a request count.

On their own, without CRM data, Google Analytics and Yandex Metrica do not see payments: they only record what happened on the site. Metrica, however, can accept orders from a CRM — through the API, a CRM integration or the Yandex Direct conversion centre. That is a workable way to build end-to-end analytics without buying a separate system.

The practical difference shows up in six questions a manager asks.

Manager's questionWeb analyticsEnd-to-end analytics
How many people came from the channelAnswersAnswers
How many left a requestAnswersAnswers
How many requests became dealsNo, deals live in the CRMAnswers
How much money was actually paidOnly through site eventsAnswers
Did the channel pay for itselfNo, costs are unknownAnswers, once costs are uploaded
Where the request was lostNoAnswers: pipeline stage and owner

The last row explains why end-to-end analytics is usually ordered by the owner rather than by the marketing team: it exposes a weak channel and weak follow-up equally well.

Building end-to-end analytics in five steps

The order is always the same and does not depend on the tools: first the tag, then its path to the deal, then the money, then the costs, and only at the end the report. Skip any step and the report becomes a list of requests with no cost attached.

  1. Tag everything that leads to the site. Google Analytics 4 expects at least utm_source, utm_medium and utm_campaign in the link; without them the source lands in "(not set)". Calls are tagged by call tracking with number substitution, and chats by a tagged link into the messenger.
  2. Carry the tag into the CRM. The tag is stored on the site and travels with the request in a hidden form field, and from there into the deal record. When the request arrives from a Telegram bot, the source is passed as a parameter in the bot link: how that works is covered in our article on connecting a Telegram bot to a CRM.
  3. Tie the deal to the payment. The fact and date of payment come from 1C, the bank or the payment service into the deal record. Without this step analytics stops at the request level. How such an exchange is built is described in our article on CRM integration with 1C and telephony.
  4. Upload the costs. There is no payback report without the second half of the equation. Costs per channel are entered for the same period as revenue and under one rule: either always including the agency fee or always excluding it.
  5. Assemble the report. One table: channel, requests, deals, revenue, cost, payback. Everything else is detail you open when the main table does not add up.
Tip Do not wait for the scheme to be complete. A report on one channel with honest costs beats a handsome dashboard where half the requests are marked "direct". Add channels one at a time and each time reconcile the number of deals in the report with the number of deals in the CRM.

Which attribution model to choose

The model follows the length of the sales cycle: with one or two touches last click is enough, while a long cycle across several channels calls for a linear or data-driven model. The model itself is the rule that splits a deal's revenue between the channels the customer came through. While there is only one touch, there is no question. As soon as a person sees an ad, finds you in search a week later and writes on Telegram, the revenue has to be credited to someone.

ModelWho gets the revenueWhen it fits
Last clickThe channel of the last touch before the requestShort sales cycle, one or two touches
First clickThe channel that brought the person in firstJudging discovery channels: display, blog, video
LinearEqually across all touchesLong cycle where touches carry equal weight
Time decayMore to touches closer to the dealShort campaigns and seasonal sales
Data-drivenAn algorithm weighs actual pathsPlenty of traffic and accumulated history

The choice in Google Analytics 4 has narrowed: since November 2023 the first click, linear, time decay and position-based models are no longer available — data-driven attribution and two last-click variants remain. Other models are calculated on your own side: in the CRM or in a report built on an export.

Important An attribution model does not change revenue — it changes the conclusion about who brought it. The same month under last click and under first click will produce different winners. So the model is chosen in advance and periods are compared only within it.

Which metrics to track and how to calculate them

Six metrics are enough: CPL, CAC, request-to-deal rate, ROMI, LTV and payback period. All of them come from two numbers — how much was spent on a channel and how much came back from the customers it brought.

MetricFormulaWhat it shows
CPLchannel cost ÷ number of requestsWhat one request costs
CACacquisition cost ÷ number of new customersWhat a customer costs, not a request
Request-to-deal ratedeals ÷ requestsRequest quality and the sales team's work
ROMI(gross profit from the channel − cost) ÷ costWhether the channel pays for itself
LTVaverage order × number of purchases × marginHow much profit a customer brings over their lifetime
Payback periodCAC ÷ monthly profit per customerHow many months it takes to recover acquisition

Two places where people usually get it wrong. CAC counts every acquisition cost, not just the ad budget: sales salaries, tool subscriptions and contractor work belong there too. LTV is calculated on margin rather than on revenue, otherwise the model looks more profitable than it is. Both formulas are unpacked in our article on unit economics in plain terms.

Yandex Metrica writes payback the same way: ROI = ((total revenue − cost) ÷ cost) × 100. The difference between ROI and ROMI is only scope: ROMI counts all marketing spend, not one advertising campaign.

What Yandex Metrica and GA4 give you without development

Part of end-to-end analytics is covered by built-in tools — provided the CRM has a source field and someone uploads costs once a month.

The limits of this route are clear. It works while deals live in one CRM and payments arrive in one place. Once there are branches, several legal entities or partial payments, the report is assembled on your own side, in the CRM or in a separate data layer on top of exports.

What a channel report looks like

Below is an illustrative example: the figures are made up for the sake of the example, not taken from a project. It shows why the channel with the most requests is not always the best one.

ChannelRequestsDealsRevenue, $Cost, $ROI, %
Instagram210129,6003,200200
Google Ads13097,4004,10080
Organic search641118,7002,400679
Telegram bot4875,9001,800228

Instagram brings almost half of all requests and only twelve deals out of thirty-nine, and on payback it loses to organic search, which has three times fewer requests. A report like this changes budget allocation rather than ad copy. What to do with the findings next is covered in our article on turning analytics into a plan.

What breaks end-to-end analytics

It is usually not the report that breaks but the data underneath it. Walk through the list before you trust the first numbers.

The most common failure is the second point. A person arrives from an ad, leaves to think it over, comes back a week later by typing the company name, and the whole deal goes to "direct". That is where the regular verdict "advertising does not work" comes from, while the advertising works fine.

What end-to-end analytics costs

We do not sell "end-to-end analytics" as a separate service: it is part of the CRM work, because deals and payments live there. On our service pages it comes in three formats.

Three things push the budget above the starting figure: the number of channels and ad accounts, the state of the CRM data — duplicates and empty source fields are cleaned before the report is built — and the complexity of payment accounting when one deal has several payments. What each format includes is set out on our CRM development page.

How we build end-to-end analytics

Syntra Systems starts with the path of a request rather than with a dashboard: where enquiries come from, where the tag gets lost, which CRM field holds the source and what the company counts as a payment. We then fix the design — tags, fields, events, direction of exchange — and set up the flow of data from the ad to the payment.

We tag channels under one scheme, connect forms, telephony and Telegram, write the source into the deal record, tie the deal to a payment from 1C or a payment service and assemble a channel report with costs. Separately we set up reconciliation checks so the report does not drift apart quietly. At the UzFranchise Expo the organiser's dashboard worked exactly this way: you could see which ad each guest came from and how the database grew day by day.

Let’s discuss your project

Tell us what you need, and we will estimate the timeline and cost and suggest a solution.

Discuss end-to-end analytics

Frequently asked questions

Do you need a separate system for end-to-end analytics?

Not necessarily. If deals live in a single CRM and payments arrive in one place, the chain of tagged links, a source field in the CRM and uploaded costs is enough, and the report is built inside the CRM or in Yandex Metrica. A dedicated service or data layer becomes necessary once there are branches, several legal entities and partial payments.

What should we do with requests that carry no source tag?

List them as a separate line and watch their share. If it grows, fix the tagging first — consistent link tags, call tracking, a mandatory source field on the deal — and never assign a source after the fact, since that distorts the whole picture.

How do you measure payback when a deal closes months later?

Costs and revenue are matched by cohort rather than by calendar month: you take the customers acquired in a given month and look at what they have brought in so far. Otherwise long deals always look like a loss, because the cost is recorded immediately while the revenue arrives later.

Can end-to-end analytics work without a website, on calls and Telegram alone?

Yes. The source is then passed by a tagged bot link or by a separate phone number for each channel. The rest of the scheme is unchanged: the tag lands in the deal record, the deal is tied to a payment, costs are entered manually. A website is convenient but not a required link in the chain.

How do you account for offline advertising such as billboards, radio and expos?

Each offline channel gets its own entry point: a dedicated phone number, a QR code with its own tag or a promo code. Then the enquiry reaches the CRM already tagged. Without such an entry point, offline advertising is only visible indirectly, through a rise in direct visits and branded searches.

Why does the report make it look like advertising isn't working?

The tag is usually the one that gets lost: someone arrives from an ad, leaves to think it over, and returns a week later by searching the company name — the deal then gets credited to ‘direct traffic’. Check whether the tag survives a return visit and whether calls are tagged with call tracking.

What if the report does not match the accounting figures?

Reconcile the definitions, not the numbers. The usual gaps are the moment revenue is recognised (shipment or payment), the treatment of refunds and the treatment of taxes. The rule is simple: the channel report uses the same revenue as management accounts, and what counts as a payment is agreed once.

Read also