Customer Support KPIs: CSAT, FRT & Resolution Time Explained: Campaign Setup and Automated Lead Routing
Meta hands you the lead and the attribution data in the same webhook payload. Here is the campaign structure that produces both, the referral fields worth routing on, and the 72‑hour free window that decides what the follow‑up costs.
In today’s fast‑moving customer support landscape, organisations rely heavily on data to drive decisions and demonstrate value to stakeholders. By tracking and analysing key performance indicators (KPIs), teams can pinpoint gaps, optimise workflows, and ultimately deliver a superior experience that keeps customers loyal.
What Are Customer Support KPIs and Why They Matter
Customer support KPIs are quantifiable metrics that gauge the efficiency, effectiveness, and impact of a support function. They translate complex interactions into clear, comparable figures, enabling teams to set objectives, monitor progress, and justify investments in people, tools, and processes. For a SaaS‑centric company, aligning KPIs with broader business goals—such as growth, churn reduction and revenue expansion—ensures that support initiatives directly influence the bottom line.
Unlike ad‑hoc metrics, robust KPIs provide a consistent baseline for continuous improvement. They reveal trends over time, highlight the influence of seasonal peaks, and surface the underlying drivers of customer sentiment. By tying metrics back to the customer journey, organisations can identify which touchpoints require refinement and how changes ripple through the ecosystem.
When selecting KPIs, the focus should be on those that matter most to both the business and the customer. This means prioritising metrics that are actionable, data‑driven, and linked to tangible outcomes such as reduced churn or increased upsell opportunities. A balanced scorecard—combining satisfaction, efficiency, and quality indicators—offers a holistic view of support performance and supports evidence‑based decision‑making.
Ultimately, well‑chosen KPIs become the compass that guides the support team through daily operations and long‑term strategy. They foster a culture of accountability, enable transparent reporting, and empower teams to move from reactive problem‑solving to proactive value creation.
By embracing a KPI framework, organisations not only measure performance but also embed a continuous‑improvement ethos into every support interaction, ensuring that customer satisfaction remains a living, measurable target.
Defining CSAT: Measuring Customer Satisfaction
Customer Satisfaction (CSAT) is one of the most straightforward and widely adopted KPIs in the support arena. It captures the immediate sentiment of a customer after an interaction, typically expressed as a percentage of positive responses. CSAT is prized for its simplicity, allowing teams to collect quick feedback and track sentiment in real time.
The standard CSAT survey asks respondents to rate their satisfaction on a scale—often 1 to 5 or 1 to 10—where higher scores denote greater satisfaction. A common formula then converts the average rating into a percentage: (Sum of all responses ÷ Highest possible score × 100).
Metric
Definition
CSAT
Immediate satisfaction rating post‑interaction (1‑5 or 1‑10 scale)
FRT
Average time to first response in minutes or hours
Resolution Time
Total time from ticket creation to closure
While CSAT offers instant insight, it must be contextualised. A high CSAT score can mask underlying issues such as low response speed or complex problem resolution. Consequently, CSAT is most effective when paired with efficiency metrics like First Response Time (FRT) and Resolution Time. Together, they paint a balanced picture of both customer perception and operational performance.
Collecting CSAT data at consistent intervals—such as after every ticket closure or at set quarterly intervals—ensures comparability over time. It also allows organisations to benchmark against internal standards or industry norms. Moreover, analysing CSAT alongside behavioural data (e.g., repeat tickets or support channel preferences) can uncover deeper insights into customer loyalty and service quality.
In practice, the goal is not merely to chase a high CSAT number but to use the metric as a trigger for meaningful action. Low scores should prompt investigations into root causes, whether they stem from agent training gaps, system limitations or broader product issues. By acting decisively on CSAT feedback, support teams can foster trust, reduce churn and create a virtuous cycle of continuous improvement.
First Response Time (FRT): Speed of Initial Reply
First Response Time, often abbreviated as FRT, is the interval between a customer’s first enquiry and the moment an agent sends the initial reply. In an omnichannel environment—where customers may reach out via email, chat, social media, or a ticketing portal—FRT is a critical indicator of how promptly a support team acknowledges that a problem exists. A short FRT signals that customers feel heard and valued, even before a solution is offered.
Typical industry benchmarks suggest that a first response within five to ten minutes for live chat, and under 24 hours for email or ticket submissions, yields the highest satisfaction scores. However, the appropriate target will vary with the nature of your product and the expectations of your user base. For high‑volume support centres, a 15‑minute window for chat and a 12‑hour window for email often strikes the right balance between speed and resource allocation.
FRT is usually calculated by logging the timestamp of the customer’s initial message and the timestamp of the agent’s first reply. The difference is recorded in minutes or hours. A simple formula is:
FRT = Reply Time – Initial Message Time
Monitoring FRT across channels enables teams to spot bottlenecks. If chat FRT consistently exceeds the target while email remains below it, the issue may lie in staffing, training, or the routing logic that assigns tickets. Regularly reviewing FRT data also informs staffing plans; for instance, a 24‑hour average during peak periods might indicate that additional agents or automated triage bots are needed.
To drive continuous improvement, combine FRT metrics with customer feedback. A survey question such as “How quickly did you receive a reply?” can validate whether your quantitative target aligns with perceived responsiveness. When customers report a swift reply, they are more likely to attribute subsequent positive outcomes to your support culture, thereby boosting overall satisfaction.
Resolution Time: Getting Issues Fully Closed
Resolution Time measures the total duration from when a support ticket is created until it is formally closed with a satisfactory outcome for the customer. Unlike FRT, which focuses only on the initial reaction, Resolution Time encompasses every interaction required to fully address the issue, including research, escalations, and follow‑ups. It reflects the effectiveness of your support process and the quality of your agents’ problem‑solving skills.
Calculating Resolution Time is straightforward: record the timestamp when the ticket is opened and the timestamp when it is closed. The difference, expressed in hours or days, gives a clear view of the average lifespan of a support case. Many organisations aim for a resolution time of 24 hours or less for standard queries, while more complex issues may target 48–72 hours.
Escalation procedures – A well‑defined escalation path prevents delays caused by unclear ownership.
Knowledge base quality – Rich, searchable documentation reduces the need for back‑and‑forth communication.
Agent skill set – Cross‑training agents in multiple product areas decreases the time spent transferring tickets.
To optimise Resolution Time, adopt a tiered support model where simple tickets are resolved by front‑line agents and complex ones are routed to specialised teams. Implementing automated status updates keeps customers informed, reducing the need for additional follow‑up queries that otherwise prolong the ticket life. Regularly analysing Resolution Time by category and agent performance also highlights training opportunities and process gaps.
Ultimately, shorter Resolution Times correlate strongly with higher CSAT scores and lower churn rates. By setting realistic benchmarks, tracking performance diligently, and aligning support workflows to those goals, you create a customer experience that values both speed and thoroughness, thereby reinforcing loyalty across all channels.
How to Track and Benchmark These KPIs Effectively
Tracking customer support KPIs starts with a clear definition of what each metric measures. CSAT, for example, should be calculated from the same set of survey questions across all channels to avoid skewed comparisons. FRT must capture the exact moment an agent first engages a ticket, excluding any automated responses that do not involve human interaction. Resolution time should count from ticket creation to the final acknowledgement of closure by the customer, not just the last agent edit.
Choose a single source of truth. Whether it’s Zendesk, Freshdesk or an in‑house system, consolidate all ticket data into one analytics platform. Duplicate records or inconsistent timestamps will distort trend analysis.
Automate data capture. Use built‑in APIs or webhooks to feed real‑time data into a business intelligence tool. Manual uploads introduce latency and human error.
Segment by agent, team and channel. A global CSAT score can mask disparities; break it down to see where a particular team or channel is underperforming.
Set realistic benchmarks. Compare against internal historical averages first, then broaden the scope to industry benchmarks once your own data stabilises.
Visualise trends over time. Line charts for monthly CSAT, bar charts for average FRT per agent, and heat maps for resolution time clusters help spot patterns at a glance.
Once data is reliably captured, establish a cadence for review. A weekly pulse on FRT can identify emerging bottlenecks, while monthly deep dives into CSAT and resolution time reveal longer‑term effectiveness. Combine these insights with qualitative feedback from agent interviews to ensure the numbers are interpreted in context.
Using KPI Insights to Drive Service Improvements
Raw KPI figures are only useful when they translate into action. Investigate root causes—training gaps, workload imbalance or system limitations—and implement targeted interventions.
Prioritise quick wins. If FRT is high, optimise the ticket routing rule that forwards high‑priority cases directly to senior agents. A single rule change can shave minutes off every ticket.
Align incentives with metrics. Reward agents who consistently hit CSAT targets or reduce resolution time, but pair this with coaching for those who need support. Balanced scorecards avoid the “tunnel vision” that can arise from focusing on a single KPI.
Iterate on ticket templates. Low CSAT often points to unhelpful or generic responses. Update knowledge‑base articles and response templates to address the most common pain points highlighted in the data.
Leverage predictive analytics. Use historical resolution times to build a predictive model that flags tickets likely to exceed the SLA, allowing proactive resource allocation.
Embed continuous feedback loops. After implementing changes, monitor the KPIs again to confirm the impact. If the expected improvement does not materialise, reassess the underlying assumptions.
Ultimately, the goal is a virtuous cycle: accurate tracking feeds meaningful insights, which then guide process enhancements that improve CSAT, lower FRT and shorten resolution time. By treating KPIs as both diagnostic tools and action catalysts, organisations can evolve their omnichannel support into a consistently high‑performing service that delights customers and empowers agents alike.
Verdict: Choosing the Right KPIs for Your Support Team
When you’re selecting KPIs for an omnichannel support operation, the goal isn’t to accumulate numbers for their own sake but to surface actionable insights that drive a smoother customer journey and a more efficient team. The three pillars discussed – CSAT, FRT, and resolution time – are the most widely recognised because they each touch a different dimension of the support experience.
Customer Satisfaction (CSAT) reflects the emotional response after an interaction.
First Response Time (FRT) captures the immediacy with which a customer feels heard.
Resolution Time measures the completeness of the solution delivered.
In practice, you’ll rarely find a single KPI that covers every nuance. Instead, use them in combination to build a balanced view. For example, a short FRT coupled with a high CSAT suggests that the initial acknowledgement is effective, while a long resolution time might indicate complexity or gaps in knowledge bases.
Begin by defining the business outcome you want to influence. If your aim is to boost brand loyalty, CSAT should carry more weight. If the focus is on operational cost, resolution time becomes more critical. Once the outcome is clear, decide which metric is the most direct lever.
Consider also the data collection burden. CSAT typically requires a post‑interaction survey – a simple question but one that can reduce response rates if over‑used. FRT is usually a timestamp that can be extracted automatically from the ticketing system. Resolution time, while easy to measure, can be misleading if not contextualised – a quick fix may satisfy a customer but not solve a systemic problem.
Another key factor is the audience for the KPI dashboards. Managers might prefer aggregated resolution time to spot trends, whereas support agents will benefit from real‑time FRT alerts that prompt immediate action. Ensure each KPI is presented with clear thresholds and actionable recommendations to avoid data becoming a static report.
Finally, iterate. A KPI that was relevant at launch may lose significance as product features evolve or customer expectations shift. Regularly review the relevance of each KPI against your strategic objectives and adjust the weightings or targets accordingly.
Frequently Asked Questions
How often should I measure CSAT?
CSAT is typically measured after each support interaction, allowing you to capture fresh feedback and spot trends quickly.
What is an acceptable First Response Time for SaaS support?
Many SaaS teams aim for an initial reply within 30 minutes to an hour, but the target should reflect your customers' expectations and service level agreements.
Can I use the same KPI thresholds for all support channels?
Thresholds often differ between channels—live chat may have tighter response targets than email, so adjust expectations accordingly.
How do I calculate average resolution time?
Add the total time taken to resolve each ticket over a period and divide by the number of tickets resolved in that same period.
What’s the best way to act on low CSAT scores?
Identify common themes in the feedback, address any process gaps, and communicate the improvements back to customers to rebuild trust.
Frequently Asked Questions
How often should I measure CSAT?
CSAT is typically measured after each support interaction, allowing you to capture fresh feedback and spot trends quickly.
What is an acceptable First Response Time for SaaS support?
Many SaaS teams aim for an initial reply within 30 minutes to an hour, but the target should reflect your customers' expectations and service level agreements.
Can I use the same KPI thresholds for all support channels?
Thresholds often differ between channels—live chat may have tighter response targets than email, so adjust expectations accordingly.
How do I calculate average resolution time?
Add the total time taken to resolve each ticket over a period and divide by the number of tickets resolved in that same period.
What’s the best way to act on low CSAT scores?
Identify common themes in the feedback, address any process gaps, and communicate the improvements back to customers to rebuild trust.
The page_welcome_message payload takes a fixed envelope — type of "VISUAL_EDITOR", version of 2, landing_screen_type of "welcome_message" and media_type of "text" — with the interesting part nested inside text_format:
Meta also exposes welcome message sequences as reusable objects. You POST a sequence to the welcome_message_sequences endpoint, get an ID back, and reference that ID from the creative in either the Marketing API or Ads Manager. A sequence bundles an introductory text message, an autofill message and ice breakers. Creating them requires the whatsapp_business_management permission.
One constraint to design around: a sequence linked to an active ad cannot be deleted or modified. You have to disconnect it from every ad first. In practice that means versioning sequences rather than editing them — create consultation-v2, point new ads at it, retire consultation-v1 once its ads stop.
The Welcome Message Is the Highest-Leverage Field
The value you pass in customer_action_type decides how much structured intent reaches your inbox before a human reads anything. Meta supports four:
autofill_message — pre-fills the user's input box with a fixed string; they just tap send. Every lead from that ad arrives with identical text, which makes exact-match routing trivial. It captures nothing beyond "this person tapped this ad".
ice_breakers — renders tappable prompts such as "Book a viewing", "Request pricing" or "Talk to sales". Meta caps these at three quick-reply options. Each sends its own payload, so the first inbound message already tells you which branch the prospect chose.
whatsapp_flow — opens an interactive multi-step form inside WhatsApp before the first message is sent. This is how you collect an email, a budget band or a preferred slot without an agent having to ask.
ctwa_call_prompt — surfaces a call prompt alongside messaging. Remember the objective constraint: this one requires OUTCOME_ENGAGEMENT.
The trade-off is friction against context. An autofill message maximises how many people send something and minimises what you learn about them. A Flow does the reverse. Our default for a sales-led desk is ice breakers: three options is enough to branch on, and tapping a button costs the prospect nothing. Whichever you pick, the payload it produces is what lets you assign WhatsApp chats to the right agent automatically instead of letting the fastest agent cherry-pick the queue.
The 72-Hour Free Window Nobody Prices In
This is the part of click-to-chat ads that changes the maths, and it is routinely misunderstood. There are two windows, they run on independent timers, and one of them is free.
When a user messages you via a click-to-WhatsApp ad, a 24-hour customer service window opens, exactly as it would for any inbound message. Facebook Page call-to-action buttons behave the same way, though Meta notes that entry point applies to the Android and iOS apps only.
Here is the part that matters. If you respond inside that window with any message type, a separate free entry point window opens, and it lasts 72 hours from your response. Meta's wording on what you can send during it is unambiguous: while open, you can send any type of message to the user at no charge. Any category. Marketing templates included.
The two windows do not move together. Once the 24-hour customer service window closes, you are back to templates only — but if the free entry point window is still running, those templates are still free. So a prospect who taps your ad on Monday morning and gets a reply within the hour can be re-engaged with a marketing template on Wednesday morning at no Meta charge, long after free-form replies have stopped being available.
Two consequences follow for anyone budgeting click-to-chat ads. First, response speed is not only a conversion lever, it is a cost lever: replying inside 24 hours is what buys the 72 free hours. A campaign that runs while nobody is watching the inbox pays full rate for every follow-up. Second, your follow-up cadence should be built around the 72-hour boundary rather than around a generic day-one, day-three, day-seven schedule. This is where SLA timers stop being a support-quality metric and start showing up in the media budget, which is why we wire them into routing rules in OmniDesk rather than leaving them to agent discipline.
Two related pricing facts are worth stating plainly, because both are widely misreported:
Utility templates sent inside an open customer service window are free. Meta's documentation says so directly, and the webhook confirms it — those messages come back with type of free_customer_service, category of utility and billable set to false.
There is no change on 1 October 2026 that makes service messages billable. You will find this claim on a lot of comparison pages. Meta's updates-to-pricing documentation lists only rate-card moves for that date — lower rates for Bangladesh, Iraq, Nepal and Sri Lanka, higher rates for Kazakhstan, Kuwait, Morocco, Oman and Ukraine, plus billing localisation in Brazil. Service conversations have been free for all businesses since 1 November 2024 and remain so.
For context on the surrounding model: on 1 July 2025 Meta replaced conversation-based pricing with per-message pricing, so marketing, utility and authentication templates sent outside a free window are billed individually by delivery, destination country calling code and volume tier. Our breakdown of WhatsApp Business API pricing goes through how those layers stack.
The Referral Object: What Arrives With the First Message
When someone taps your ad and sends their first message, the WhatsApp Cloud API attaches a referral object to that inbound message on your webhook. This is the attribution data for click-to-chat ads, and it is the raw material for every routing rule in the next section.
Two properties of it drive the engineering. It arrives only on the first message. Meta generates ctwa_clid at the moment of the tap and attaches it to the referral object of that first inbound message; subsequent messages in the same thread carry nothing. If you do not persist it on arrival, it is gone. And users may elect to remove their referral data, so referral can be absent entirely. Any handler that assumes the key exists will throw on a real, legitimate message.
The object carries source_url, source_id, source_type, headline, body, media_type, image_url, video_url, thumbnail_url and ctwa_clid. What each is worth operationally:
Referral field
What it holds
Routing decision it enables
source_id
The ad ID
The primary routing key. Map ad IDs to teams, queues or owners so a lead is assigned before anyone opens the thread.
source_type
"ad" or "post"
Separate paid traffic from organic post traffic and apply a tighter SLA to the traffic you are paying for.
source_url
The ad or post URL on Facebook
Give the agent a one-click link to the exact creative the prospect saw.
headline
The ad headline you set as name
Keyword routing without maintaining an ad-ID table — match on the words you already wrote into the creative.
body
The ad's primary copy
Secondary tagging: offer, promotion or product line mentioned in the ad.
media_type
The creative's media type
Creative-format performance analysis once you join it to conversion outcomes.
image_url / video_url / thumbnail_url
The creative asset
Render the ad the prospect tapped inside the agent's conversation view, so the first reply can reference it accurately.
ctwa_clid
An opaque click identifier
The attribution key. Store it on the contact and send it back through the Conversions API when the lead converts.
Automated Lead Routing Built on Referral Data
Referral metadata is only worth capturing if something acts on it within seconds. Four patterns cover most of what click-to-chat ads demand of a growth or support team.
Route by source_id
The cleanest rule: match the inbound ad ID against a table of active campaigns and assign the thread accordingly. Enterprise campaign to the enterprise pod, consumer promotion to tier-one support, high-budget campaigns to your closers. Teams running one campaign per property or per product line use this to bind a lead to its owner before an agent has read a word — the pattern behind WhatsApp lead follow-ups for real estate.
Route on headline and body text
Maintaining an ad-ID table gets painful when you are testing dozens of creatives a week. The cheaper approach is to match on strings you already control: put a token in the headline and route on it. Headlines containing "Enterprise" or "Commercial" get a high-priority tag and a tight response SLA; headlines containing "Clearance" go to the promotions queue. It is the same mechanism that lets a small team manage 500 WhatsApp prospects without losing a lead during a spike, because the queue sorts itself.
Bot-first triage with a clean handoff
When volume outruns headcount, an automation should acknowledge every ad-sourced thread immediately, referencing the specific headline so the reply does not read as generic. It asks the two or three qualifying questions your team would ask anyway, then hands over with an internal summary note attached. The failure mode to design against is a bot that will not let go; our notes on chatbot-to-human handoff cover the escape hatches that matter. Remember that the bot's reply is also what opens the 72-hour free window, so this pattern pays for itself twice.
Persist ctwa_clid on the contact record
Write it to a dedicated field on first contact, and make it read-only. It is the only bridge between a WhatsApp conversation and the ad that produced it, and it arrives exactly once. A deal that closes forty-five days later is still attributable if the field survived; it is unattributable if an agent overwrote it. Locking system fields against manual editing is one of the less glamorous shared inbox best practices, and one of the few that has a directly measurable cost when skipped.
Closing the Loop With the Conversions API
Without conversion signal, Meta optimises click-to-chat ads for conversations started. You will get cheaper conversations and, frequently, worse ones. Sending qualification and purchase events back through the Conversions API is what moves the auction from volume to value.
Meta runs a specific variant for this, Conversions API for Business Messaging, and its requirements are narrow enough to get wrong:
action_source is "business_messaging" — a fixed value across all messaging channels. Not "chat", not "other".
messaging_channel is "whatsapp" (the same field takes "messenger" or "instagram" for the other surfaces).
For WhatsApp, user_data must carry whatsapp_business_account_id and ctwa_clid.
ctwa_clid must not be hashed. Meta's parameter reference marks it "Do not hash" explicitly. Email and phone still require SHA-256; this field is the exception, and a pipeline that hashes everything in user_data by default will silently break attribution.
Non-web events require only action_source — you do not need client_user_agent or event_source_url, which web events do require.
Supported event_name values include Purchase, LeadSubmitted, QualifiedLead, InitiateCheckout, AddToCart, ViewContent, OrderCreated, OrderShipped, OrderDelivered, OrderCanceled, OrderReturned, CartAbandoned, RatingProvided and ReviewProvided. For a sales desk, QualifiedLead fired when an agent marks a thread qualified is usually the highest-signal event you can send early enough to be useful.
One operational warning from Meta's own guidance: Meta does not deduplicate these events for you, and explicitly encourages advertisers to deduplicate before sending. If both your inbox automation and your CRM can mark a deal won, decide now which one owns the event, or you will train the auction on inflated conversion counts.
A Pre-Launch Checklist for Click-to-Chat Ads
Objective matches the creative. One of the four permitted values, and strictly OUTCOME_ENGAGEMENT if the creative uses ctwa_call_prompt.
Destination is set and live.destination_type of "WHATSAPP", pointed at a number someone is actually watching.
Welcome message matches your intent-capture goal. Autofill for volume, ice breakers for branching, Flow for structured data. Sequences versioned rather than edited, since a sequence attached to a live ad cannot be changed.
Webhook handles a missing referral key. Users can strip it. Test that path deliberately rather than discovering it in production.
ctwa_clid is persisted on first message, unhashed, and write-protected. It never arrives twice.
Someone replies inside 24 hours, always. That reply opens the 72-hour free entry point window. Set the SLA timer to something well short of it and alert on breach.
Follow-up cadence is built around the 72-hour boundary, not around a generic drip schedule.
Templates for post-window re-engagement are approved before launch. Approval is Meta's decision and takes as long as it takes — see WhatsApp message template approval. A WhatsApp Business Account holds a maximum of 250 templates, so prune before you add.
Conversions API events fire with business_messaging, whatsapp and an unhashed ctwa_clid — and exactly one system owns each event.
None of this is exotic. Click-to-chat ads come down to a handful of fields, two windows and one identifier. But the gap between a click-to-chat campaign that reports well and one that quietly loses its attribution is almost entirely in this list, and most of it has to be right before the first impression is served rather than after.
Want every ad-sourced lead routed, tagged and timed before an agent opens it?
WhatsApp click-to-chat ads are Meta ad units whose call-to-action opens a WhatsApp thread with your business instead of loading a landing page. Meta calls the format ads that click to WhatsApp, usually shortened to CTWA. The prospect taps the ad, WhatsApp opens with a welcome message you configured, and their first message arrives on your webhook carrying a referral object that identifies the exact ad, headline and click. That referral payload is what makes click-to-chat ads routable: you can assign the conversation to the right team before an agent has read it.
Which campaign objectives can I use for click-to-chat ads?
Meta permits four objectives for WhatsApp-destination campaigns: OUTCOME_ENGAGEMENT, OUTCOME_LEADS, OUTCOME_SALES and OUTCOME_TRAFFIC. One rule is absolute rather than advisory: if your creative uses a call prompt, the objective must be OUTCOME_ENGAGEMENT. Decide whether you want call prompts before you build the campaign structure, because that choice constrains everything above it. Beyond that constraint Meta does not publish a decision matrix, so which of the four suits your click-to-chat ads is a question to test rather than to look up.
Are messages free after someone clicks a WhatsApp ad?
Partly, and the mechanism is worth learning because it is where click-to-chat ads stop behaving like ordinary paid traffic. A user messaging you from a click-to-WhatsApp ad opens the usual 24-hour customer service window. If you respond inside that window with any message type, a separate free entry point window opens and runs for 72 hours from your response. Meta states that while it is open you can send any type of message to that user at no charge, marketing templates included. The two windows run on independent timers, so once the 24-hour window closes you are limited to templates, but those templates stay free while the 72-hour window is still open.
Is it true that WhatsApp service messages stop being free in October 2026?
No. This claim circulates widely and Meta's own documentation contradicts it. Service conversations became free for all businesses on 1 November 2024 and remain free, and Meta's pricing documentation still states that utility templates delivered inside an open customer service window are free. What Meta actually documents for 1 October 2026 is a set of rate-card moves: lower rates for Bangladesh, Iraq, Nepal and Sri Lanka, higher rates for Kazakhstan, Kuwait, Morocco, Oman and Ukraine, plus billing localisation in Brazil. That is a change to what things cost, not to what is billable.
What is ctwa_clid and how do I use it?
ctwa_clid is the Click to WhatsApp ID. Meta generates it at the moment a prospect taps your ad and attaches it to the referral object on that prospect's first inbound message only, so if you do not persist it on arrival it is gone. Store it on the contact record as a write-protected field, then send it back through the Conversions API when the lead converts. Two rules trip people up: it must never be hashed, even though email and phone in the same user_data object must be SHA-256 hashed, and for WhatsApp you must send whatsapp_business_account_id alongside it.
How do I route leads from click-to-chat ads automatically?
Route click-to-chat ads on the referral object that arrives with the first message. The cleanest key is source_id, the ad ID, matched against a table of active campaigns so each ad assigns to a specific team or owner. When you are testing many creatives, matching on the headline or body text is cheaper to maintain, because you control those strings when you write the ad. source_type tells you whether the traffic was an ad or an organic post, which lets you apply a tighter SLA to traffic you are paying for. Build the rules so they fire on message arrival, not on agent pickup, or click-to-chat ads will keep arriving faster than anyone can triage them.
What Conversions API settings do click-to-chat ads need?
Meta runs a specific variant called Conversions API for Business Messaging. Set action_source to business_messaging, a fixed value across all messaging channels, and messaging_channel to whatsapp. For WhatsApp, user_data must carry whatsapp_business_account_id and an unhashed ctwa_clid. Non-web events require only action_source, unlike web events which also need client_user_agent and event_source_url. Supported event names include Purchase, LeadSubmitted and QualifiedLead. Meta does not deduplicate these events for you and asks advertisers to deduplicate before sending, so decide which single system owns each event.
Can I change a welcome message sequence after the ad is live?
No. Meta states that a sequence linked to an active ad cannot be deleted or modified, and you must disconnect it from every ad before making changes. The practical answer is to version sequences rather than edit them: create a new sequence, point new ads at it, and retire the old one when its ads stop running. Sequences themselves are reusable objects you POST to the welcome_message_sequences endpoint, which returns an ID you reference from the creative in either Ads Manager or the Marketing API. Creating them requires the whatsapp_business_management permission.
One inbox. Every channel. No per-message platform fee.
Join 500+ businesses using OmniDesk to manage WhatsApp, Instagram, Telegram and live chat — with live translation, routing and SLA tracking included on every plan.