Skip to content

Attract and measure

From campaign to sale: what to measure and how to connect the journey

Knowing how many visits a campaign brought is little use if you don't know how many of those visits became sales. This guide explains how to connect the journey from visit to contact, opportunity and sale with source, UTM and identification, and what attribution and consent limits you should keep in mind.

In this guide
Journey of a campaign to an opportunity and its attributed sale.

The campaign report ends where your sale begins

The ad platform tells you how many clicks you received and how many people tapped the WhatsApp button. Your sales team knows how many quotes they closed. Between those two numbers there is a gap that almost no SME fills, and that gap answers the question that matters: does this campaign bring customers or just conversations?

The four stages of the journey

Stages and where they are recorded
StageWhat it isWhere the data usually lives
VisitSomeone arrives at your site or landing pageAnalytics tool
ContactThat person writes, calls, or fills a formAnalytics (event) and WhatsApp or email
OpportunityThe contact has a real need you can addressCommercial record or CRM
SaleThe opportunity is closed with payment or orderCommercial record, invoicing

The work is to make the source travel from one stage to the next. If the contact arrives without a source, everything that happens afterward is orphaned.

How to mark the source

  • UTM parameters: tags you add to your campaign links (source, medium, campaign) so analytics knows where the visit came from. Google Analytics documents how to build them.
  • Auto-tagging: Google Ads can add its own identifier to clicks to connect the visit to the campaign without manual UTMs.
  • Pre-filled message: if the contact happens via WhatsApp, the button on each landing or campaign can carry a distinct text that the advisor recognizes.
  • Direct question: when none of the above apply, the advisor asks how they found you and records it.

Identification: linking the contact to the sale

To know that a sale came from a campaign, you need the commercial record to store the origin of the first contact. The simplest is an “Origin” field in the request record, which is filled at arrival and not changed afterwards. When the sale closes, the origin is already there.

Some platforms allow returning sales information to the ad tool to measure better. That connection has technical and privacy requirements that must be reviewed case by case.

Limits of attribution

No measurement is perfect. A person may see an ad on their phone, search for your brand days later on a computer and write to you using a number a colleague gave them. Platforms use attribution models to split credit among touchpoints, and Google Ads explains that different models can produce different results. Therefore it is wise to treat attribution as a useful approximation, not an exact truth.

Consent

On-site measurement must respect your visitors' choices about cookies and data. Google offers consent mode to adjust the behavior of its tags according to what the visitor accepts. In Colombia, Ley 1581 de 2012 regulates the processing of personal data. It defines authorization as the prior, express and informed consent of the holder (art. 3) and requires that it be obtained by a means that can be consulted later (art. 9); the controller must inform the holder of the purpose of the processing (art. 12). The Superintendence of Industry and Commerce is the supervisory authority (art. 19) and has published opinions insisting that authorization must be prior, express and informed. This is not legal advice: check with your advisor what applies to your company.

Procedure

  1. Define the four stages for your business and what counts as an opportunity.
  2. Tag all campaign links with UTM or use auto-tagging.
  3. Use a different pre-filled WhatsApp message per landing or campaign when contact happens by WhatsApp.
  4. Add the “Origin” field to the commercial record and fill it on first contact.
  5. Record opportunities and sales in the same record, without deleting the origin.
  6. Once a month, count contacts, opportunities and sales by origin.

Applied example

A real case

In the Petrogrease case published by RealStack, recording the origin of each request made it possible to separate those that came from Google: “Observed results — 2 August to 30 September 2026: 215 requests registered; 117 requests from Google; 11 payments recorded for COP 15.255.000; 4 Google requests recorded as closed; 161 product sheets published.” Those figures belong to that case and period, and do not guarantee results for other businesses. If you want to review how we work on acquisition and measurement, consult /growth.

Decision criteria: what level of measurement you need

Levels
LevelWhat it includesWhen it is enough
BasicSource asked and recorded manuallyFew contacts and a single campaign
IntermediateUTM or auto-tagging, pre-filled message and record with originMultiple campaigns or landings
AdvancedConnection of sales with the ad platformSufficient volume and technical and privacy review

Complete synthetic example

Synthetic example. A fictitious laboratory equipment company runs a search campaign and publishes on social. First it tags links with UTM and creates a distinct WhatsApp message per landing. It adds columns source, medium and campaign to its record, which the advisor fills using what they see in the message.

At the end of the month it counts: 70 search contacts with 9 opportunities and 3 sales; 40 from social with 4 opportunities and 0 sales. Instead of turning off social immediately, it checks whether the sales cycle exceeds one month and decides to measure another month before moving budget. Figures are invented.

How to use the downloadable record

  1. Use the same source, medium and campaign values as in your links.
  2. Record the origin at first contact and do not change it.
  3. Update stage and result as it progresses.
  4. At month end, count contacts, opportunities and sales by origin.

Common mistakes, explained

Changing the origin when the customer returns via another channel erases the information that tells you which campaign brought them. Record the new channel as an additional contact, but keep the first. And don't confuse the platform's attribution with the truth: it is a model, useful for comparison, not an exact cause count.

Diagnosis before starting

  • Check if your campaign links have UTMs.
  • Ask your advisors whether they record where each contact came from.
  • Compare the contacts the platform reports with those in your record.
Decision scenarios
If your case is…Do this
A single campaign and low volumeAsk the origin and register it by hand.
Multiple campaigns and landingsUTM and distinct pre-filled messages.
Sales that take monthsMeasure by cohort and do not turn off campaigns with one month of data.

A second contrasting example

Synthetic example. A fictitious company sells only by referral and is just starting with ads. It does not need complex UTMs: ask in the first message “how did you find us?” and record it. After three months it sees most sales still come from referrals. Unlike the first example, simple measurement sufficed to decide. Example invented.

What to do when something fails

  • If the platform and your record don't match, trust your record for sales and review conversion configuration.
  • If UTMs are lost, check redirects and shortened links.
  • If origin is empty, make it mandatory in the record.

Common mistakes

  • Measuring only clicks and contacts.
  • Changing the origin of a record when the customer returns via another channel.
  • Using different UTMs for the same campaign.
  • Taking the platform's attribution as exact.
  • Installing tags without managing consent.

Checklist

  • Stages are defined.
  • Campaign links are tagged.
  • The record stores the origin of the first contact.
  • Measurement respects consent.
  • You review results by origin each month.

Bring it to your business

Origin log, opportunities and closures

CSV log to track each contact from its origin through opportunity and closure. Records source, medium, campaign, stage and outcome to attribute sales by channel without relying only on the ad platform report.

View resource
Do I need a CRM to connect campaign and sale?

Not to start. A record with origin, status and result already lets you count sales by campaign. A CRM helps when volume or the team grow.

Why don't the platform's numbers match mine?

Because they measure different things with different rules: time windows, attribution models and consent. Use the platform to optimize campaigns and your record to decide about sales.

Authorship and sources

Author: RealStack Team