A Click-to-WhatsApp (CTWA) ad opens a WhatsApp conversation with your business. The customer must send a message before Spur can process that incoming conversation. Clicking an ad or opening WhatsApp alone does not start the workflow described in this guide.
You create and manage the ad in Meta. In Spur, you connect the relevant accounts, decide which incoming ad messages start a workflow, build the conversation, and report conversion milestones.
In this guide
What the integration does
Prerequisites and account connections
Prepare your ad in Meta
Create and configure a CTWA workflow
Collect information, qualify leads, and hand off
Report conversions to Meta
Save, enable, and test
Review the conversation and campaign performance
Messaging windows, charges, and consent
Example workflows
Troubleshooting
Limitations and FAQs
1. What the integration does
Capability | How you use it |
Route incoming ad conversations | Choose All Ads or Specific Ads for a WhatsApp workflow. |
Add text-based routing | Configure Keyword Triggers for matching incoming messages, including messages without ad-referral information. |
Ask questions and retain answers | Use WhatsApp message blocks, User Input, workflow variables, and contact fields. |
Qualify and organise contacts | Add conditions, contact tags, and custom-field updates. |
Hand off to your team | Use Open Ticket and choose the assignee available in your workspace. |
Report milestones | Add Send Meta Conversion API Event at the point where an event actually happens. |
Report a later conversion | A later workflow can use the ad click ID saved on the contact, if one is available. |
Review ad context | Inspect the referral attached to the incoming message in the inbox. |
Review results | Use the CTWA campaign dashboard and workflow execution analytics. |
Routing and attribution are different. A keyword can start a conversation workflow, but it does not prove that the contact came from a paid ad. WhatsApp conversion reporting requires a Meta ad click ID. An ad ID identifies the ad; a click ID identifies the click used for conversion reporting. They are not interchangeable.
2. Prerequisites and account connections
Before starting, make sure you have:
A Spur workspace with a connected, working WhatsApp channel for the number you will advertise.
Permission in Spur to connect accounts and create or edit workflows.
Access to the Facebook account, Meta business assets, ad account, and Facebook Page used for the campaign.
Permission for the ad account's business portfolio to use the WhatsApp number. A working WhatsApp connection in Spur does not by itself grant this Meta advertising permission.
A Meta Business Account connection in Spur that can access the relevant ad account. This connection is also used by the conversion action.
A clear definition of a submitted lead, qualified lead, and purchase for your business.
The contact fields and team assignment you want to use during qualification.
A test contact and an agreed test budget if you will test through a live ad.
Connect the Meta account in Spur
Open Settings → Meta Business Accounts.
Select Login with Facebook.
Complete Meta's authorisation using an account that has access to the assets you need. Review the assets and permissions in the authorisation flow before confirming.
Return to Spur and check the connection's status and permissions.
Confirm that the intended ad account is available when you configure a CTWA trigger.
A connection marked Connected is useful confirmation, but the practical check is whether you can select and use the required ad account. If you see Needs attention, resolve the connection or permission issue before configuring the campaign.
Depending on the version of Spur you use, account settings and the workflow editor may open in different app screens or a new tab. Use the screen labels in this guide to orient yourself.
Keep these connections separate: your WhatsApp channel receives and sends messages; the Meta account connection provides access for ad selection, reporting, and conversion events. Troubleshoot the connection relevant to the failing step.
3. Prepare your ad in Meta
Use Meta Ads Manager to create or edit an ad that sends people to WhatsApp. Meta's available objectives and labels can vary by account and change over time; use the campaign setup that offers WhatsApp as the messaging destination rather than relying on an older screenshot's exact objective name.
Check the following before launch:
The correct ad account and business identity are selected.
WhatsApp is the intended messaging destination.
The destination is the same phone number as the WhatsApp channel used by your Spur workflow.
The Page and WhatsApp number are correctly linked and the ad account has permission to use the number.
Your creative, audience, budget, schedule, and placements are appropriate for the campaign.
The opening message or conversation starter matches the offer in the ad.
For optional keyword routing, use a distinctive phrase such as “I want the summer consultation”. A generic keyword such as “hi” can also match unrelated enquiries. Customers may edit the starter text, so do not rely on it as the only way to identify ad traffic.
Prepare the ad before selecting Specific Ads in Spur. Once the ad appears in the picker, select it and finish testing the workflow before scaling spend.
Do not add an arbitrary pixel just because an older guide shows one. Spur's current WhatsApp conversion integration sends business-messaging events to a dataset associated with your WhatsApp Business Account. Any additional event-source configuration required by your Meta account should be confirmed for that account; the older “Spur pixel” and “Offline events” screenshots are not a universal setup requirement.
4. Create and configure a CTWA workflow
Create the workflow
Open Workflows and select New Workflow.
Select WhatsApp and the connected number intended for this campaign.
Choose Start From Scratch, or select an appropriate template and inspect its trigger and steps before using it.
Give the workflow a descriptive name, such as CTWA — Summer consultation.
In the trigger configuration, select Click To WhatsApp Ad.
The workflow editor may open in a separate tab. A template's name alone does not guarantee that it uses the current ad-referral trigger; always inspect the trigger configuration.
Choose which ads can start the workflow
Option A: All Ads
Under Which Ads should trigger this workflow?, choose All Ads when you want one shared entry workflow for incoming ad-referral messages on the selected WhatsApp channel.
This does not mean every message from every channel. The workflow is associated with its selected WhatsApp channel. Optional keywords can broaden text-based matching, as described below.
Option B: Specific Ads
Use Specific Ads when different campaigns need different offers, qualification questions, or team assignments.
Select Specific Ads.
Choose the Meta Business Account.
Choose the Ad Account.
Select Select Ads.
Search for the ad by name, inspect its preview, and select the required ad or ads.
Confirm with Select [number] Ads.
Check the selection before saving the workflow.
If you change the business or ad account, recheck your ad selection. If you duplicate or replace an ad in Meta, verify that the new ad is included rather than assuming the original selection covers it.
The picker can display Ice Breakers supplied with the ads. Selected ad starter text can participate in matching. If you need strict campaign separation, use distinct starters and test the actual ads—not only their names or creative images.
Optional: add Keyword Triggers
In Keyword Triggers, add a distinctive phrase used by this campaign, such as “summer consultation”.
Keyword matching provides a fallback for messages that do not match through the ad-referral selection, including messages without referral details. It can also match an ordinary message containing the phrase. Therefore, adding a keyword can make a Specific Ads workflow respond beyond the selected ads.
Use the default Message contains keyword behaviour for the setup in this guide. Matching is case-insensitive and can match text inside a longer message or word, so choose a distinctive phrase. If the editor offers other match modes, test their saved behaviour before relying on them for CTWA routing.
Where WhatsApp test links are shown under the keywords, you can use them to test the starter text. A normal wa.me link is not a paid-ad attribution test and does not itself provide a Meta ad click ID.
Avoid overlapping entry workflows
Spur processes the first matching CTWA workflow for an incoming message. Do not assume that a Specific Ads workflow automatically takes priority over All Ads, or that every matching workflow will run.
For predictable routing:
Use one shared entry workflow, or make ad selections and keywords mutually exclusive.
Review existing CTWA workflows before enabling a new catch-all workflow.
Test each advertised number separately.
Do not use the same generic keyword across unrelated campaign workflows.
5. Collect information, qualify leads, and hand off
Ask a useful first question
Connect the trigger to a WhatsApp message that acknowledges the offer and sets expectations. For example:
Thanks for your interest in our summer consultation. Which service are you looking for?
Use message blocks appropriate to the response you need: text, buttons, lists, or User Input. Collect only information needed for the next step.
Save the response in the right place
For a typed answer, add a User Input block and configure:
Workflow Variable Name: stores the answer for this workflow execution, for example
service_interest.Also save to contact field: enable this and select a contact field when the answer should remain on the contact profile for agents or later workflows.
A workflow variable alone does not permanently update the contact. Use the contact-field option or a Set Custom Field action for information you need beyond the current run.
Add qualification conditions
After collecting the required answers, use conditions to route the contact. For example:
Service is available in the customer's city and the request meets your criteria → qualified path.
More information is needed → ask another question or open a ticket for review.
Service is not available → explain the limitation and offer an appropriate alternative.
Use the builder's variable selector to reference the saved answers. Avoid typing a guessed variable name into a condition or message.
On the qualified path, you might:
Add a contact tag such as Qualified — Summer consultation with Add Spur Tag to Contact.
Update a qualification field with Set Custom Field.
Report QualifiedLead to Meta.
Use Open Ticket to assign the enquiry to the appropriate team member or configured assignee.
Tell the customer what will happen next.
These are workflow choices you configure, not steps that happen automatically whenever an ad message arrives.
If you also use an AI agent
Decide whether the entry workflow or your AI agent owns the opening response, and test the handoff. Spur's CTWA handling suppresses the AI reply for an incoming message that starts a matched ad-referral workflow. This is not a permanent AI pause for the entire conversation; later messages and plain keyword matches can behave differently.
Do not assume that opening a ticket disables every automation. If your process needs a timed pause, review the Pause Automation action and the workspace's automation settings, then test the full conversation.
6. Report conversions to Meta
Put the event at the actual milestone
Add Send Meta Conversion API Event only after the customer has reached the milestone you want to report.
Examples:
LeadSubmitted: the customer has provided the information you define as a submitted lead.
QualifiedLead: your qualification checks have passed.
Purchase: the purchase has actually been confirmed by your business process or connected system.
A welcome message is not automatically a qualified lead. Opening a checkout link is not automatically a purchase. Sending an event does not create an order, collect payment, or independently verify the event's truth.
Configure the action
Add an action at the relevant point in the workflow.
Select Send Meta Conversion API Event.
Choose the Event.
Choose the appropriate Meta Business Account.
If reporting a monetary amount, set Value and Currency together.
Confirm that the selected account has access to the relevant Meta assets.
Available event names
The action offers these event names. Use the one that describes what actually happened; availability in Spur does not mean Meta will offer every event as an optimisation goal for every campaign.
Event | Example business milestone |
| Required lead information submitted |
| Lead meets your qualification criteria |
| Relevant content or product viewed |
| Item added to a cart |
| Checkout actually started |
| Confirmed purchase |
| Order created |
| Shipment confirmed |
| Delivery confirmed |
| Order cancelled |
| Return recorded |
| Your abandonment criteria are met |
| Customer submits a rating |
| Customer submits a review |
These examples describe event meaning, not additional automatic tracking supplied by the CTWA trigger. Your workflow or connected system must detect the milestone and reach the action.
Value and currency
Both fields can use workflow variables. Use a numeric, nonnegative value and a valid three-letter currency code such as INR, USD, or AED. For example, a purchase of 2,500 Indian rupees should use Value: 2500 and Currency: INR, not ₹2,500 in the value field.
For events other than Purchase, an invalid or incomplete value/currency pair is omitted from the event.
For Purchase, if the pair is missing or unusable, Spur sends a value of 0. It uses a valid currency from the action where possible, otherwise the workspace currency, otherwise
INR.A zero-value purchase is not accurate revenue reporting. Supply and test the real amount and currency if you intend to assess revenue or optimise for value.
What happens when the click ID is missing?
For WhatsApp, Spur first looks for the ad click ID associated with the workflow's trigger. If it is unavailable there, it can use the click ID previously saved on the contact.
If neither is available, Spur skips the WhatsApp conversion event and continues the workflow. A completed workflow therefore does not prove that Meta received a conversion.
This explains why a keyword-only test can send all the expected messages while producing no ad conversion. An ad-referral card can also exist without a usable click ID: the ad ID and click ID are different pieces of information.
Reporting after a later qualification or purchase
A later workflow can report a conversion using the saved click ID. This supports processes where qualification or purchase happens after the opening conversation.
You still need to connect that later business event to the correct contact and configure the action in the later workflow. The saved click ID does not guarantee that Meta will attribute every later event; Meta's eligibility, reporting, and attribution rules still apply.
Avoid reporting the same milestone from multiple workflow paths. Before retrying an execution that already sent a conversion, check whether the event was previously sent. CTWA entry deduplication is not a guarantee against duplicate conversion events.
7. Save, enable, and test
Enable the intended workflow
Review the selected WhatsApp channel, trigger, ads, and keywords.
Check the connections between all message, condition, and action steps.
Check the correct outcome for every qualification branch.
Review delays, exit conditions, and any automation pauses.
Set the workflow to Enabled and select Save.
Reopen or refresh the workflow to confirm that the intended configuration and enabled state are retained.
Test from a real ad interaction
Use a test contact to open the intended ad on WhatsApp's mobile app and send the opening message. An ad preview or a manually typed message can be useful for partial testing, but do not assume it carries the same referral and click ID as a real ad interaction.
Verify this complete sequence:
Test | Expected result |
Destination number | Message arrives on the correct Spur WhatsApp channel. |
Referral | Incoming message shows ad context when Meta supplies it. |
Routing | The intended workflow starts—not another catch-all or keyword workflow. |
First response | Customer receives the right welcome and question without competing automated replies. |
Answers | Workflow variables are populated; permanent fields are saved on the contact if configured. |
Qualification | Qualified and non-qualified answers take the appropriate branches. |
Handoff | Ticket and assignment match your configuration. |
Conversion | The milestone is reached, the action has the right event/account/value, and Meta receives the event. A successful workflow alone is insufficient evidence. |
Follow-up message | The original entry sequence does not unexpectedly restart from the same ad referral. |
Reporting | The correct ad account and date range are used when reviewing results. |
Also run a normal keyword-only message to confirm fallback behaviour. Keep that result separate from the attributed-ad test. Test the non-qualifying path as carefully as the qualifying path.
Retesting the same contact
Spur prevents repeated CTWA entry for the same contact, workflow, and ad click ID. Where Meta supplies no click ID, recent entry from the same ad is also checked. Follow-up messages can continue carrying the original referral without representing a new ad entry.
If repeating a test does not restart the workflow, check for an existing execution before assuming the trigger is broken. Use a fresh, controlled ad interaction or a separate test contact; do not delete a real contact merely to reset a test.
8. Review the conversation and campaign performance
Inspect ad context in the inbox
Open the test conversation and find the incoming message. When Meta supplies referral information, Spur can show:
Contact clicked a WhatsApp ad.
Ad headline and body text.
An image or video preview, where available.
View ad, where a source link is available.
Ad ID, which can be copied for identification and troubleshooting.
Not every referral includes every field. Missing creative media alone does not prove that routing failed.
Open the CTWA analytics dashboard
From the CTWA trigger panel, select View Analytics Dashboard.
Choose the intended business/ad account in the account selector.
Set Start Date and End Date.
Select Get Analytics.
Review the totals and campaign-level results.
The dashboard includes Total Spend, Total Clicks, Messaging Connections, and Conversations Started, plus campaign metrics and ad previews.
Interpret these as different measures:
Spend and clicks describe ad delivery and interaction.
Messaging connections and conversations started are Meta-reported messaging metrics; they are not counts of qualified leads by definition.
Workflow executions show what ran in Spur.
Conversion events report configured milestones to Meta. The action's event names and the dashboard's labels do not necessarily have a one-to-one display mapping.
Use the same account, date range, and reporting context when comparing tools. Allow for Meta's processing and attribution rules rather than expecting every metric to update immediately or match one-for-one. Do not interpret No Campaign Data as proof that no customer contacted you.
Review workflow executions
Open the workflow's analytics to inspect runs. You can filter by date and status, search by contact name, number, or execution ID, and inspect the available execution information. Saved workflow answers can be useful when checking the path a customer took.
If a run stops early, review its exit conditions and state. If a conversion is missing, check whether the conversion action was reached and whether a click ID was available before retrying.
9. Messaging windows, charges, and consent
Treat permission to send a message and whether Meta charges for it as separate questions.
WhatsApp's customer-service window generally runs for 24 hours from the customer's latest message. Outside the permitted window for non-template replies, use an approved template where permitted.
Eligible CTWA interactions can receive a Meta free-entry-point benefit. Eligibility, timing, and included message types are governed by Meta's current rules.
A free-entry-point benefit does not mean your ad spend, Spur subscription, or every possible messaging charge is free.
Follow current Meta policy and your account's messaging eligibility; do not base a sending strategy solely on a “72-hour” label in an older article or interface.
A customer starting one conversation is not blanket permission for unrelated future marketing. Collect and honour the consent required for your planned messages and applicable policy.
See Meta's current WhatsApp Business Platform pricing documentation for the applicable charging rules. Ask Spur support if the window displayed in your inbox appears inconsistent with your ability to send.
10. Example workflows
These are configurations you can build, not automatic behaviours enabled by connecting an ad account.
Lead qualification and sales handoff
Specific Ads → Welcome → User Input → Qualification conditions → Tag and save fields → QualifiedLead → Open Ticket.
Use this when different campaigns have different qualification criteria. Keep a separate path for leads needing review or outside your service area. If you track both submission and qualification, place LeadSubmitted after the required information is provided and QualifiedLead after the qualification check.
Product enquiry followed by a purchase
Ad message → Ask about the product → Answer or hand off → Confirm purchase in the appropriate process → Purchase with value and currency.
If purchase happens later, configure the conversion in the later workflow and ensure it refers to the same contact. Do not send Purchase merely because the customer says they are interested.
One shared campaign entry point
All Ads → Ask what the customer needs → Conditions → Relevant response or assignee.
Use this when all ads should enter the same conversation. Avoid simultaneously enabling overlapping campaign-specific entry workflows without testing which one wins.
Keyword fallback for campaign starters
Distinctive starter phrase → Qualification workflow.
Useful when the intended message arrives without referral details. Treat this as text-based routing, not proof of paid acquisition. Without an available click ID, the WhatsApp conversion event is skipped.
AI-assisted qualification with a later conversion
Use your configured AI process to collect or evaluate information, then start a suitable workflow at the verified qualification milestone. That workflow can send QualifiedLead using the contact's saved click ID. AI qualification and the workflow handoff must be configured separately; connecting CTWA does not automatically create them.
11. Troubleshooting
Symptom | What to check and do |
No Meta Business Account connected | Connect the appropriate account in Meta Business Accounts settings, then return to the trigger/action. |
No ad accounts appear | Confirm you chose the correct connected account and that its Facebook user has access to the intended ad account. Resolve permission/connection issues rather than changing the WhatsApp number at random. |
Select Ads is unavailable | Choose both the business account and ad account first. |
Ad is missing from the picker | Confirm the ad account, search term, and that the ad belongs to the campaign/account you expect. Refresh after creating an ad. If it remains missing, provide support with its ad ID and account details. |
Clicking the ad does not start a workflow | Send the opening WhatsApp message. A click alone is not an incoming message. Confirm the destination number. |
Message arrives but no workflow starts | Check channel, workflow and trigger enabled state, saved changes, selected ad, keyword text, prior entry from the same click, and overlapping workflows. Inspect execution analytics. |
The wrong workflow starts | Review All Ads, overlapping ad selections, repeated starter phrases, and keyword fallback across all enabled CTWA workflows for that number. |
Normal enquiries enter the campaign workflow | Replace generic keywords with distinctive phrases or remove keywords where you need ad-only routing. |
Follow-up messages do not restart the entry workflow | They may contain the same referral and be intentionally deduplicated. Check the existing run and test a genuinely new entry separately. |
Answers appear during the run but not on the contact | Enable Also save to contact field or use Set Custom Field. A workflow variable is execution-specific. |
A run starts but stops before the conversion | Check its branch, conditions, delays, waiting-for-input state, and exit conditions. Reaching the trigger is not the same as reaching the event action. |
Workflow completes but Meta shows no conversion | A missing click ID causes the event to be skipped without stopping the workflow. Confirm a genuine attributed test, event configuration, account access, and Meta receipt. |
Purchase has zero or incorrect value | Supply a valid numeric value and ISO currency. Check that variables resolve to the real amount/currency; otherwise the Purchase fallback can send zero. |
Meta rejects the event | Check the selected Meta account, connection health, asset access, and event/value configuration. Give support the exact error and execution ID. Do not fix permissions by repeatedly replaying a purchase event. |
Analytics is empty or differs from other reports | Check business/ad account, date range, whether an ad actually delivered, and reporting delay/definitions. Compare workflow activity separately from Meta's attributed metrics. |
AI and workflow replies seem inconsistent | Distinguish an ad-referral start from a keyword-only match and a later follow-up. Test who owns each response; a CTWA start is not a permanent AI pause. |
Free-form replies are unavailable | Check current WhatsApp messaging eligibility and use an approved template where appropriate. Do not assume all ad contacts have an unrestricted 72-hour reply window. |
Meta says “This WhatsApp phone number is not linked to your account”
This can appear as Meta error 100, subcode 1487246. A working Spur WhatsApp channel does not resolve missing advertising-asset permissions.
Ask the administrator of your Meta assets to check:
Which business portfolio owns the WhatsApp Business Account and number.
Which portfolio holds the ad account and whether it has access to that number.
Whether the intended Facebook Page is correctly linked to the number and has the required portfolio access.
Resolve ownership/access or asset-sharing issues in Meta. Do not disconnect a working Spur channel as the first troubleshooting step. Granting the required Meta asset access does not require rebuilding your Spur workflows or templates.
What to send Spur support
Include the workspace, WhatsApp channel/number, workflow name or ID, execution ID if available, ad account ID, ad ID, timestamp and timezone, expected result, actual result, and the exact error. State whether the message came from a live ad, an ad preview, a keyword test link, or a manually typed message.
Share contact details only through an appropriate support channel. Never include access tokens, passwords, or other credentials in screenshots.
12. Limitations and FAQs
Does Spur create or publish the Meta ad?
This setup uses Meta Ads Manager for the ad and Spur for the messaging workflow, conversion actions, and reporting. Creating the workflow does not publish an ad or start ad spend.
Do customers need to send the exact starter text?
Ad-referral routing can match the ad itself. Text matching depends on the configured keywords or ad starter text. A customer who edits the message may not satisfy your keyword fallback, so test referral routing separately.
Can I use one workflow for several ads?
Yes. Select several ads under Specific Ads, or use All Ads for a shared entry point on that WhatsApp channel.
Can the same ad start several CTWA workflows?
Do not design for every matching workflow to run. The incoming CTWA handler uses the first match. Keep entry routing non-overlapping.
Will a direct WhatsApp link provide paid-ad attribution?
Not by itself. It can open WhatsApp and prefill a keyword, but it does not substitute for Meta's ad referral and click ID.
Can a conversion be reported after the initial conversation?
Yes, a later workflow can use the click ID saved on the contact. You must configure that later workflow and associate it with the right contact. Meta ultimately determines attribution.
Will enabling the conversion action improve ad performance immediately?
No result is guaranteed. Accurate events provide signals to Meta, but campaign eligibility, optimisation settings, volume, learning, and delivery remain subject to Meta's rules.
Are all event names available as optimisation goals in Meta?
Not necessarily. Spur's event selector is not a guarantee of campaign-goal availability or identical labels in Meta reports.
Does a successful workflow prove that the conversion was sent?
No. If no click ID is available, Spur skips the WhatsApp conversion event and continues. Verify event receipt separately.
Can I safely retry any failed workflow?
Review what already happened first. A retry can repeat messages or business actions, including a conversion that succeeded before a later step failed.
Are CTWA conversations free for 72 hours?
Do not assume a universal 72-hour entitlement. Meta's current free-entry-point eligibility and charging rules apply, and charging eligibility is different from permission to send a non-template message. Ad spend and Spur charges are separate.
Is the integration available on every plan and role?
Availability depends on the features and permissions enabled for your workspace. If you cannot access the required screen or action, ask your workspace administrator or Spur support to confirm availability rather than assuming a particular plan includes it.






