Ads

How to track which ad each lead came from on WhatsApp, Instagram, and Messenger

By VeyloCRM · · 8 min read

The ad manager shows conversations; the sales team shows sales; and no one connects the dots. Recording the ad source of each lead upon arrival is what turns traffic investment into data-driven decisions.

The problem: the lead arrives and no one knows where it came from

Anyone investing in Facebook and Instagram ads knows the scene. The ad manager shows 180 conversations started in the week, the sales team says "about 90 leads" arrived, and no one can say which campaigns brought the sales. The traffic manager looks at cost per conversation, the owner looks at revenue, and the two ends don’t connect. The decision on where to put more money becomes a guess.

The reason is simple: the ad ends where the conversation begins. Meta knows how many people clicked and opened the conversation. The CRM, when present, knows who converted to a sale. The link between the two— which ad brought each person— is lost if no one records it at the moment the lead writes.

This guide shows how to track which ad each lead came from on WhatsApp, Instagram, and Messenger, how to organize this information in customer service, and how to use the numbers to decide where to invest.

How Meta provides the ad source

In click-to-message ads, Meta itself sends, along with the lead’s first message, the ad data they clicked on: the title, text, image or video of the creative, and an ad identifier. This is the same information that makes WhatsApp show that little "Ad" card above the conversation when someone arrives from a campaign.

The important detail is that this information comes only once, in the first message. If the system receiving the conversation does not save it at that moment, it is lost: it does not appear in subsequent messages and cannot be retrieved later.

Free reading

Keep reading for free

Fill out once to unlock this and all other blog articles. We charge nothing— we just want to know who we’re writing for.

Takes 20 seconds. Prefer to talk directly on WhatsApp?

The RASTRO method

To turn ad source into decision, organize the process into six steps that form the RASTRO method:

  • R for Record on arrival. Automatically save the ad source in the first message.
  • A for Annotate the creative. Know which specific ad, not just "came from Instagram."
  • S for Separate paid ads from organic. Distinguish who arrived via campaign from those who came by referral, profile, or search.
  • T for Treat quickly. Respond to ad leads within minutes, because they cool off fast.
  • R for Relate to the sale. Link each sale to the lead’s source.
  • O for Optimize investment. Use cost per lead and cost per sale per campaign to decide.

R: record on arrival, without relying on the salesperson

Asking the salesperson to ask "how did you hear about us?" helps but doesn’t solve the problem. The lead answers "I saw it on Instagram," which could be an ad, story, organic post, or a referral from someone who tagged the profile. And the salesperson, juggling twenty conversations, forgets to note it down.

Reliable recording is automatic: the system receiving messages needs to read the ad data Meta sends and save it with the conversation. In VeyloCRM, for example, the first message from someone who came from an ad appears with the "Ad" card, showing the creative, and this tag follows the lead through service and reports.

A: note the creative, not just the channel

Knowing the lead came "from an ad" is not enough. The useful question is: from which ad? An ad account usually has several campaigns, audiences, and creatives running simultaneously. Two videos targeting the same audience can bring leads of very different quality. One brings curious people; the other brings people ready to buy.

Therefore, the source needs to be saved with the ad identifier and content. That way, at the end of the month, you can say the testimonial video brought 40 leads and 9 sales, while the carousel brought 70 leads and 3 sales.

S: separate paid ads from organic

Not every lead arriving on WhatsApp came from an ad. Some click the bio link, some save the number from the website, some get referrals from clients, and some return after months. Mixing all leads makes the ad look better or worse than it really is.

With the source recorded automatically, it’s easy to separate two numbers the owner needs to see: how many new leads came from ads and how many arrived by other means. This separation is especially important for those reporting to a client or partner about traffic investment.

What about leads not coming from click-to-message ads?

Some leads arrive through other paths: the website with a WhatsApp button, a capture page, the bio link. In these cases, Meta does not send ad data in the message. Some practices help maintain the source:

  • Pre-filled message by campaign: the WhatsApp link on each page or ad includes a different initial text, like "Hi, I came from the X course page."
  • Campaign parameters on the website: the site records which ad the person came from and passes this info on the button.
  • Different numbers or tags by source, when the operation allows.

These methods are less automatic but prevent a large portion of leads from lacking a source.

T: ad leads cool off quickly

Someone who clicks an ad and sends a message is focused on your product at that moment. Half an hour later, they’re seeing another ad, another competitor, something else. The time to first response heavily impacts conversion of ad leads. A good practice is to reply within five minutes with a message that already uses what the lead saw in the ad:

"Hi, Carla! I saw you came through our 21-day method ad. Want me to explain how it works and how much it costs?"

When customer service sees the ad card in the conversation, they already know which offer sparked interest and don’t need to ask.

R: link the sale to the source

The important number is not cost per conversation, but cost per sale. To get this, each sale must be linked to the lead and that lead’s source. In the CRM, this happens when the opportunity is marked as won or receives the sale value in the conversation that already has the source recorded.

With this, the report shows, by campaign or creative: how many leads arrived, how many converted to sales, the sales value, and the conversion rate.

O: optimize investment with real numbers

With leads and sales per ad, the math becomes straightforward:

  • Cost per lead = campaign investment ÷ leads from it.
  • Conversion rate = sales ÷ leads from the campaign.
  • Cost per sale = investment ÷ sales from the campaign.
  • Return = sales value ÷ investment.

A campaign with a high cost per lead can be the best if it converts a lot. Another, with cheap leads, might be bringing only curious people. Without each lead’s source, these differences remain invisible.

Example with numbers

A course company invests R$ 9,000 per month in three click-to-WhatsApp ads, R$ 3,000 each. The ad manager shows 450 conversations total. Before recording the source, the team only knew they sold 36 enrollments that month at R$ 497.

With the source recorded, the picture looks like this: ad A brought 220 leads and 8 sales; B brought 150 leads and 22 sales; C brought 80 leads and 6 sales. The cost per sale for A is R$ 375; for B, R$ 136; for C, R$ 500. The company moves R$ 2,000 from A and C to B and tests a new creative instead of C. With the same investment, next month’s sales rise to about 48. The numbers are illustrative; the method is the same for any operation.

Reporting to clients and partners

Agencies and traffic managers struggle when the client says "we got a lot of leads but sold little." With each lead’s source recorded and separated, the conversation changes: it’s possible to show how many ad leads really arrived, how many were served and in what time, and how many converted to sales. If the problem is customer service, the numbers show it; if it’s the ad, they show that too.

Instagram and Messenger

Ads that lead to Instagram Direct or Messenger also send source data when the person starts the conversation via the ad. In a unified inbox, the three channels appear together, each with its source, and reports can compare campaigns regardless of the channel where the conversation happened.

Quantity is not quality

When each lead’s source is recorded, a pattern appears that the ad manager hides: campaigns optimized only for cheap conversations tend to bring many curious people. Creatives that better explain the offer, show the price, or filter the audience usually bring fewer conversations but more sales. With cost per sale in hand, it’s easier to justify an "expensive" ad that works and turn off a "cheap" one that just fills the inbox.

It’s also worth looking at conversation quality: how many leads from each ad replied to the second message, how many asked for prices, how many reached the proposal stage. These signals appear before the sale and help adjust the campaign earlier.

A simple weekly routine

Every Monday, open the report with leads and sales per ad from the previous week. Compare cost per sale among active creatives, check first response time for ad leads, and note a decision: increase, maintain, reduce, or swap each ad. Fifteen minutes per week with real numbers is worth more than hours of discussion based on impressions.

The most common mistakes

  • Relying on the salesperson to ask and note the source.
  • Recording only the channel, not the specific ad.
  • Mixing ad leads with organic leads on the same number.
  • Deciding investment by cost per conversation without looking at sales.
  • Taking too long to respond to the lead who just clicked the ad.
  • Not linking the sale to the conversation that has the source recorded.

Checklist

  • Use a system that automatically saves ad data in the first message.
  • Separate ad leads from others in reports.
  • Create different pre-filled messages for pages and links.
  • Respond to ad leads within five minutes.
  • Record each sale in the lead’s conversation.
  • Compare cost per sale of each ad every month.

Frequently asked questions

How to track which ad a lead came from on WhatsApp?

In click-to-message ads, Meta sends the ad data along with the lead’s first message. A CRM that saves this info automatically shows, in each conversation, the ad that brought the person.

What is the difference between cost per conversation and cost per sale?

Cost per conversation divides investment by conversations started. Cost per sale divides investment by sales from that ad, and it’s the number that shows if the campaign is profitable.

The bottleneck is almost never the team. It’s the time until first response.

VeyloCRM replies to the lead instantly with its own language, organizes each conversation in the CRM, and keeps messages ready for the team— on WhatsApp, Instagram, and Messenger.