Audience shows you where your customers come from and which ones end up in bookings: how many people wrote to you in the period, whether they came from a paid Meta ad, from a free post with a WeSpeak link, or on their own, and how much revenue each source generated.
ℹ️ Audience is activated per account. If you don't see it in your menu, you can acquire it in extras.
In this article
- The three traffic sources
- How to navigate
- The main numbers
- The conversion funnel
- Paid Ads (Meta Ads)
- Owned Campaigns (free posts)
- Frequently asked questions
The three traffic sources
Each customer who writes to you is assigned to a single source, so the groups don't mix:
| Source | What it is | Example |
|---|---|---|
| Paid Ads | Paid advertising on Meta (Facebook/Instagram) that opens a chat | Your "Summer Promo" campaign in Meta Ads |
| Owned Campaigns | Free posts measured with a WeSpeak link | An IG story, a QR code in the lobby, the newsletter link |
| Organic Traffic | People who arrive on their own, with no trackable source | Someone who already had your number or found you on Google |
ℹ️ Scope: Audience measures Meta traffic (WhatsApp, Instagram, Facebook) and your own WeSpeak links. It doesn't include Google Ads.
How to navigate
| Control | What it does |
|---|---|
| Filtering: (top right) | Switches the view between All sources, Organic Traffic, Paid Ads, and Owned Campaigns. |
| Period selector | Choose Month or Year (up to a year back). Day and week aren't available: the metrics need long periods to make sense. |
| Campaign filter | Only in the Paid Ads view: look at a specific Meta campaign. |
The main numbers
The 4 cards at the top summarize the period:
| Card | What it measures |
|---|---|
| Users captured | How many new conversations were created. |
| Bookings | How many ended in a booking. |
| Revenue | How much money those bookings generated, converted to your main currency. If there are bookings in currencies that can't be converted, you'll see "—" instead of the number. |
| Conversion % | Bookings ÷ users captured. E.g.: 800 captured and 80 bookings → 10%. |
Below, the Source Comparison always shows the three sources side by side, so you can see at a glance which one brings in the most.
ℹ️ The Source Comparison always shows the total for the full period, even if you have a campaign filter applied — the filter only highlights the card for the chosen source. This is on purpose: it works as a stable reference to compare against the slice you're looking at.
⚠️ Important: if you don't charge with WeSpeak Payments, bookings and revenue come from what your team marks by hand in the funnel — that's why you'll see the "Estimated metrics" notice. For exact numbers, the reference is to charge through the platform or manually keep the funnel up to date.
The conversion funnel
It shows how the period's customers advanced through your funnel stages. It reads cumulatively: each bar includes those who reached that stage or further. Example with 1,000 leads: "Interested" 1,000 (100%), "Quoted" 600 (60%, includes those who later advanced further), "Booked" 100 (10%).
Details for reading it correctly:
- If a stage drops more than 50% relative to the previous one, it's marked with the red "Bottleneck" label — that's where you're losing people.
- Above the funnel, two separate indicators appear, Lost and Archived: these are leads that didn't enter the funnel flow, but do count in the period's total of users captured.
- If you have more than one funnel configured, a selector appears to choose which one to look at.
- If you customized your stages, a yellow notice reminds you of the cumulative reading mode (it can be dismissed and won't reappear in that browser).
💡 Tip: the funnel shows where each customer captured in the period is today. A customer captured in May who booked in June appears as "Booked" in May — this is on purpose, to measure real conversion.
You also have Daily Evolution (customers captured per day), Geographic Origin (countries, based on the phone prefix), and Origin by Channel (WhatsApp, Instagram, Facebook).
Paid Ads (Meta Ads)
Connect your Meta Ads account and WeSpeak joins what you spend with what actually happens: who wrote to you from each ad, who booked, and how much you billed. When someone taps one of your ads and opens the chat (WhatsApp, Instagram, or Facebook), the conversation is connected to that ad automatically — without you doing anything.
To connect:
- Go to the Paid Ads view and click Connect Meta Ads.
- Paste the access code (token) you generate in Meta — the full step-by-step is below; your advisor can also do it with you.
- If your business has several ad accounts, choose the right one.
- Wait for the initial sync: WeSpeak reviews your existing conversations and connects them with their ads. It usually takes between 5 and 30 minutes depending on how many conversations you have; meanwhile you'll see the "Syncing…" indicator. If more than 30 minutes have passed and you still have no data, write to your advisor.
⚠️ Requirement: measuring paid ads needs your WhatsApp connected officially (WhatsApp API). When someone taps an ad, Meta sends, along with the message, the data of which ad originated it — and that data only arrives via the official API. Owned Campaigns work with any connection.
How to generate the access token in Meta
It's a one-time setup, done in two Meta sites: Meta for Developers (developers.facebook.com) and your Meta Business settings (business.facebook.com → Business Settings). You need to be an admin of the Meta Business that owns your campaigns.
- Create your Meta for Developers account. Go to developers.facebook.com with your business's Facebook account and accept the developer registration. If you already have one, skip this step.
- Create an app. In Meta for Developers go to My Apps → Create App and pick the Business type. Give it a recognizable name (for example, "WeSpeak Audience"). You can also create it directly from the Business Suite.
- Link the app to your Meta Business (only if you didn't create it from the Business Suite): in Business Settings → Accounts → Apps → Add → Connect an app ID, paste the app ID (you'll find it in the app's dashboard in Developers).
- Create a system user. In Business Settings → Users → System users → Add: give it a name (for example, "wespeak-audience") and the Admin role. A system user is a "robot account" of the business: the token is tied to it and not to a person, so it doesn't break if someone leaves the team.
- Give it access to the app and your ads. With Add assets, assign the system user the app you created and the ad account you want to measure. (The app role can also be assigned from Developers → App Roles, using the system user's ID.)
- Generate the token. Back in System users, select the user and click Generate token. Choose the app you created.
- Set the duration and permissions. For duration choose "Never" (recommended: the connection doesn't expire on its own; a 60-day option also exists). For permissions check the ads-reading scopes:
ads_readandread_insights(if shown, also addbusiness_management). Click Generate token and copy it right away — Meta shows it only once. - Paste it into WeSpeak. Go back to Audience → Paid Ads → Connect Meta Ads and paste the token. Done: if there are several ad accounts, pick the right one and the sync starts.
⚠️ Treat the token like a password: don't share it or publish it. If it expires or becomes invalid (for example, after changing the Facebook password or removing permissions), you'll see "Manage connection" in Audience — it's fixed by generating a new token with these same steps.
💡 If you choose a 60-day duration, schedule a renewal before it expires: once expired, Audience stops receiving new data from Meta until you paste a fresh token.
The connection statuses:
| What you see | What it means |
|---|---|
| Connect Meta Ads | You haven't connected any account yet. |
| Manage connection | You connected but the ad account still needs to be chosen, or the access code expired — open it to complete the connection or link again. |
| Yellow "Change account" card | The chosen ad account doesn't contain the campaigns that generated your leads (this happens when the business has several accounts and another was chosen). Click Change account and choose the right one — no need to disconnect or generate a new code. |
| Connected ✓ | All good, data loads normally. |
What the view shows:
| Metric | What it is |
|---|---|
| Spend, clicks, impressions | What Meta reports for your campaigns. |
| Leads (WeSpeak) | The people who actually wrote to you from an ad. |
| Cost per conversation | Spend ÷ real leads. |
| ROAS | Revenue ÷ spend. E.g.: you spent $1,000 and billed $5,000 → ROAS 5x. |
| Detail by campaign | Which campaign and ad brings the most bookings, so you can move your budget with data. |
💡 "Meta reports X · WeSpeak confirmed Y": Meta always shows a higher number, because it counts clicks and estimates — even people who opened the chat and never wrote. WeSpeak counts only those who actually wrote to you. It's not an error: WeSpeak's are your real contacts, and the return is always calculated with them.
Owned Campaigns (free posts)
For measuring what you post without paying for ads: stories, posts, your bio link, a printed QR, the newsletter.
How it works:
- Create a campaign (e.g. "Summer 2026") and within it an ad for each piece (e.g. "January 14 Story").
- Each ad gives you a unique short link (like
wespk.co/a/summer-story14). Paste it into your post, bio, QR, or newsletter. - When someone taps the link, WhatsApp opens with a preloaded message. When they send it, the conversation is connected to that post.
- In the panel you see, per post: clicks, conversations, and revenue, with the breakdown by channel (e.g. "Instagram → Reel: 24 customers, 3 bookings").
Channels available for the link: Instagram, Facebook, TikTok, X, YouTube, blog/website, email/newsletter, QR, and printed flyers.
ℹ️ Note: if the person deletes the preloaded message and writes something else, WeSpeak still tries to associate them with your post based on time proximity — in that case the measurement is approximate, not exact.
Frequently asked questions
Why does Meta show me more conversations than WeSpeak?
Meta counts clicks and estimates (includes those who opened the chat without writing). WeSpeak counts only the people who actually wrote to you. That's why Meta's number is always higher.
Audience doesn't appear in my menu.
It's activated per account: write to your WeSpeak advisor or check in extras whether you have it enabled.
The bookings don't match what I actually charged.
If you don't charge with WeSpeak Payments, bookings come from what your team marks by hand in the funnel (that's why the "Estimated metrics" notice).
Why can't I choose "day" or "week" in the period?
Audience works with month or year periods (up to a year), so the metrics are representative.
A customer who had already written to me came back through a post, does it count as new?
No: their conversation already existed, so it's not counted as a new customer (unless your account has the multi-conversation feature enabled, where each visit opens a new conversation and is attributed to its source advertising).
Does it measure Google Ads?
No — Audience measures Meta traffic and your own WeSpeak links. Google Ads is not included.