Meta ads let you drive conversations on WhatsApp, Messenger, and Instagram directly from your ads. You can add a button to your ad that opens a conversation in WhatsApp or combine channels to improve the user experience and create more sales opportunities.
Create Click-to-WhatsApp ads in Ads Manager
Prerequisites
Alibaba Cloud account registration and enterprise identity verification have been completed.
Chat App Message Service has been activated.
-
You have completed WhatsApp Business Account (WABA) registration and management and added a phone number.
-
You have created a Facebook Page.
-
You have linked a WhatsApp number to your Facebook Page.
NoteYou can only link a WhatsApp number to a Facebook Page, not to a personal profile.
-
You have an ad account in Meta Business Manager. If you do not have one, click Add and follow the on-screen instructions to create it.
In the left navigation pane of Meta Business Manager, select Accounts > Ad accounts to view the ad accounts in your current business portfolio.
-
You have linked a payment method in Meta Ads Manager.
Steps
-
Log on to Meta Ads Manager.
-
In the left navigation pane, click Campaigns.
The page displays three tabs at the top: Campaigns, Ad sets, and Ads. The Campaigns tab is selected by default, and a Create button appears in the center of the page.
-
Ensure that the Campaigns tab is selected.
-
Click Create.
-
Select a campaign objective, such as Engagement, Traffic, or Sales.
-
Meta offers six campaign objectives: Awareness, Traffic, Engagement, Leads, App Promotion, and Sales. You can only create a Click-to-WhatsApp ad with the Engagement, Traffic, or Sales objectives.
-
(Not recommended) If you see more than six objectives, you may be able to use legacy objectives to create a Click-to-WhatsApp ad for a limited time.
This example uses the Engagement objective.
-
Choose a setup method, and then click Continue.
In the Choose a campaign setup dialog box, Tailored messages campaign is the quick setup option, which includes pre-configured settings like Advantage+ placements and a highest volume bidding strategy. The other option is Manual engagement campaign.
-
Configure settings such as the campaign name, message destination (Messenger, Instagram, or WhatsApp), budget, schedule, and audience, and then click Next.
-
Follow the on-screen instructions to upload your ad creative, preview the ad, and set up a greeting message, frequently asked questions, and an auto-reply for users who click your ad.
The auto-reply feature is supported only in Messenger. For WhatsApp and Instagram, you can set up auto-replies by integrating with Chat Flow.
-
Click Publish to create the ad.
Create Click-to-Messenger or Click-to-Instagram ads
The process is the same as for creating Click-to-WhatsApp ads. Simply select Messenger or Instagram as the message destination.
-
Click-to-Messenger ads require a Facebook Page.
-
Click-to-Instagram ads require a Professional Account.
For more information about how to create click-to-message ads in Meta Ads Manager, see the Meta Business Help Center.
Automate replies with Chat Flow
Chat Flow is a visual, no-code tool for building chat flows. By dragging and dropping components onto a canvas, you can define conversation logic and automatically respond to user input with customized replies. Chat Flow is widely used for task automation, data collection, and creating personalized experiences.
When creating a click-to-message ad in Meta Ads Manager, you can set a greeting message for users who click your ad. This greeting can act as a keyword. When a user sends the keyword to the WhatsApp Business Account (WABA), Facebook Page, or Professional Account associated with the flow, the flow is automatically triggered and sends an auto-reply.
The following example uses the prompts "Hello" and "Customer Service" to demonstrate how to create and interact with a WhatsApp auto-reply.
Steps
-
When setting the message destination for the ad, select WhatsApp.
-
When configuring the ad's greeting message, create two frequently asked questions: "Hello" and "Customer Service". Leave the corresponding auto-reply fields empty.
-
In the Chat App Message Service console, click in the left navigation pane.
-
In the Create Flow dialog box, select Create on Blank Canvas.
-
In the Create Flow dialog box:
-
Select Trigger Type as WhatsApp.
-
Enter the Flow Name and Remarks.
-
Select Account Name and Mobile Number.
NoteThe phone number must match the one linked in your ad. Otherwise, the flow will not be triggered.
-
Click the OK button.
-
-
In the flow list, click a Flow Name to go to the edit page.
-
On the editor page, click the Component Library icon on the left.
After you open the Component Library panel, the Basic category displays components such as Branching by Conditions, Go to Node, Set Variable, HTTP request, Wait, Recognize Phone Number, call function, Date/Time Branching, and Random Branching.
You can also hover over a connection line on the canvas and click the blue + icon.
A menu of Basic node types appears, including Branching by Conditions, Go to Node, Set Variable, HTTP request, Wait, Recognize Phone Number, and Recognize language from text. The properties panel on the right shows the available variables for the Start node:
incomingMessage,wabaId,wabaPhoneNumber,customerPhoneNumber,customerName, andincomingMessageType. -
For this example, find the Branching by Conditions component in the component library and drag it onto a connection line on the canvas.
A flow of Start → Branching by Conditions → End is automatically generated on the canvas. By default, the component has two exits: Branch_A and else. When the component is selected, the properties panel on the right displays the available variables and the branch condition configuration area. You can add more branches by clicking the Add New Branch link.
-
The ad contains two frequently asked questions: "Hello" and "Customer Service". When a user clicks one, the message is sent to the WABA number and triggers the flow. To handle these messages, configure two branches in the Branching by Conditions component. Click the component, edit Branch_A in the right-side configuration panel, and add a new branch.
-
Click Branch_A, rename it to "Hello", and in the rule configuration area below, set the rule to
incomingMessage-stringEquals-Hello. This means that if a user sends a message that equals "Hello", the flow enters this branch. -
Click Add New Branch to create Branch_B. Similar to Branch_A, rename it to "Customer Service" and configure the rule as
incomingMessage-stringEquals-Customer Service.After configuration, the flow diagram shows the Start node connected to the Branching by Conditions node. This node splits into three branches, Hello, Customer Service, and else, which then converge at the End node. In the Branching by Conditions panel, the available variables include
incomingMessage,wabaId,wabaPhoneNumber,customerPhoneNumber,customerName, andincomingMessageType.
-
This flow now directs messages that are "Hello" to the Hello branch, messages that are "Customer Service" to the Customer Service branch, and all other messages to the else branch.
For more information, see Branching by Conditions.
-
In the "Hello" branch, add a Send WhatsApp Message component to reply to the user.
-
In the component library, find the Send WhatsApp Message component.
-
In the component configuration panel, rename the component to "Reply to Hello message". This helps you identify the component in other parts of the flow, for example, when using a "Go to Node" component.
-
Select a message type. Supported types include Text, Media, interactive message, Product Message, and template message. For descriptions of each type, see Message settings. This example uses a text message.
-
Enter the reply content.
-
Click the Save button to save the current flow orchestration.
The saved flow structure is Start → Branching by Conditions (with Hello, Customer Service, and else branches) → End. The Hello branch connects to the Reply to Hello message node. In the properties panel for this node, set Action to Reply, set Message Type to Text, and for Content, enter
Welcome to Chat App Message Service's Chat Flow..
-
Now, when a user's incoming message is "Hello", it is evaluated by the Branching by Conditions component and routed to the "Hello" branch. This triggers the "Reply to Hello message" component, which sends a text message to the user.
-
In the "Customer Service" branch, use an interactive message to provide the user with a button to get the customer service phone number.
-
In the component library, find the Send WhatsApp Message component.
-
In the component configuration panel, rename the component to "Reply to Customer Service message".
-
Select Interactive Message as the message type and Reply buttons as the message action.
-
Enter the reply content, for example, "Please select the service you need."
-
In the Button 1 section, set the button name to "Get customer service phone number".
-
In the Interactive reply settings section, enable Interactive Reply-based Branch and set a custom output variable name. Custom variables can be defined and referenced in subsequent components or flows.
For example, set the custom output variable name to
customerService. The panel also allows you to configure the Enable branching for interactive reply timeout switch and the Wait for interactive reply duration (90 seconds by default). -
Click Save to save the current flow design.
Select the Reply to Customer Service message node. In the configuration panel on the right, set Message Type to Interactive Message, set Action to Reply buttons, enter "Please select the service you need" in the Body field, and enter "Get customer service phone number" as the Button name for Button 1.
Now, if a user enters the "Customer Service" branch, they receive a message with a button. Clicking the button leads them to the "Get customer service phone number" branch.
-
-
Add a Send WhatsApp Message component to the "Get customer service phone number" branch to send the phone number to the customer. The setup process is the same as for the "Reply to Hello message" component, so you can copy that component and edit the reply content.
Click the Copy button on the component to duplicate it. Drag the copied component into the "Get customer service phone number" branch and edit its name and reply content.
Change the component name to Get customer service phone number, modify the content to
Call us at: 400 000 000, and then click Save in the upper-right corner. -
When an incoming message is neither "Hello" nor "Customer Service", it enters the else branch. You can design a welcome message in the else branch to handle general messages. For example, use an interactive message with reply buttons that offer product information or links. The setup is the same as for the "Get customer service phone number" component.
In the properties panel of the welcome message node, set Action to Reply, Message Type to Interactive Message, and Message Action to Reply buttons. For the body text, enter "Welcome to Chat App Message Service. Click a button to learn more." Configure three reply buttons: WhatsApp Business Message, Chat Flow, and Other Products. Each button should lead to a downstream node that sends the corresponding product introduction or link.
-
After you finish editing, click Save. After the flow is saved successfully, click Save and Publish to publish the flow.
Integrate Chat Flow with Messenger and Instagram ads
The process is the same as for WhatsApp. When creating a flow, select the corresponding trigger type and link the appropriate account.
If you use Chat Flow with click-to-message ads, do not set reply content for the greeting messages and questions in the ad settings. Otherwise, users might receive two messages: the auto-reply from the ad and the reply from the triggered flow.
For more information about the features and use of Chat Flow, see Chat Flow.
View ad performance in Chat App Message Service
After granting authorization, you can view ad data for your authorized Facebook Pages in the Chat App Message Service console.
-
On the channel operations page for WhatsApp, click Advertisement Information in the left navigation pane.
-
Click the Authorize button at the top of the Advertisement Information page.
A banner at the top of the page explains that after you complete the Authorization, Chat App Message Service can access more ad click data and send it back to the WhatsApp Business Platform for performance analysis. After authorization, you can view the Page IDs and other information for your authorized Facebook Pages.
-
In the embedded authorization dialog box, follow the on-screen instructions to grant authorization.
-
After authorization is complete, you can view ad data by filtering by Business Number, User Phone Number, Ad ID, or a specified time range.