Ads

Meta ads and where conversations come from

How XBASE links each WhatsApp and Direct conversation to the ad that brought it, the ads, meta and ad: tags, and how to apply them to past conversations.

Updated on

When someone arrives on WhatsApp or Instagram Direct from a Meta ad, XBASE links the conversation to that ad. With that, each creative shows how many leads, qualified leads and sales it brought, and the team sees in the chat and in the funnel which ad the person came from.

This page explains how the source is found, the tags the conversation gets, what to do with conversations that arrived before the rules, the Account diagnosis, how Performance counts results and the Key terms (in Marketing → Audience), to build the opening of your ads.

How the source is found

  • Click-to-WhatsApp or click-to-Direct ad: Meta itself reports the ad in the first message. Nothing to configure.
  • Ad with a wa.me link and a prefilled message: Meta does not report the ad. XBASE compares the contact's first message with each ad's prefilled message, ignoring accents and capitalization. For that, the workspace needs attribution rules.

The first ad wins: if the person clicks another ad later, the conversation's source does not change.

Attribution rules

In Ads → Configure → Ad attribution, click Import from ads. XBASE reads the prefilled message of each ad's wa.me link in the account and creates one rule per ad, including ads that boost an Instagram post or Reels.

You can also create rules by hand: choose the ad, write the start of the message and choose the comparison (Starts with, Contains or Equals) and the channel. Click Save rules.

Rules apply to conversations that arrive after they are saved. For those that already arrived, use Apply to existing conversations.

Tags on conversations that came from an ad

Every conversation linked to an ad gets three tags, to filter and sort in the chat and in the funnel:

TagWhat it means
adsthe conversation came from an ad
metathe conversation came from Meta (WhatsApp or Instagram)
ad:ad namewhich ad brought the conversation, as in ad:Reels_promo_october
  • The name is the ad's name in Ads Manager. Names longer than 60 characters are cut, with an ellipsis at the end.
  • If the workspace does not have Meta Ads connected, the tag uses the ad's number instead of its name, as in ad:120251943329140030.
  • A conversation that came from a post (without an ad) only gets meta.
  • If the tag does not exist in the workspace, XBASE creates it. Renaming the ad later does not change the tag on old conversations.

The extra funnel tag (the Ad lead tag field, in Configure → Funnel) still applies and is added along with them.

See the ad right in the conversation

A conversation that came from an ad shows the Came from ad bar at the top. Click it to open, right there, the ad's creative and numbers; click again to close.

  • Creative: the image or video, the ad's title and text, the ad name, the campaign, the ad set and whether it is active or paused. View post opens the post on Instagram or Facebook.
  • Delivery and clicks: spend, impressions, reach, frequency, clicks (all), link clicks, CTR, CPC, CPM, conversations started and cost per conversation.
  • Interactions: engagement, reactions, comments, shares and saves. For video, also 3-second views and ThruPlays.
  • Funnel in XBASE: how many conversations the ad brought and, with the stages set up in Configure → Funnel, qualified leads, sales and revenue.

Choose the period in the panel itself: 7 days, 30 days or Total (since the ad started). Meta's numbers are read again every 10 minutes. To see the panel, Meta Ads must be connected in the workspace and the ad must belong to a connected account; a conversation that came from a post, without an ad, only shows the bar.

Apply to existing conversations

  1. In Ads → Configure → Ad attribution, check and save the rules.
  2. Click Apply to existing conversations.
  3. XBASE analyzes the conversations from the last 90 days that do not have a source ad yet, with the same rules as when the message arrives: only the contact's first message counts.
  4. At the end it shows how many conversations were attributed and how many came from each ad.

Attributed conversations get the ads, meta and ad:ad name tags and, if configured, go into the funnel's entry stage (only those not in any funnel yet). Conversations that already had a source get the missing tags.

You can apply it as many times as you want: what was already attributed does not change. With an edited rule not yet saved, the button is disabled. Only people who manage the workspace integrations see the button.

Account diagnosis

At the top of the Indicators tab is the Account diagnosis: checks on the ad setup that the indicators alone do not show. Each item has the severity (Critical, Warning or Info), the numbers, what to do and the affected ad sets, ads, sites or pixels. What is fine stays collapsed under checks with no issues. In the Performance tab, a summary shows the most serious ones and the View diagnosis button.

CheckWhen it shows up
Audience Networkmore than 10% of the spend went to Audience Network (critical above 20%)
Age outside the audiencewith no age range in Configure → Target audience: more than 20% of the spend went to people aged 65+ (critical above 35%). With the range set: more than 15% of the spend outside it (critical above 30%)
Region outside the audienceonly with states in Configure → Target audience: more than 15% of the spend outside them (critical above 30%)
Clicks that don't reach the pagein a website ad set, less than half of the clicks become a page view (critical below 30%)
Placement with poor clicksa placement with spend and clicks that barely open the page
Pixel not firing on the destinationthe website the ad leads to had no pixel event in the period
Pixel not setthe pixel is not in Configure → Pixel and remarketing (XBASE suggests the account's)
Traffic to WhatsAppTraffic campaign with a wa.me link instead of a messaging campaign
No remarketingthe account spends and no active ad set uses a custom audience
Advanced matching offthe pixel has automatic advanced matching turned off
WhatsApp link without a rulead with a wa.me link without an attribution rule, or without a prefilled message
Optimization for clicksad set optimizing for link clicks

Already fixed it? The numbers are for the chosen period, but Audience Network, clicks that don't reach the page, poor placement, traffic to WhatsApp and optimization for clicks only count the ad sets that are still on. If you only fixed part of it, the item keeps the severity of what is still live, with the numbers of those ad sets only, and the fixed part shows in the numbers as Already fixed…. When all the flagged ad sets were paused (or the campaign) or fixed, like Audience Network unchecked in the placements, the item gets the green Resolved badge, with the title "Resolved in the current setup" and the period's numbers, which drop as the days go by. An ad set waiting for payment or in review after an edit counts as on. Age and region look at the whole account: after fixing, the number drops as the period moves.

If Meta does not answer a query, the item shows as Info, with "Could not check": click Refresh. Meta's data is read again every 10 minutes; a rule, pixel or target audience saved in Configure already applies on the next read.

Target audience

In Marketing → Audience → Target audience (until 10/25/2026 it was in Ads → Configure; the drawer now has a shortcut here), say who you sell to, so the Diagnosis warns you when budget goes to another audience:

  • Minimum age and maximum age, from 13 to 65. On Meta, a maximum age of 65 means 65 or older. Without a range, the Diagnosis warns you when a lot of budget goes to people aged 65+, who are rarely owners or decision makers.
  • States where your customers are: select the states. With none selected, the region is not checked.

Click Save target audience. Clear empties the fields; saving that way goes back to the default. Only people who manage the workspace integrations can change it.

With Advantage+ audience on in the ad set, age is only a suggestion and Meta can deliver outside it. For a fixed age range, turn off Advantage+ audience in the ad set and set the minimum and maximum age.

Results and badges in Performance

  • Results = Meta leads (form or pixel) + conversations. Conversations count by the higher number between those Meta counted and those XBASE attributed to the ad in the funnel, so the same conversation does not count twice. A wa.me link conversation only shows with an attribution rule.
  • CPR is spend divided by results. With no result, it shows —.
  • High ROAS only shows with revenue (a pixel purchase or a sale in the funnel) and ROAS above your target, or 2x without a target. High CTR only means many people clicked.
  • Ads with results shows how many of the ads with spend brought a lead or conversation.

Key terms: the opening of your ads

In the Key terms tab (Marketing → Audience; until 10/25/2026 it was in Ads → Creatives), you build and keep the opening of your ads. The rule: the first 5 words, in the opening of the video or image and in the primary text, state the segment and the region or city of who you want to reach, as in "Clinic owners in the South, from Londrina to Pelotas:" or "Trucking company owners in MT and MS:".

  • Build the ad opening: choose who (Owners of, Managers of, Partners of, Directors of or other), the segment, the region or city and, if you want, an add-on. If you sell to individuals, select Consumers in Marketing → Audience → Target audience: the builder starts suggesting the audience instead of the segment, with an optional Who (No prefix, For or Gifts for), as in "Porto Alegre newlyweds:" or "Gifts for moms in Porto Alegre:". The preview shows the opening with a colon and checks: segment and region in the first 5 words, speaks to the group (no "você", "seu" or "sua", Portuguese for "you" and "your", and no question), no exclamation mark and no emoji, no "na hora" ("right now") and up to 80 characters. Region suggestions come from the states selected in Marketing → Audience → Target audience: with Paraná, Santa Catarina and Rio Grande do Sul selected, for example, "in the South" shows up. There you also add your business's audiences or segments and cities and regions (one per line, with the preposition, like "in Porto Alegre"); they show up first in the suggestions.
  • Term library: Save to library keeps the opening as an Idea. Change the status to Testing, Winner or Discarded, note what you learned, copy or remove it. Next to each term you see the period's ads that start with it, the spend, the CTR, the conversations and leads and the CPL.
  • How the openings are performing: the first 5 words of the primary text of each ad with spend in the period, from highest to lowest spend, with CTR, CPC, conversations and leads and CPL. A red badge marks an opening with an exclamation mark, emoji, "você", "seu" or "sua", a question or "na hora". Save as term takes the opening to the library as Testing.

Meta's advertising policies do not allow asserting or implying personal attributes of the viewer. That is why the opening speaks to the group ("Clinic owners in the South:") and not to the person ("Are you a clinic owner?").

Up to 100 terms per workspace. Only people who manage the workspace integrations save and edit terms; other members see the tab. An ad without text XBASE can read, like a boosted Instagram post, is left out of the numbers.

Rules and limits

  • Up to 200 attribution rules per workspace; the rule's message must have 3 to 300 characters.
  • Rule-based attribution only applies to the contact's first message in the conversation.
  • It works on WhatsApp connected through Meta and on Instagram Direct.
  • Apply to existing conversations looks at up to 5,000 conversations at a time, from newest to oldest.

Frequently asked questions

See also

On this page