📈

Growth & Marketing Studio

13 articles By Conversa Labs

Page/Form Builder, AI Studio, social publishing, Ads/CTWA/leadgen, launches, launch groups, social automation and Collaboration Network.

Growth & Marketing Studio overview

Overview The Growth & Marketing Studio is the set of ConversaLabs modules focused on the front of the funnel: publishing content to social, driving paid traffic and capturing Meta leads, distributing audiences into WhatsApp groups and growing organically — all connected to the same conversations, CRM, follow-ups and payments engine you already use for support. Instead of bolting together separate tools for post scheduling, ads and engagement, you run your marketing operation inside the platform itself. Every captured lead becomes a Contact, a Conversation, a CRM deal and/or a follow-up enrollment — with no manual integrations. The Studio brings together these modules: - Social publishing — schedule and approve posts on Instagram, TikTok and more. - Ads, CTWA & leadgen — attribute paid traffic and capture Meta leads (messaging-conversation ads — WhatsApp, Messenger and/or Instagram — and lead forms). - Launch Groups — auto-distribute leads into WhatsApp groups by capacity. - Growth Social Automation — monitor and engage on social via a dedicated service. - Collaboration Network / Matrix — organic-engagement pods and affiliation. Prerequisites - An active ConversaLabs account and an administrator user to configure the modules. - Every Studio module is opt-in: it must be enabled for your account (feature flag) and usually requires administrator permission. Some depend on external integrations (Meta, TikTok) or an auxiliary service. - For best results, have the base modules already set up: Inboxes, CRM, Follow-ups and, when you charge, Payments. Step by step 1. Confirm with an administrator which Studio modules are enabled for your account. 2. Capture leads with Meta Ads, CTWA & leadgen (messaging-conversation ads — WhatsApp, Messenger and/or Instagram — and lead forms). 3. Define where leads go (Conversation, CRM, Follow-up, Calendar or a Payments checkout). 4. Produce and distribute content: schedule posts in social publishing with approval. 5. Distribute audiences into WhatsApp groups with Launch Groups. 6. Extend organic reach with Growth Social Automation and the Collaboration Network / Matrix. 7. Track results in each module's funnel reports. Settings & options - Per-module enablement: each Studio item has its own flag and settings area. - External connections: social publishing, Ads and automations use marketing connections (OAuth) with tokens stored encrypted and never exposed. - Lead destinations: configure where each captured lead should flow (CRM, Follow-up, Calendar, etc.). - Auxiliary service: social automation uses a dedicated service connected to your account. Use cases - Scale acquisition through click-to-WhatsApp ads with end-to-end attribution. - Keep a social posting calendar with approval before publishing. - Distribute a large audience across multiple WhatsApp groups automatically (Launch Groups). - Grow organic reach with engagement pods and affiliation. Tips, limits & best practices - Enable modules incrementally — start with capture (Ads/CTWA) and social publishing. - Each social network has its own rules and limits; respect them to avoid blocks. - In WhatsApp groups, respect sending limits to avoid blocks (anti-ban). - Keep lead destinations consistent so you don't duplicate contacts. Troubleshooting - I don't see a Studio module: it may not be enabled for your account or your role — talk to an administrator. - Leads don't appear in CRM/Follow-up: review the destination configured on the ad/leadgen. - Social publishing fails: check the connection (OAuth) and the network's limits/approvals. See also - Social publishing - Ads, CTWA & leadgen - Launch Groups (distribution into WhatsApp groups) - Growth Social Automation - Collaboration Network / Matrix

Social publishing: scheduling and approval of posts

Overview Social publishing is the outbound layer of the Growth Studio: beyond receiving DMs and comments into conversations, you can now publish content to social — feed posts, reels and stories — across multiple profiles, with scheduling, a content calendar, an approval flow and metrics sync back into reports. It's a layer added over the existing channels (it doesn't create a new channel type). You connect the marketing account (Meta/TikTok), bind a profile that can publish, and create posts. Creatives generated in AI Studio can land here as a draft awaiting approval. Prerequisites - Opt-in module: it must be enabled for your account and managing it requires administrator permission. - A marketing connection (OAuth) with the matching network and a profile enabled to publish (Facebook Page / Instagram business account / TikTok account). - Publishing content to social requires platform scopes and app review (Meta/TikTok); the module is typically enabled once that external clearance is complete. - Tokens are stored encrypted and never exposed. Step by step 1. In Growth → Social, connect the network via the marketing connection (OAuth). 2. Bind a profile that will publish (feed/reels/stories per network). 3. Create a post: write the caption, attach media and choose the type (feed, reel or story). 4. Select one or more target profiles. 5. Schedule it (set date/time) or send it for approval, per your flow. 6. Once approved/scheduled, the post publishes automatically at the set time. 7. Track the content calendar and the metrics in the Growth reports. Settings & options - Post types: feed, reel and story (vary by network). - Post states: draft → scheduled → publishing → published | failed, with automatic retries on a temporary error. - Approval: creatives (including AI Studio ones) can require approval before scheduling. - Calendar: a consolidated view across all connected profiles. - Metrics: each post's insights synced into the reports tab. Use cases - Plan a week of content across multiple profiles in a single calendar. - Take an AI-generated creative from draft to published, passing through approval. - Publish launch teasers in a coordinated way across networks. - Measure post engagement alongside the rest of the funnel. Tips, limits & best practices - Each network has format, duration and publishing-rate rules — respect them. - Use approval to keep brand consistency before a post goes live. - Schedule ahead and review media (aspect ratio, size) before publishing. - Reuse AI Studio creatives to speed up production. Troubleshooting - Publishing failed: check the connection (OAuth) and whether the token/profile still has permission. - The post is stuck in "awaiting approval": ask an administrator to approve it. - Metrics don't show: syncing can take some time after publishing. - I can't connect the network: external clearance (app review/scopes) may still be pending. See also - Growth & Marketing Studio overview - Growth Social Automation - Ads, CTWA & leadgen

Ads, CTWA & leadgen with attribution

Overview The Ads module connects Meta paid traffic to your conversations operation. It covers two main paths: - CTWA (Click-to-WhatsApp) — when someone clicks an ad that opens WhatsApp, the conversation arrives with the ad referral (its source). The platform uses that data to attribute the conversation to the campaign, with nothing to wire by hand. - Lead Ads (leadgen) — leads submitted through Meta ad forms are ingested and become Contacts, and can enter follow-up cadences and the CRM. - Click-to-Messenger and Click-to-Instagram Direct — an ad click that opens a conversation in Messenger or Instagram Direct becomes an ad lead with that source, one per conversation. It shows up in the leads center (with its own tab once there are leads) and triggers the same lead flows: automations, follow-ups, group distribution, webhooks and the conversion event. WhatsApp-only actions are skipped and logged on those conversations, never sent on the wrong channel. In the conversation sidebar and the lead-details drawer, the preview shows the ad source and title, plus its image when Meta provides photo_url. With this, you know which ad each conversation/lead came from and measure the funnel end to end. Prerequisites - Opt-in module: it must be enabled for your account (feature flag growth_ads) and managing it requires administrator permission. - For CTWA: a WhatsApp channel already receiving conversations (the ad referral arrives with the conversation). - For leadgen: the Meta integration configured to receive ad-form events (Lead Ads). Step by step 1. Enable the Ads module in Growth and confirm administrator permissions. 2. CTWA: run click-to-WhatsApp ads normally on Meta. When a conversation originating from an ad arrives, the platform records the attribution automatically. 3. Leadgen: connect the ad forms (Lead Ads) so leads are ingested. 4. Verify that leads/conversations are becoming Contacts and, if desired, entering CRM and Follow-ups. 5. Track attribution and campaign performance in reports. Settings & options - CTWA attribution: reads the ad referral that comes with the conversation to link it to the campaign. - Leadgen ingestion: receives leads from ad forms and turns them into Contacts. - Destinations: attributed leads/conversations can feed the CRM and follow-up cadences. - Conversions: the conversion event can be propagated back to Meta when the conversions integration is configured. Use cases - Know exactly which campaign generated each WhatsApp conversation. - Capture Lead Ads leads and automatically start a recovery cadence. - Measure the ad → conversation → deal → sale path in one funnel. - Compare campaign performance to reallocate budget. Tips, limits & best practices - Keep WhatsApp and the Meta integration healthy so you don't lose attribution. - Combine CTWA with Follow-ups to respond fast and lift conversion. - Use launches to coordinate dated campaigns. - Respect the platforms' ad and data policies. Troubleshooting - The conversation wasn't attributed: confirm the ad is click-to-WhatsApp and that the referral arrived with the conversation. - Ad leads don't show up: review the leadgen ingestion setup with Meta. - I don't see the module: it may not be enabled for your account or your role. See also - Growth & Marketing Studio overview - Social publishing - Launch Groups

Meta Ads Manager

Overview The Ads Manager integrates the platform with the Meta Marketing API, focused on Messaging conversations campaigns: the ad takes the customer straight into a conversation on WhatsApp, Messenger and/or Instagram, depending on the destinations you pick. In WhatsApp conversations, the conversation becomes a lead attributed to the ad, the sale goes back to Meta as a conversion, and performance shows up in native metrics. It completes the two existing ads modules: - Ad leads (CTWA) — capture and attribution of everyone arriving through an ad; - Conversion tracking — sending conversion events back to Meta (CAPI). With the Ads Manager, the ad account (act_<id>) is connected to a WhatsApp inbox and the platform keeps a read-only mirror of your campaigns, ad sets, ads and creatives, synced periodically. Prerequisites - The Ads Manager module enabled on the account (it ships disabled by default and is turned on by the installation operator). - A Meta ad account (act_<id>) with management permission. - A Facebook Page and a WhatsApp Cloud number linked to the ad account. - An access token carrying the Meta ads scopes (ads_management, ads_read, business_management, pages_show_list, whatsapp_business_management). - An administrator profile on the account. Step by step 1. Enable the module on the account (operator) and confirm the target WhatsApp inbox is active. 2. Connect the ad account (automatic flow): pick the WhatsApp Cloud inbox and the platform reuses the inbox's own token to auto-list the reachable ad accounts — you just pick one (you never type the act_<id>). If that token has no ads scope, paste a Business Manager system user token and the list loads the same way. Each ad account connects to one inbox (1:1 relationship). 3. The connection starts as pending and flips to connected once the token is validated with Meta. 4. From then on the platform periodically syncs the mirror of campaigns, ad sets, ads and creatives for the account (default interval of 60 minutes, adjustable per connection), and you can force an update with the connection's Refresh action. 5. Follow the leads and conversions generated by your ads in the Ad leads and Conversion tracking modules — the ad attribution shows up on the conversation itself. Settings & options - Token type: system user (recommended — never expires) or user (automatically renewed before expiry by a maintenance job). - Sync interval: minutes between reads of the ads structure (default 60). - Connection status: pending, connected, error or revoked — the last error is stored on the connection for diagnosis. - Masked token: for security the token is never displayed after saving; the UI shows only the last 4 characters. Use cases - Single conversation-ads hub: follow messaging-conversation campaigns (WhatsApp, Messenger and Instagram) and the conversations they generate in the same place your team answers. - End-to-end attribution: know which ad started each conversation/lead and send the conversion back to Meta to optimize delivery. - Cost per conversation: measure ad performance by what matters — conversations and sales, not clicks. Tips, limits & best practices - Prefer a Business Manager system user token: it never expires and survives user password changes. - An inbox accepts one connected ad account (and vice versa within the account). - The Ads Manager covers the full loop inside the inbox: account connection, the mirror of campaigns/ad sets/ads, creating and activating/pausing messaging-conversation campaigns, budget adjustment, audiences, tracking of the ad's free window and the metric dashboards (spend, conversations, ROAS). - The free window of a CTWA ad (opened from the WhatsApp app on Android or iOS) opens when the business replies within 24 hours of the customer's message and can stay open for up to 7 days. Reply within those 24 hours so it opens: while it is open, every message to that customer is free. Troubleshooting - Connection in error: the token was rejected by Meta (expired, password changed, permission removed). Generate a new token and reconnect; the reason is stored in the last-error field. - Connection revoked: access was revoked in Business Manager — reconnect with a valid token. - Empty mirror: confirm the connection is connected and wait for the next sync cycle (or use Refresh). - Permission denied while connecting: check the token carries all the ads scopes listed in the prerequisites. Official Meta docs - System users — generate Marketing API access tokens - Marketing API authorization and scopes (ads_management, ads_read) See also - Create a messaging-conversation or lead-form campaign in the Ads Manager - The ad's free window and metric dashboards in the Ads Manager - Automation and Flow Builder with ad actions - Ad leads (CTWA): capture and attribution of ad-sourced leads - Conversion tracking: conversion events back to Meta (CAPI) - WhatsApp Cloud inbox: connecting the official number

Create a campaign (Messaging conversations or Lead form)

Overview The ConversaLabs campaign wizard creates the whole structure on Meta (campaign → ad set → creative → ad) in one go, always paused, so you can review it before publishing. It covers two objectives: - Messaging conversations — the ad button opens a conversation on WhatsApp, Messenger (your Page inbox) and/or Instagram, depending on the destinations you pick; leads land attributed in your inbox. - Lead form (Lead Ads) — an instant form opens inside Facebook/Instagram and every submission becomes a contact and a lead in ConversaLabs automatically. Prerequisites - A connected Ad Account with a Facebook Page bound (see "Ads Manager: overview and connection"). Instagram is detected automatically when the Page has a professional account linked. - For the WhatsApp destination: the Page needs a WhatsApp account linked — follow Meta's official guide at Connect your Facebook Page to WhatsApp. - For the Instagram destination: the Page needs a professional Instagram account linked (how to link). The Messenger destination only needs the Page. - For Lead form: a Page admin must accept Meta's Lead Ads Terms of Service once — see the "Lead Ads" article. - An active payment method on the ad account (Meta payment settings). The wizard's Objective step shows a live readiness checklist: every external prerequisite appears with the official Meta guide link so you fix it in the right place. Step by step 1. In Ads Manager, open the Campaigns tab and click New campaign. 2. Objective — pick the ad account and the objective (Messaging conversations or Lead form). On messaging campaigns, tick the destinations: WhatsApp, Messenger and/or Instagram — each card shows the connected identity (number, Page or @username). With two or more destinations, Meta uses the automatic destination and sends each person to the app where they are most likely to reply. Pending setup shows here with the official guides. 3. Audience — search locations (country, state or city) with autocomplete, set age and gender. Select the account's custom & Lookalike audiences — or create a Lookalike on the spot from any existing audience (1% to 10% similarity, in your target country). To seed with YOUR data, create an audience from converted leads (or all ad leads): the platform hashes phone/e-mail and uploads them to Meta — it requires a one-time acceptance of the Custom Audience Terms, and the audience becomes a Lookalike source once 100+ people match (~1h) — the "Preparing" badge clears when Meta finishes. Hover an audience to delete it (removed on Meta too). Enable the Advantage+ audience to let Meta expand beyond the drawn audience, and pick placements: Automatic (Advantage+), recommended, or manual per platform — Facebook, Instagram, Messenger, Audience Network and WhatsApp Status, each with its positions (feed, stories, reels, search, apps and sites). WhatsApp Status requires the Instagram story placement alongside; the wizard pairs them automatically. The audience estimate refreshes live. 4. Creative — write the primary text, headline and description, or tap the Maestro copilot ✨ on each field to generate/improve the copy with AI (it uses the objective, audience and Page as context). For the media, choose Image or Video: upload a file, pick one from the Media Library or use Create with AI to generate the creative with Maestro — add up to 3 reference images (from the Media Library or an upload) so the AI follows your product/brand style, and you preview, redo and adjust before using it. Text fields also accept voice dictation (person speaking icon): speak and the transcription lands in the field, in the account's language. Videos (MP4/MOV up to 50MB) are processed by Meta; wait for the Video ready badge. On messaging campaigns, configure the welcome conversation (it applies to WhatsApp, Messenger and Instagram): the message people see when the chat opens, plus a ready message or up to 4 frequent questions (each with an optional automatic reply). On WhatsApp-only campaigns you can additionally use an in-WhatsApp form (a published WhatsApp Flow from your inbox) and an optional call to action (Call now, View catalog or Visit website). Blank fields keep Meta defaults. For lead campaigns, select (or create on the spot) the instant form. The live preview shows the ad on the Facebook feed, Instagram feed and Stories — rendered by Meta itself. 5. Budget — name the campaign, choose a daily or lifetime budget (lifetime requires an end date) and optionally schedule start and end. Your account's minimum daily budget shows as a hint. For extra control, set an optional bid cap per result — blank keeps Meta's highest-volume strategy. 6. Review — check the summary and click Create (paused). The campaign lands paused on Meta with the full chain. To go live, use Activate on the campaign list or detail. Settings & options - Campaign detail — click Details on the list for KPIs, the mirrored structure (ad sets → ads → creatives), budget editing and the attributed leads. - Manual placements — Instagram is only available when the Page has a professional account linked (how to link). - Image — recommended 1080×1080 (feed) or 1080×1920 (stories); JPG/PNG up to 8MB. - Video — MP4 or MOV up to 50MB; Meta auto-generates the thumbnail (or use an image of yours as the cover). - Maestro copilot — the ✨ and Create with AI buttons appear for administrators when Maestro is active on the account. Image/video generation uses the Maestro agent's generative tools — enable them in the agent settings. With reference images, the AI edits/guides from your material (on video, the reference becomes image-to-video); voice dictation uses Maestro's native transcription. - Automatic draft — the wizard saves everything while you fill it in; if you close without finishing, reopening puts you right back where you stopped (or discard the draft to start clean). - Media Library — uploaded or AI-generated creatives are automatically filed under Ads → your ad account, ready to reuse. - Multiple ad accounts — connect as many accounts as you need; with 2+ connected, a switcher at the top picks which account feeds every tab (campaigns, KPIs and insights), and the choice is remembered. - Filters and period — on the Campaigns tab, search by name and filter by status (All/Active/Paused); on Overview and Insights, switch the period between 7, 30 and 90 days. - Quick and bulk actions — every row has icons to view details, activate/pause, open the campaign in Meta Ads Manager and delete (two-step confirmation). Select several campaigns (or Select all) to activate, pause or delete in bulk. Use cases - A regional CTWA campaign placed only on Instagram stories for a flash promo. - A lead-form campaign capturing quote requests, with a custom question, flowing straight into follow-ups. Tips, limits & best practices - Everything is born paused — review the preview before activating; nothing is spent until then. - Meta validates the campaign at creation: if something external is missing (Page WhatsApp link, lead terms), the error shows the exact instruction and the guide link. - Budgets use the account currency; respect the minimum daily budget shown in the wizard. - With a video creative, Next stays locked until Meta finishes processing (the Video ready badge) — publishing earlier would fail on Meta itself. - Meta retired the Instagram Explore and Messenger Stories placements, and the wizard no longer offers them. An older draft that still carries one shows it checked with a Retired by Meta warning: uncheck it. If it sits next to other placements of the same platform, it is removed at creation and the others still apply. If it is the only placement chosen for that platform, creation is refused with a message asking for another placement; the platform is never widened on its own. Troubleshooting - "account not ready for ctwa" — the Page has no WhatsApp linked. Follow the official guide and retry (or create the campaign with only Messenger/Instagram as destinations). - Instagram card disabled in the destinations — the Page has no professional Instagram account linked. Use the guide link on the card itself. - "account not ready for lead_form" — accept the Lead Ads Terms with a Page admin. - Instagram preview doesn't render — link a professional Instagram account to the Page. - Ad account disabled — check its status in Account Quality. See also - Getting started - Ads Manager: overview and connection - Lead Ads - The ad's free window (up to 7 days) and insights - Ads automation

The ad's free window (up to 7 days), insights and ad automation

Overview When a customer arrives from a Click-to-WhatsApp ad and the business replies in time, Meta opens an ad free window that can stay open for up to 7 days. While it is open, every message sent to that customer is free. ConversaLabs records that window per conversation and shows ad spend and conversations in Insights, and lets you build automations from ads. Prerequisites - The Ads Manager feature (for insights) and/or Ads (CTWA) enabled. - A conversation started from a CTWA ad (the ad card appears in the conversation). The ad's free window - It applies to Click-to-WhatsApp ads that open the conversation from the WhatsApp app on Android or iOS. - Meta's rule, word for word: if you respond within the customer service window using any type of message, the message is free and the free window opens starting from the time when you responded; it may remain open for up to 7 days and, while open, you can send any type of message at no charge. - The clock starts at the business's first reply, not at the customer's message. That reply has to go out within the customer service window, that is, up to 24 hours after the customer's last message; without a reply in that time, the free window does not open. - Only a reply sent through the Cloud API opens the window. In a hybrid inbox, a reply over WhatsApp Web does not open it: the next Cloud reply within the deadline is the one that does. - When the ad conversation starts, on the customer's message, the platform already records the window, which stays awaiting the first reply with the 24-hour deadline to reply. When the business replies within that deadline, the free window opens. - From that reply on, the window can stay open for up to 7 days (it used to be 72 hours). Inside it, messages of any type, templates included, are free. - When Meta reports the window's exact end time on the message, the platform uses that time. Without it, the platform counts 7 days from the first reply. - The 24-hour customer service window has not changed and still applies separately: it defines when you can reply with free-form text. - States: waiting for the first response, open, expiring (less than 6h left) and expired. The "window expiring" notice and its automations only fire after the window opened. - If Meta charges a message the platform considered inside the window, the window is closed right away, so the notice above the reply field never says "free" for something billed. - If Meta reports the first reply as free only because of the 24-hour customer service window, and not of the entry point window, the window did not open: it is closed the same way. - Use the window state as a condition in Automations and the Flow Builder (e.g. reply only while the window is open). Insights The Insights/Overview tab shows, per period: - Spend, impressions, clicks, reach. - Conversations started by the ads. - Cost per conversation and ROAS (using the value of attributed conversions). The numbers refresh periodically from Meta (daily snapshot, no double counting). Ad automation In the Automations builder (and the Flow Builder) you can: - Conditions: "conversation is from an ad", "ad window state". - Actions: tag contact as lead, send conversion to Meta (CAPI), pause campaign, adjust budget. Step by step 1. Choose the analysis window and confirm the ad account is connected before comparing indicators. Settings & options - Adjust period, campaign, and filters to the business question; do not compare windows using different time zones. Use cases - Identify a campaign with declining results and prioritize a budget or creative review. Tips, limits & best practices - Reply within 24 hours of the customer's message: that first reply is what opens the free window of up to 7 days. - To see which messages went out free because of the ad window, open the WhatsApp cost center: the reason shows as Ad free window (up to 7 days). - Use "send conversion to Meta" when a deal is won to optimize ad delivery. Troubleshooting - Insights are zero: wait for the next sync (hourly) or confirm the account is Connected. - No window shown: the conversation must have come from a CTWA ad (ad card present). - The free window did not open: the business did not reply within 24 hours of the customer's last message, the reply went out over WhatsApp Web (only the Cloud API opens the window), Meta charged the reply or Meta reported the reply as free only because of the customer service window. See also - Ads Manager: overview and connection - Create a messaging conversations campaign in the Ads Manager - Automation and Flow Builder with ad actions

Automation and Flow Builder with ad actions

Overview When the Ads Manager is active, ConversaLabs exposes an ad-specific automation mesh: triggers that fire when something happens with an ad, conditions that check the ad state on the conversation, and actions that act on the campaign, the conversion or the contact. This mesh shows up across the three automation surfaces of the product — Automation Rules, Macros and the Flow Builder — and all of them reuse the exact same logic on the server. Everything is inert while the Ads Manager module is off: triggers don't fire, actions have no effect, and nothing appears in the editors. Prerequisites - The Ads Manager module enabled on the account. - At least one ad account connected to a WhatsApp inbox. - Conversations arriving through Click-to-WhatsApp (CTWA) so that ad attribution exists. - An administrator profile to create/edit rules, macros and flows. Step by step 1. Open Settings → Automation and create a new rule. 2. Pick an ad trigger (see below) — for example, "Ad conversation started (CTWA)". 3. Optional: add ad conditions to refine when the rule runs (for example, only when the ad's free window is expiring). 4. Add one or more ad actions (tag as lead, send conversion, pause campaign, adjust budget) — or combine them with any other native action. 5. Save and enable. The rule now runs automatically over the account's ad conversations. Settings & options Ad triggers (Automation Rules) - Ad conversation started (CTWA) — fires when a conversation is opened by an ad click. - Ad lead captured — fires when an ad-sourced lead is recorded. - Ad window expiring — fires when only a few hours of the ad's free window remain (a periodic sweep emits the event once per window). The window opens at the business's first reply, sent within 24 hours of the customer's message, and lasts up to 7 days. When Meta reports the window's exact end on the message, the trigger uses that time. Ad conditions - Ad window state — compares the state of the ad's free window: open, expiring or expired. - Is an ad conversation — checks whether the conversation carries ad attribution (present or not present). Ad actions - Pause ad campaign — pauses on Meta the campaign linked to the conversation. - Adjust ad budget — sets the new daily budget (in currency units) of the conversation's campaign. - Send Meta conversion — fires a conversion event (CAPI) for the conversation, reusing the same mechanism as the Conversion tracking module (a Lead event by default). - Tag contact as ad lead — promotes the conversation's contact to a lead. Where each action is available - Automation Rules: all ad actions. - Macros (a manual agent action on the conversation): tag as ad lead and send Meta conversion. - Flow Builder: a dedicated Ad action node (reuses the same executor as the other actions), and they are also available in the generic ConversaLabs action node. Use cases - Don't miss the ad's free window: when the window is expiring, fire a follow-up or notify the team before the conversation leaves the free window of up to 7 days. - Qualify automatically: when an ad conversation starts, tag the contact as a lead and apply labels/assignment. - Close the loop with Meta: when the sale is recorded, send the conversion back to Meta to optimize ad delivery. - Spend control: pause a campaign or lower its budget from a rule when a business criterion is met. Tips, limits & best practices - Combine the window state condition with the window expiring trigger to act at the right moment. - Ad actions do nothing if the conversation has no campaign/ad associated — use the is an ad conversation condition to avoid unnecessary runs. - Adjust budget expects a numeric value in currency units (for example, 50 for 50.00 per day). - Pause/adjust budget act on Meta asynchronously; the campaign mirror reflects the new state on the next sync cycle. Troubleshooting - The rule doesn't fire: confirm the Ads Manager module is active and the conversation really came from an ad (ad card present on the conversation). - The action had no effect: check that the ad account is connected and the conversation has an associated campaign. - I don't see the ad triggers/actions: they only appear in the editors when the Ads Manager module is enabled on the account. See also - Ads Manager: overview and connection - Create a messaging conversations campaign in the Ads Manager - The ad's free window and metric dashboards in the Ads Manager

Lead Ads: instant forms and lead capture

Overview Lead Ads are Facebook/Instagram ads with an instant form: people fill it without leaving the app, with name, email and phone prefilled by Meta. In ConversaLabs, every submission becomes a contact + lead automatically — deduplicated, attributed to the campaign and ready for follow-ups, CRM and conversions. Prerequisites - A connected Ad Account with a Facebook Page bound. - Lead Ads terms accepted: a Page admin accepts them once at facebook.com/ads/leadgen/tos. Without it Meta refuses the campaign (the error shows this link in the wizard). Learn more at About Lead Ads Terms. - A privacy policy URL for your business (Meta requires it on every form). Step by step Create an instant form 1. In the campaign wizard, pick the Lead form objective and, on the Creative step, click New form. 2. Give the form a name. 3. Pick the questions: full name, email and phone (prefilled by Meta) and, optionally, a custom question. 4. Enter the privacy policy URL (required) and the website URL (required — the thank-you screen button destination). 5. Optional: customize the thank-you screen (title and message). 6. Click Create form — it is created directly on your Meta Page and gets selected right away. Receive the leads Nothing to configure: submissions arrive via webhook (when the Page has a Facebook inbox) and via an automatic sweep every 15 minutes (for any install), always deduplicated. Each lead: - becomes (or enriches) a contact with name, email and phone; - shows on the Ads Manager Leads tab, with its source form and campaign; - fires the Ad lead captured automation event and the Lead conversion back to Meta (when conversion tracking is on). Settings & options - Reusing forms — the picker lists every active form on the Page (including ones created in Meta's own Ads Manager); use Refresh to re-sync. - Leads per campaign — the campaign detail's Leads from this campaign section shows the attributed submissions. Use cases - Quote capture with a custom question ("What is your monthly budget?") feeding the CRM. - A launch waiting list flowing straight into a follow-up sequence. Tips, limits & best practices - Lead data is personal data: use it per your privacy policy and applicable law (Meta forbids reselling lead data). - Forms created here also show in Meta's Ads Manager — it is the same object. - Lead-form campaigns do NOT depend on the Page↔WhatsApp link (that is only required for the WhatsApp destination in messaging-conversations campaigns). Troubleshooting - "You can't run lead ads until your Page accepts the Terms…" — Meta's own message: accept at facebook.com/ads/leadgen/tos with a Page admin and create the campaign again. - "Missing fields: FollowUpActionURL" — fill the website URL on the form (required). - Leads not showing — check the campaign is active on Meta and wait for the next sweep (up to 15 minutes). The lead shows with its linked contact on the Leads tab. See also - Getting started - Create a campaign (Messaging conversations or Lead form) - Ads conversion tracking - Automatic follow-ups

Launch Groups: WhatsApp groups and seller rotation

Overview Launch Groups solve a classic problem for anyone gathering an audience into WhatsApp groups for a launch: the group fills up and its invite link "dies". You create a launch group with a single smart link. Whoever clicks is taken to the group that is open at that moment. When that group reaches the capacity you set, the platform creates the next group on its own and sends new leads there, without you changing the link you shared. Each launch group has a target type: - Group: standard WhatsApp groups, created automatically as each one fills. - Community: a WhatsApp Community with the groups inside it. - Channel: an existing broadcast channel that people join through its invite link. - Seller rotation: each lead opens a one-to-one chat with one of your sellers on WhatsApp. No group is created. In this article, a launch group is what you create in the Launch Groups list, and a unit is each WhatsApp group created inside it. On the launch group's board, units are numbered ("Group 1", "Group 2" and so on). Prerequisites - Opt-in module: it must be enabled for your account (feature flag launch_group_distribution). - Permissions: agents can view launch groups. Creating, editing, activating, pausing and recovering launch groups is for administrators and for custom roles with the Manage launch groups permission. - A connected WhatsApp Web inbox, or a hybrid inbox with its WhatsApp Web side active. That inbox creates and administers the groups. A Cloud API-only inbox does not appear in the list. - Seller rotation depends on a release by the platform operator. Without it, the option is shown disabled. - A launch group stays inert until it is activated. Nothing happens by default. Step by step 1. In Growth → Launch Groups, click New launch group. 2. In Basics, enter a name and choose: - the WhatsApp inbox; - the Rotation inboxes, if you want to spread group creation across several numbers; - the Target type and the Join mode; - the Capacity per unit, which is the capacity of each group; - the Naming template for the groups. 3. In Distribution, choose how the platform picks the unit and, if you want, create Routing rules. For seller rotation, this tab is called Sellers. 4. In Schedule, optionally set the date when the launch group should end. 5. In Entry and exit, choose the Entry triggers, the block and allow lists, and the Waiting page. 6. In Messages, write the Welcome message and the texts for each moment. 7. In Destinations, set the identity and permissions of new groups. If the target is a channel, enter the existing channel. For seller rotation, this tab is not shown. 8. In Settings, adjust the sending pace and the interval between creation steps. 9. Click Save. A tab with a pending field is marked "(review)", and the Go to button takes you there. 10. In the list, use Activate. The platform prepares the first unit right away, so the link has a destination as soon as you share it. 11. Click the address in the Smart link column to copy it, and share it in ads, capture pages and posts. 12. Follow the launch group with Open. The Units tab shows the board of groups, and the Members tab shows who joined, who is queued and who failed. There is also Engagement and, for seller rotation, Sellers. The board updates by itself when a unit is created, opens or fills and when members join or leave. If something looks out of date, use Refresh. Settings & options Target, capacity and join mode - Capacity per unit: how many people each group takes before the platform moves to the next one. The default is 256, or the value set in the account defaults, and the maximum configurable value is 1,023. Use maximum capacity fills in that value only when you click it. The Safety margin starts at 0 and reserves seats below WhatsApp's limit of 1,024. For example, capacity 1,023 and margin 24 allow up to 1,000 people; capacity 256 still allows 256. The form shows the margin's origin, with options to customize it or restore the inherited value. Existing units without a capacity override follow edits to the launch group; an explicit unit capacity takes precedence. A launch group's saved capacity is not increased automatically. A community holds up to 2,000 people in total; after that, WhatsApp may refuse to link new groups, and they still open normally, outside the community. A channel has no follower limit. - Join mode: - Invite link: the person receives the group link and taps to join; - Direct add: the person is added to the group directly, which depends on their consent on WhatsApp; - Both: the platform tries a direct add and, if that fails, sends the invite link. A channel only supports the invite link. - Rotation inboxes: with no selection, the primary inbox creates every unit. The order is preserved and new selections are added at the end. The list shows the full name, the number when available and the connection state: connected, disconnected or unknown. For a hybrid inbox, the state refers to its WhatsApp Web side. Use the move-up and move-down buttons to choose the order; with the keyboard, press Alt + ↑ or Alt + ↓ while a control in the selected row has focus. Focus follows the inbox, and the new position is announced to screen readers. A selected inbox that no longer appears among the available options stays identified by its ID: you can move or explicitly remove it without losing other selections. If loading fails, use Try again. These choices determine who creates the next groups; another inbox cannot take over groups already created. How the platform picks the unit In Distribution → How the unit is chosen: - Fill the first one (default): everyone goes to the lowest-numbered open unit until it is full. - Rotate across open units: the platform alternates between the open units, in sequence. - Pick at random: the platform picks one of the open units at random. Most of the time there is only one open unit, because the platform creates the next one only when none has room. These options matter when more than one unit is open at the same time, for example when a unit that was full has room again because people left. Routing rules Rules can route a lead to another launch group based on UTMs, the contact's label or the entry source. For the smart link, rules receive the address's UTMs and the source link; contact labels are not available through this path. For events handled by the entry triggers, rules receive the contact and the source event; for an automation's enrollment action, they receive the contact and the source automation. These two paths do not receive the link's UTMs. Manual enrollment through the Enroll button goes directly to the chosen launch group, without consulting these rules. - Each rule combines conditions, one per field. For the link, use Campaign source (utm_source) and Campaign name (utm_campaign). - Every condition in a rule must match. For UTMs, capital letters and spaces at the ends make no difference. A label (tag) must exist on the contact with the same value, and the entry source (source) must exactly match the enrollment source. - For Entry source, choose an option supplied by the server; event names are not enrollment sources. For Label, choose a label from your account. Saved values that are no longer available remain visible until you choose a replacement or remove the condition. UTMs remain free text. - The first matching rule wins. Use the arrows to change the order. With no match, the lead stays in this launch group. - The destination must be another active launch group. A rule pointing to a paused, archived or completed launch group is ignored, and the next rule is evaluated. - The destination launch group can have rules of its own. The platform follows at most three hops and stops any loop, leaving the lead in the launch group it reached. - Use Test a link to paste a link with UTMs and see which rule it triggers before you share it. To start with an example: 1. Under Destination for examples, choose another active launch group in your account. If no destination is available, create or activate another launch group and return to the form. 2. Choose the Instagram example (utm_source = instagram), the campaign example (utm_campaign = black-friday) or the example with two conditions (utm_source = google AND utm_campaign = lancamento). The rule is added at the end of the list; previous rules, their order, the values you entered and the test link are preserved. 3. Use Fill in the example link to change only the test field. The illustrative address is not opened. Check the Expected result in the current draft: an earlier rule may take priority over the example. 4. Review the destination, conditions and order, then click Save. The test reads only utm_source and utm_campaign from the URL. It does not evaluate tag or source, save rules or enroll anyone; it also does not confirm available seats or the destination launch group's rules. For example, ?utm_source=instagram matches the Instagram example; the same link without that UTM does not match that rule. If the saved routing configuration has an invalid format, the original value remains visible. Replace invalid configuration clears only that value in the draft; review inherited rules, build valid rules and save to apply the repair. Editing another field preserves the old configuration without converting its values. End date and completion In Schedule → End the launch group on, you set when the launch group ends. - After that date, no new unit is created and nobody else from the queue is placed in a group. - At the next check, which runs every few minutes, the launch group becomes Completed, as long as no unit is being created. Anyone still in the queue at that moment does not join a group and shows in Members as Skipped. - Between the date and completion, the smart link may still lead to a unit that remains open. Once completed, the launch group accepts no new enrollments. - Without a date, the launch group keeps going until you pause it. - If the chosen date has already passed, the screen warns that the launch group may complete in the next cycle. Use Clear the date to remove it. Pause, archive, restore and duplicate - Pause stops new entries: the smart link no longer sends anyone to a group and queued members are not placed. The WhatsApp groups already created keep existing. - Archive pauses the launch group and removes it from the main list (Archived filter). Nothing is deleted. - Restore brings an archived launch group back as a draft. Activate it again to receive leads. - Duplicate creates a copy of the configuration, which is useful to change a locked field. The copy starts with a different smart-link address, without the end date and without the group images: review those fields before activating it and share the new link. Waiting page and unavailable link - Waiting page (in Entry and exit): the address where people land when they click the link while no unit is open yet, or while the launch group is a draft, paused, archived or completed. - Without that address, the visitor sees a short page saying the link is not available right now. The details are in What a visitor sees when the link is unavailable, under Troubleshooting. Entry triggers and lists - Entry triggers: automatically enroll contacts in the launch group when a chosen event happens, such as a paid charge, a CRM deal won or a captured comment. The 22 options in the catalog supplied by the server are accepted, with translated names and descriptions; other platform event names are not automatically entry triggers. For paid charges, use payment_charge.paid: payment_charge.confirmed is an emitted alias, not an accepted configuration option. An empty list turns off automatic enrollment through events. Use search to find an option by name, description or key, then select the ones you want to use. Search does not hide saved entries. If the catalog fails to load, try again: this refreshes the options without clearing values or changes in progress. Old configurations with unknown keys require explicit correction or removal; entries remain visible, and choosing a replacement changes the list only after you apply the repair. A saved value in an invalid format is also shown; replacing it with an empty list is an explicit action to confirm when saving. Nothing is silently converted or discarded. Editing another field may retain exactly the old list, but changing triggers requires the entire list to be valid. Creating or duplicating a launch group also requires a valid list. The API rejects invalid lists with HTTP 422 and the code invalid_entry_triggers. A catalog entry does not guarantee that the event is produced, that its module is enabled or that the contact is eligible to join. In particular, commerce.due_soon has no automatic producer yet. - Blacklist and Whitelist: one number per line. A number on both lists stays blocked. When the allow list has entries, only those numbers get in. Anyone stopped this way shows in Members as Skipped. - Enroll (on the launch group detail): paste WhatsApp numbers, one per line. The platform removes duplicates, skips the numbers stopped by the lists, and reports how many entered the queue. Pasted numbers only join the group in Direct add and Both modes, when the add succeeds. In Invite link mode, they show as Invited, but nobody receives the link: a pasted number is not tied to a contact, and the invite only goes to contacts who already have a conversation with the platform. Messages - Welcome message: in Invite link and Both modes (when the person gets the invite), the platform attempts to send the message and group link to people who enter the queue through a trigger, an automation or the API, through its existing conversation with the contact. This send is not attempted for people without an existing conversation or enrolled by number only. People who click the smart link are already on their way to the group and are not sent this welcome. You can use variables, such as the contact's first name. - Spintax variants: add alternative versions. Each send picks one at random, which makes the messages less repetitive. The Generate variants with Maestro button suggests variants. - Message media: use Upload file, Choose from library or Paste link in an available field. Uploads and library selection require the account's library to be enabled and accessible to your role; without access, use an allowed link. If selection fails, the previous value is kept. Wait for the upload to finish, then click Save to apply the choice. External links must use HTTPS; HTTP is accepted only for a file belonging to the platform and authorized for the account. - Moments with media: welcome (welcome) and unit opening (unit_opened) have a media sending path. In the messages-by-moment list, unit opening is the option with media available; welcome uses its own editor. The other five moments — reminder, countdown, waitlist confirmation, removal notice and graduation notice — are unavailable for new media: no automatic send is connected to them yet. Old media is kept and can be removed to repair the configuration. Saving text or a file does not, by itself, schedule a send. - Two messages with media: in the media flow, the platform prepares the text message with the invite and group card first, followed by a separate message with the file. The two messages appear separately in the conversation. A local record or queue submission does not confirm delivery or reading in WhatsApp. - Template selectors unavailable for sending: Template sent, under Direct message on join, and Notice sent before the removal, under post-purchase, use template IDs supplied by the server. You can repair an old ID or restore inheritance, but these two fields are not connected to sending yet. Saving an ID neither sends a message nor schedules a notice, even when choosing welcome or unit opening. This is separate from the media flows above. Launch group and individual group photos Under Destinations, configure the launch group's identity photo. To customize just one group, use that group's settings on the board. The individual group's photo override takes precedence over the launch group identity. Without an override, the launch group identity applies; without that, the inherited URL is used, when present. Remove media on an individual group's photo restores its inherited image after saving. - Use a JPEG or PNG file up to 8 MiB (8,388,608 bytes), uploaded from your computer, chosen from the library or supplied as a link. This is the photo limit, not a general limit for all message attachments. - Use HTTPS for external photo links. HTTP is accepted only for a file belonging to the platform and authorized for the account; do not use an external HTTP address or modify a library link to try to make it valid. - A rejected file or link keeps the previous selection. Choosing and saving an image does not, by itself, confirm that the photo has been applied in WhatsApp. Group message history Selecting and sending historical originals through the Launch Groups interface is not available yet. The policy defined for this feature distinguishes: - Automatic with proof: requires proven business authorship of the originals and complete verification of the message set being considered. That proof is still absent; automatic sending remains unavailable. - Older messages by manual selection: provides for choosing up to 100 originals with a preview. This flow is also unavailable in the current interface. Manual selection must not be called the "latest messages from the business" and does not prove business authorship, retention of the originals or message delivery. The existence of local records does not establish which messages are the most recent or guarantee 90 days of retention. A failure or an unconfirmed outcome does not authorize resending as a new attempt or with new identifiers; preserve the existing attempt for investigation. Seller rotation With the Seller rotation target type, the smart link does not lead to a group: it opens a WhatsApp chat with one of your sellers, with a ready-made message such as "Hi! I came from the link and would like to know more.". No group is created. Sellers are managed on the Sellers tab of the launch group detail. - Add seller: enter the name, the phone number with country and area code, and the weight. The same phone number cannot appear twice. On the seller's row, you can link an Inbox and a Linked agent. - Order and Paused: reorder the queue with the arrows, and pause a seller without removing them. - How the seller is chosen: Take turns in order (default), Weighted (a seller with weight 2 gets, on average, twice as many leads as one with weight 1) or Random draw. - Daily limit per seller: how many leads each seller receives per day; 0 means no limit. The day follows the account's time zone. Repeated clicks from the same browser and network within 30 minutes are not counted again. - Pause sellers who are offline: skips a seller whose linked agent is offline. - With no seller available (all paused, offline or at their daily limit), the link uses the Waiting page or shows the unavailable page. When the launch group is active and has no sellers, or all of them are paused, the tab warns that leads are going to the fallback destination. - Until the platform operator releases seller rotation, the tab shows the sellers read-only. Inherited settings and "Restore default" Some options can come from three sources: the system default, the account setting or a value set on this launch group. The launch group's value wins over the account's, and the account's wins over the default. A chip next to the option shows where the current value comes from. - On the Sellers tab, each option starts inherited ("Inherited value: …"). Use Customize to set a value for this launch group only, or Inherit to drop it before saving. - When the option already has a value saved on the launch group, Restore default appears. It deletes the customization, and the launch group goes back to following the account or, without it, the system default. It does not copy the inherited value into the launch group. - In the form, the interval between creation steps works the same way: the chip reads "Inherited from the system default" or "Set on this launch group", and Restore the default goes back to the inherited value. - The Max sends per second and Max sends per hour fields use the system default when left blank. Both limits apply together. Units: identity, invite and members - Additional co-admins: optional. The connected inbox number already creates the group as its owner; add only the other people who should also administer the unit. - Max confirmed attempts per launch unit: in WhatsApp Hub → Settings → Broadcast throttling, set per inbox how many confirmed WhatsApp rejections each unit may have before the launch group pauses. The limit comes from the inbox that creates that unit, and the same limit applies to rejections of the unit's optional adjustments, except that the launch group does not pause: the adjustment is left out and the unit opens anyway. The screen identifies whether the value comes from this inbox, the account or the installation default; a timeout or uncertain outcome never uses this budget and still requires reconciliation. - Fields locked after the first unit: as soon as the launch group creates its first group, the inbox, the target type and the smart-link address are fixed, because the groups already created belong to them. The form shows those fields as read-only and the server rejects the change. To change any of them, duplicate the launch group and adjust the copy before activating it; the copy has a different smart link. An address that was once used by more than one launch group cannot be chosen: it is retired for good (see An address used by more than one launch group under Troubleshooting). - Invite link per unit: administrators and roles with Manage launch groups can manage the invite of open units, in groups and communities; these actions do not apply to channels. On the units board, Fetch invite link re-reads from WhatsApp the link the group holds right now (the safe fix when the stored copy went stale). Generate a new invite link is different: it revokes the current one, so every link already shared in an ad, a post or a sent message stops working immediately. The platform asks for confirmation, naming the unit, before doing that. Once the invitation is confirmed, the launch group smart link points to it. If another invite update is in progress, wait for it to finish before trying again. If the response does not confirm the new link, use Fetch invite link to recover the current invite before sharing it. While a new link is being generated, the previous one is not available to copy. If the screen cannot confirm the current invitation, use Try again to check it before sharing it; this check does not generate another link or revoke an invitation. - Member states: on Members, filter by state and by source. The states are Pending, Queued, Invited, Added, Joined, Failed, Skipped, Waitlisted, Left, Removed and Graduated. - Retry the failed ones: on the Members tab, administrators and people with the Manage launch groups permission in a custom role can return every member in Failed to the queue; they will be placed into the next open unit. The platform reports how many went back to the queue, and that number comes from the server, not from the page in front of you. Before confirmation, the dialog checks the launch group's total failed count and explains that filters and pagination do not limit the action. If that check fails, load the count again; confirmation stays disabled until a valid count is available. What is recorded for each click When someone clicks the smart link, the platform records the campaign of origin (utm_source, utm_medium, utm_campaign, utm_term and utm_content), the domain of the page the person came from, the browser family and a short code derived from the IP address. The IP address, the full browser string and the full address of the page of origin are not stored. For seller rotation, the click also records which seller received the lead. Use cases - Launch warm-up gathering thousands of people into groups without swapping the link. - Communities split into units, keeping each group within a manageable size. - One launch group per acquisition channel: a single link in your ads, with routing rules that send people from Instagram, YouTube or a specific campaign to the right launch group. - One-to-one sales service with seller rotation, respecting each seller's daily limit. - Automatically enroll people who arrive through a click-to-WhatsApp ad, with the Ad lead captured (CTWA / lead form) trigger. - Use the same smart link in link ads, posts and on the capture page. Tips, limits & best practices - Always promote the smart link, never the direct link of a specific group. - Respect WhatsApp's member limit when setting the capacity. To reserve seats below the 1,024 ceiling, configure the Safety margin; the default is 0. Manual joins and previously shared invites can occupy seats before the next count refresh. - Watch the join rate to avoid triggering WhatsApp anti-spam blocks. Use the sending pace in Settings to limit sends per second and per hour. - Generating a new invite link invalidates the links already shared. Prefer Fetch invite link, which only re-reads the current link, and revoke only on purpose. - Nobody is added to a channel directly. WhatsApp only lets people join a channel through its invite link, so a launch group with the Channel target always works by link, and the fetch and generate invite actions do not apply. - Automatic channel creation is still in test-only mode and is not available to accounts. The channel must exist first, created for example in WhatsApp Hub → Channels → Create channel. A channel launch group only activates with the Channel identifier and the Channel invite URL filled in Destinations, and no screen in the platform shows that identifier today. The platform cannot change an existing channel's name, description or photo. - Check your routing rules with Test a link before publishing ads with UTMs. - For seller rotation, keep at least one seller unpaused and with a daily limit that fits the expected volume. - Monitor occupancy to ensure there is always a unit with room. Troubleshooting - The link doesn't route to a group: check that the launch group is active and has an open unit. - New leads don't enter a new unit: check the capacity and that the launch group has not passed its end date. - A routing rule did not send the lead to another launch group: identify the entry path. For the smart link, check the UTMs and the source link. For events handled by entry triggers and for the automation's enrollment action, check the contact's labels and the literal source event or automation, respectively. Also check that the destination launch group is active and whether an earlier rule matches first. The Enroll button bypasses routing. Test a link checks only UTMs; it does not simulate labels or the entry source. - The launch group does not complete: completion only happens after the date in End the launch group on, and only when no unit is being created. Without a date, the launch group never completes on its own; to end it, pause or archive it. - The Seller rotation option is disabled: it depends on a release by the platform operator. - The seller rotation link goes to the Waiting page or the unavailable page: no seller is available at that moment. They are all paused, offline (with Pause sellers who are offline on) or at their daily limit. The Sellers tab only shows the warning when there are no sellers or all of them are paused; in the other cases, check the agents' status and the daily limit. - I can't activate a channel launch group: the platform does not activate a channel launch group without the Channel identifier and the Channel invite URL in Destinations. No screen shows the channel identifier today, so a channel launch group cannot yet be activated from the platform alone. - A unit could not be created: open the unit on the board to see its diagnosis. It states what happened, at which step, how many attempts there were and when the next automatic attempt is due. Review the inbox connection and additional co-admins. - The unit already has a group and its configuration is in progress: when the group already exists in WhatsApp, the platform resumes the pending work on its own. The card says so and does not offer "Confirm absence", because authorizing a new attempt there would create a duplicate group. That action only appears when the platform allows reconciling an unconfirmed creation. Having no group recorded in the platform does not prove that it is absent from WhatsApp: an administrator must check before confirming. - The unit is open, with pending adjustments: a unit can open and take members even when an optional adjustment was not applied (logo, description, co-admins, community link). The card lists exactly which steps were left out. Those adjustments are not reapplied automatically: fix the configuration and apply them in WhatsApp whenever you want. Message permission, join approval (when requested) and the invite link (in the link modes) are essential steps: they must be applied before the unit opens. - The creator account is unavailable or lost group access: another inbox in the rotation cannot take over an existing group. Check the creator connection and its WhatsApp access. When the diagnosis requires a configuration fix, keep the launch group paused until access is restored, then reactivate it. - WhatsApp did not confirm the outcome: the launch group pauses to avoid creating a duplicate group; first confirm in WhatsApp whether the group exists. Only if it does not, use Confirm absence and retry; it reuses the same unit and does not create another sequence. - Deleting a launch group does not delete the WhatsApp groups: deletion removes the configuration, the units and the member history inside the platform. The groups already created keep existing in WhatsApp, and closing them has to be done there. - An address used by more than one launch group: the smart link does not carry the account name, so one address can never belong to two launch groups, and the platform prevents that for good. If your installation already had launch groups under the same address, the platform retired that address permanently and gave each affected launch group a new one, made of the old address followed by the account number (for example, promo becomes promo-12), with extra suffixes when needed to keep it unique. Always copy the confirmed address from the launch group detail rather than deriving it from this example. The launch group detail shows a notice with the previous address, and the copy button already hands out the new link. The old links stopped working: the visitor sees the unavailable page, with no fallback URL and no lead recorded, and this also applies to paused or archived launch groups. Share the new link everywhere the old one was published. A retired address cannot be chosen again by any launch group, not even after the others are deleted. - What a visitor sees when the link is unavailable: for a launch group with a valid address, if it is a draft, paused, archived, completed or has no open unit, the smart link uses its configured Waiting page when one exists. Unknown or retired addresses never use that fallback. Without a valid destination, the platform shows a short public page saying the link is not available right now. When the address belongs to exactly one launch group, the page uses the owning account's language: Portuguese, English or Spanish; another account language uses English. For an unknown, retired or ambiguous address, it uses the browser's primary language when it is one of these three, or English otherwise. The page does not reveal the account or launch group name and does not appear in search engines. - I don't see the module: it may not be enabled for your account or your role. See also - Growth & Marketing Studio overview - Ads, CTWA & leadgen - WhatsApp hybrid inbox

Growth Social: native engagement, campaigns and monitoring

Overview Growth Social combines engagement through native inboxes with automation through a social account connected to the gateway. These are separate connections: direct Instagram login, Instagram linked through Facebook, and the Facebook Page use their respective official inboxes. Gateway-based Instagram automation uses its own session and does not silently replace those inboxes. Engagement posts, comments and rules require the correct inbox. A rule accepted into the queue is not yet a delivered message: follow each operation in the history. When connecting or reconnecting Instagram with Growth Social enabled, also grant the comment management permission requested by Meta. An older connection may need this new authorization. Both the comment webhook subscription and the account permission must be active for a rule to receive real interactions. Prerequisites - Module access and permission to configure the account or its rules. - For native Engagement, a connected Instagram or Facebook inbox with the permissions required for the desired operation. - For gateway automation, an enabled module, available service and connected Instagram session. Complete two-factor verification or any requested challenge before running actions. - For managed proxies, capacity in the administrator's pool. Enter custom proxy credentials only in the appropriate field. Step by step 1. Open Growth Social, select Engagement and choose the inbox. Confirm whether you are using direct Instagram, Instagram linked through Facebook, or the Facebook Page. 2. Select a post, open its comments and configure a private-reply or moderation rule. Check keywords, text or template, and additional actions before saving. 3. Make a controlled interaction and inspect the history. Private replies, public replies and moderation have separate outcomes; an additional failure does not mean an already-delivered DM was absent. 4. In Instagram automation, connect the account and configure its connection route. Check the effective state after saving. 5. In Monitors, select account, collection type, target when required and interval. Check collection state, failure category and next retry. 6. In Campaigns, choose the audience and order the steps. Set each step's delay, including the first, and DM templates. Activate the campaign and follow its results. Settings & options Native inboxes Both official Instagram connections are supported as separate paths. The Facebook Page also has its own context. Available operations depend on the connection; missing permissions, limits and expired access are shown as failures rather than an empty comments list. History distinguishes processing, confirmed delivery, failure and uncertain outcomes. Confirmed private replies are recorded in the corresponding conversation; investigate local recording errors without resending a message already confirmed by the provider. If the same Instagram profile is connected through both paths in one account, the matching rule with the lowest ID, then inbox ID, determines the private-reply context. A comment does not generate two DMs merely because both connections exist. A failure to record an already-confirmed DM in the inbox is retried automatically up to five times without resending to the provider. Interrupted additional actions are identified as uncertain or not completed and are not repeated automatically. Campaigns and monitors Campaign steps advance only after their action is confirmed. Repeated DM steps have separate identities. Pausing or archiving prevents new dispatches; resuming also ensures audience enrollment if it had not yet been processed. Operations already started may finish after a pause. A completed campaign has finished processing its targets; inspect the completed/failed breakdown. You cannot change its sequence or connected account after targets are enrolled. Create a new campaign for a different flow. Step delay is the supported timing setting; unsupported additional schedule or throttle objects are rejected. Instagram monitors translate profile/post counts into metrics and save collected audiences as prospects. The last page clears its cursor so a new collection cycle can start. The minimum interval is five minutes. Temporary failures use progressive retry delays; after five consecutive failures, or a definitive failure, collection stops. Retry clears that hold so the scheduler can evaluate the monitor again. Connection route Choose direct access, a custom proxy or a managed proxy. Proxy failure policy can hold the account, seek a healthy route, or allow direct access when that option has been explicitly selected. Check region and effective state; a saved configuration may still be pending or paused. The pool shares capacity with other platform consumers. Use cases - Reply to an Instagram comment through its official inbox and continue support in the correct conversation. - Run a follow-up sequence with delays and confirmation per step. - Track metrics and build audiences without repeating a page or duplicating prospects. Tips, limits & best practices Test first with dedicated accounts and recipients. An active connection and automated tests do not prove real delivery. Respect each integration's permissions and limits; permanent absence of external failures cannot be guaranteed. TikTok and YouTube availability depends on their own connectors and must not be inferred from an Instagram connection. Do not copy passwords, cookies, tokens or credential-bearing proxy URLs into screenshots or tickets. Direct access after proxy failure is used only when the configured policy permits it. Troubleshooting - Session failure or challenge: reconnect the account and complete the requested verification. - Stopped monitor: correct the indicated cause and select Retry. Recovery is scheduled; the click does not mean collection has completed. - Uncertain delivery: check the provider and ask an administrator to reconcile the action with an audit note and, for delivered outcomes, the external ID. Reconciliation records the outcome and does not automatically send another message. - Campaign failures: inspect the target and associated action. Legacy records that advanced without confirmation may need reconciliation; do not recreate sends indiscriminately. - Paused or pending proxy: check credentials, health, region and pool capacity. Treat the route as active only after gateway confirmation. - Error opening comments: check the selected inbox, connection and permissions; do not treat the error as an absence of comments. If a manual comment reply has an uncertain outcome, it remains blocked after reloading the page. An administrator must check the outcome with the provider and record reconciliation with a note. Confirmed delivery requires the external identifier and never sends again; confirmed non-delivery unlocks a new explicit attempt. Comment recovery and provider diagnostics The activity history separates the private message, the public reply and inbox recording. A public reply failure does not cancel a confirmed private message. Open Provider diagnostics on the failed operation to inspect its code, subcode and request ID without exposing credentials. An administrator can deliberately enable official comment recovery for one verified Instagram inbox, rule and post. Recovery starts with new comments by default; processing older comments requires an explicit cutoff within the permitted reply window. It shares the webhook delivery ledger, so an uncertain delivery is kept for reconciliation instead of being sent again. If the official response omits the author identity or a reliable timestamp, recovery pauses with a diagnostic and preserves its place. After correcting access or identity information, the administrator can resume that same scan or stop it. A username alone never creates an identity or authorizes an automatic DM. See also - Growth & Marketing Studio overview - Social publishing - Collaboration Network / Matrix

Collaboration Network / Matrix: engagement pods and affiliation

Overview The Collaboration Network (the Matrix) is a layer of collaborative organic engagement and affiliation built on top of the social-automation engine. The idea is simple: instead of a single profile trying to grow alone, collaborators combine efforts — they engage with each other's content (mutual-boost pods) or with a specific target (boost-target), accumulating points for participation. The operation gets a dashboard to manage collaborators, pods and rules; each external collaborator accesses their own portal (via link) or a widget to see tasks and their performance. All of this plugs into the front of the funnel to amplify the organic reach of your campaigns. Prerequisites - Opt-in module: it must be enabled for your account (feature flag social_collaboration) and managing it requires administrator permission. - The Growth Social Automation engine available (the Matrix is built on top of it). - Collaborators connecting their social profiles to take part in pods/targets. Step by step 1. In Growth → Collaboration Network, enable the Matrix and open the management dashboard. 2. Invite collaborators (they access a portal via link/magic-link or a widget). 3. Create a pod (mutual boosting among members) or a boost-target (a target to amplify). 4. Define the participation rules and the points counted per action. 5. Collaborators receive engagement tasks and record their participation. 6. Track the points leaderboard and the network's performance in the dashboard. Settings & options - Mutual-boost pods: members engage with each other's content. - Boost-target: the network concentrates engagement on a specific target. - Scoring: a points ledger per participation, the basis for rankings and rewards. - Collaborator portal: external access via link/magic-link, plus a widget. - Operator dashboard: managing collaborators, pods, rules and tracking. Use cases - Boost the organic reach of a launch with a pod of collaborators. - Concentrate engagement on a key piece of content (boost-target) over a period. - Structure an affiliation/collaboration program with scoring and recognition. - Complement paid traffic (Ads) with coordinated organic amplification. Tips, limits & best practices - Respect the social networks' terms — engagement must be authentic and within the rules. - Set clear scoring rules to keep the network fair and engaged. - Start with a small pod and expand as the operation matures. - Combine with AI Studio and social publishing to supply the network with content. Troubleshooting - The collaborator can't access the portal: resend the link/magic-link and confirm the invite. - Actions don't score: review the scoring rules and whether the profile is connected. - The network isn't engaging: check that the Social Automation engine is active and pods are configured. - I don't see the module: it may not be enabled for your account or your role. See also - Growth & Marketing Studio overview - Growth Social Automation - Social publishing

Ad leads: yours vs third-party (external)

Overview In the Ads Manager Leads tab, every Click-to-WhatsApp (CTWA) ad click becomes a lead attributed to its source campaign. But not every lead there is yours: if your connected number clicks another advertiser's ad, the pre-filled message goes out from your number and the platform still receives the ad attribution — except it's the opposite of the lead you want. To keep these apart, the platform classifies each lead as Yours or External: - Yours — a contact clicked your ad and messaged you. A real lead. - External — it was your connection that clicked a third-party ad (or the ad isn't one of your synced ads). It's kept for reference, but it's not a lead of yours. External leads are not counted in Total, ROAS, and they don't fire a conversion (CAPI) back to Meta. That way the dashboard reflects only your real results. Prerequisites - The Growth Ads module enabled on the account. - Nothing to set up: the classification is automatic and retroactive (existing leads were reclassified). How the platform decides (two signals) 1. Direction — if the ad message was outbound (your number initiated the click), the lead is marked external (reason self_click). A legitimate Click-to-WhatsApp ad is always inbound (the contact messages you). 2. Ownership — if the ad (source_id) is not among your synced ads, it belongs to another advertiser and the lead is external (reason foreign_ad). If the account hasn't synced any ads yet, the platform gives the benefit of the doubt and keeps it as yours. Step by step 1. Open Ads Manager → Leads. 2. Use the ownership tabs at the top of the list: - Yours (default) — only your real leads. - External — third-party ads your connection clicked. - All — both together. 3. In the KPI row, the External number shows how many third-party clicks exist (outside Total). 4. An external lead's row shows an External badge. Open the lead to see the detail panel: a banner explains why it's external (you clicked the ad, or the ad belongs to another advertiser) and reminds you it does not count in Total, ROAS or CAPI. Settings & options - Fix it manually: when your ad account is not synced, auto-detection can't always tell your ad from a third-party's. Open the lead and use Mark as mine or Mark as third-party — tick Apply to every lead from this ad to correct the whole ad at once. - Sync your ad account to make auto-detection accurate: ownership is then checked automatically (an ad that isn't yours becomes external on its own). - External leads are still kept (conversation, contact and attribution preserved). Nothing is deleted. Selecting Apply to every lead from this ad corrects all already captured leads from the same ad in your account that your access permits, including other pages or tabs. CTWA and form leads can belong to the same ad. Without an identified ad, only the open lead changes. This does not create a rule for future leads or trigger conversions. Use cases - Clean up the dashboard: view only your real leads under Yours to measure ROAS without noise. - Audit team clicks: under External, see which competitor ads your number clicked. Tips, limits & best practices - Sync your ad account to improve the ownership signal — without synced ads, the platform can't tell "your ad" from "a third-party ad" and keeps it as yours. - An external lead never promotes the contact to Lead or fires a conversion to Meta. Troubleshooting - One of your leads shows as external? Check that the ad is synced (ad account connected) and that the conversation's first message was really inbound. - Want to see everything together? Use the All tab. See also - CTWA ads and lead forms - Ads conversion tracking (Meta CAPI)

Ads conversion tracking (Meta CAPI)

Overview The platform already captures paid traffic: click-to-WhatsApp ads (CTWA), ads that open a conversation in Messenger (click-to-Messenger) or Instagram Direct (click-to-Instagram Direct) and lead-form leads (leadgen) arrive attributed to their source campaign. Conversion tracking is the other side of that loop: it sends back to Meta the events that happen afterwards — a captured lead, a first contact, a closed sale — through the Conversions API (CAPI). With it, Meta can optimize campaigns on real outcomes (not just the click), and you measure cost per conversion and return on ad spend with real data. Key points: - Configuration is per inbox (each WhatsApp/ads inbox has its own destination). - Events are deduplicated by a deterministic identifier — the same sale is never counted twice. - The token never appears in the UI (only its presence and the last 4 characters). - The active provider today is the Meta Conversions API; Google Ads and TikTok exist as prepared scaffolding but do not send events yet. Capture (CTWA/leadgen) and conversion are distinct modules. This article covers only sending events back to Meta. For capture and attribution, see the Ads/CTWA/leadgen article. Prerequisites - Opt-in module: your account needs the ads_conversion_tracking flag enabled. It is different from the capture flag (growth_ads) — you can have capture without conversion sending. - Administrator permission (all configuration and manual triggering are admin-only). - An inbox on a Meta channel and a token with that channel's events permission: - WhatsApp Cloud: the WhatsApp Business Account (WABA) and whatsapp_business_manage_events; - Messenger (Facebook Page inbox): the Page and page_events; - Instagram: the Instagram professional account and instagram_manage_events. WhatsApp Web, 360dialog or Twilio inboxes have no WABA — in those cases the Dataset ID and token are entered manually. - The Page and Instagram logins don't ask for page_events or instagram_manage_events. For Messenger and Instagram, use the token of the Meta Ads Manager connection (its permissions come from your Facebook Login for Business configuration in the Meta App Dashboard) or paste a token that has the permission. - Dark-ship: when created, the configuration starts off (enabled = false). Nothing is sent until you flip the switch — by design, so you validate first. Step by step 1. Open the Inbox Settings for the inbox you want and go to the Conversions tab. 2. Token: check use the channel token to reuse the inbox's own credentials (WhatsApp Cloud already provides the WABA and a usable token). On channels without a WABA, paste the Meta token. 3. Dataset ID: click Detect or create — the platform looks the dataset up from the inbox's WABA, Page or Instagram account and fills the Dataset ID for you (Meta returns the existing dataset or creates one). On channels without a WABA, enter it manually. 4. Test code: enter the test event code (find it in Meta Events Manager, under Test Events). 5. Run a test event: the platform fires synthetic LeadSubmitted and Purchase events straight to Meta with the test code. Confirm they show up under Test Events in Events Manager. 6. Only after the test passes, flip the switch (enabled). From then on, lifecycle events start being sent for real. The test event bypasses the master switch and the triggers (it exists precisely to validate the wiring before going live). It requires a test event code and valid Meta credentials. Settings & options Lifecycle triggers (each one turns an event on/off): | Option | Event sent | Default | | --- | --- | --- | | lead_on_capture | LeadSubmitted when the lead is captured | On | | contact_on_first_message | ViewContent on the contact's first message | Off | | purchase_on_won | Purchase when the deal is won in the CRM | On | | purchase_on_payment | Purchase when a payment is confirmed | On | | custom_on_lost | one supported event selected in lost_event_name | Off / no event | - Events Meta accepts for business messaging: LeadSubmitted, QualifiedLead, ViewContent, AddToCart, InitiateCheckout and Purchase. Meta rejects website-CAPI names (Lead, Contact, Schedule) and custom events such as Lead_Lost in this flow. - CRM stage → event map (stage_event_map): map a pipeline stage to one of those six supported events to report intermediate milestones beyond won/lost. - Advanced matching: improves matching by sending extra user signals (always hashed — no raw personal data ever leaves the platform). - API version: the Meta Marketing API version is set by the platform, the same for every inbox (currently v26.0), and the screen only shows it. Through the API, the meta_api_version field is deprecated: it still accepts only v26.0 or v25.0, but it is ignored when sending. - Partner agent (meta_partner_agent, default ConversaLabs): identifies your calls to Meta. - Write-only token: the token is stored and masked — the UI shows only that it exists and the last 4 characters. Saving with the field blank keeps the stored token; there is an explicit action to clear the token when needed. Messenger and Instagram - An ad click that opens a conversation in Messenger or Instagram Direct becomes an ad lead with the source Click-to-Messenger or Click-to-Instagram Direct. It shows up in the leads center and triggers the same flows as a WhatsApp lead: the LeadSubmitted event, the automations and Flow Builder flows on the ad lead captured trigger, follow-ups, group distribution and account webhooks. - WhatsApp-only actions never go out on the wrong channel: a WhatsApp template or flow on a Messenger or Instagram conversation is skipped and logged, and group distribution records a lead without WhatsApp as skipped (no WhatsApp). - Automations can filter on the ad lead source (Click-to-WhatsApp, lead form, Click-to-Messenger or Click-to-Instagram Direct). - Meta has no click id on these channels: the event carries the Page and the contact's Page-scoped id (Messenger), or the Instagram account and the contact's Instagram-scoped id. Sales and CRM stages of that conversation count toward the ad within the lead's 7-day window. - Instagram is measurement only: Meta records the events in Events Manager but doesn't optimize Instagram ads with them today. Purchase optimization applies to ads that click to Messenger and WhatsApp. The Conversions screen shows this notice on Instagram inboxes. Lead form leads (CRM) Events for lead-form leads follow Meta's Conversions API for CRM format: they carry the lead ID plus event_source: crm and lead_event_source (the CRM name, the same as the partner agent). Without those fields Meta doesn't use the event for conversion leads optimization. Ledger & manual triggering Every send attempt becomes a row in the conversion ledger, with the delivery state: - pending (processing), sent (delivered to Meta), failed (failed) or skipped (ignored). - The ledger stores only the hashed / non-PII body that was sent, plus Meta's reply for debugging. - Each lead has its own ledger — open the lead to see every event sent for it. - When an attempt fails or is skipped, the ledger says what to do (for example, the permission the token is missing) and keeps Meta's original reason for diagnosis. - Meta doesn't deduplicate messaging events. The platform retries, with the same identifier, only when it is sure the event didn't arrive: a rate limit, Meta being unavailable, or a connection that never opened. If Meta takes too long to answer after the send, the event is marked failed (may have arrived) and is not resent automatically: check Events Manager before resending. Manual triggering (admin): from a lead, you can force an event — for example, record a Purchase for a lead that converted outside the CRM. Manual triggering: - uses a deterministic per-(event, lead) identifier, so re-clicking the same event deduplicates (no double count) but retries if the previous attempt failed; - accepts only the six business-messaging events listed above; legacy Lead and Contact values sent to the API are normalized to LeadSubmitted and ViewContent; - requires conversions to be enabled on the lead's inbox. Reports The Ads report includes the conversion delivery metrics, side by side with attribution: - Sent (sent), failed (failed) and skipped (skipped). - Value delivered to Meta — the sum of the value of delivered events (handy to check what was actually returned as revenue). skipped events are expected when a deal has no ad attribution: the platform records the event as skipped (visible in the leads center) instead of sending something with no source. Providers - Meta Conversions API — active provider (v1). Sends WhatsApp, Messenger and Instagram business-messaging events to the dataset of your WABA, Page or Instagram account, auto-discovering the Dataset ID when it isn't provided. Lead-form leads go out in the CRM format. - Google Ads and TikTok — exist as prepared scaffolding in provider_settings but do not send events in this version. They stay off by default. Use cases - Optimize WhatsApp campaigns on the captured lead and the closed sale, not just the click. - Return the sale value to Meta to compute ROAS per campaign. - Manually record a Purchase for a customer who bought through a channel outside the CRM. - Report intermediate funnel milestones by mapping CRM stages to Meta events. Tips, limits & best practices - Always test first: run the test event and confirm it in Events Manager before flipping the switch. - Idempotency: rely on the deterministic deduplication — won and payment for the same deal collapse into a single delivered Purchase. - No attribution = skipped: if you see many skipped, check that conversations/leads are really arriving with the ad reference (a healthy CTWA/leadgen capture). - Token security: never share the token; it is stored encrypted and never displayed. - Sending never breaks the flow: a delivery failure is recorded in the ledger, it does not interrupt the conversation or the CRM. Troubleshooting - conversions_not_enabled: the ads_conversion_tracking flag is off for the account, or the inbox switch is off. Enable the flag and turn on the inbox configuration. - Dataset not found (no_conversions_dataset): click Detect or create again. The operation is idempotent: it returns the existing dataset or provisions one for the WABA. If it persists, enter the Dataset ID manually. If it still fails, ask the platform administrator to check the Marketing API version, which is set for every inbox. - Invalid event (invalid_conversion_event): choose one of the six supported business-messaging events. Website events and custom names are not accepted by Meta in this flow. - no_permission: the token is missing the channel's events permission (whatsapp_business_manage_events, page_events or instagram_manage_events). Reconnect Meta Ads Manager with the permission or paste a token that has it. - The Page or the contact's id is missing (Messenger/Instagram): the conversation has to come from the Page or Instagram account connected to the inbox. - Failed with "may have arrived": Meta took too long to answer after the send. Check the event in Events Manager and resend only if it isn't there. - The test event doesn't appear in Events Manager: confirm the correct test event code and that the token and WABA belong to the same ad account; check under Test Events. - Events coming out as skipped: the deal has no ad attribution — review the capture (CTWA/leadgen) before sending. See also - Ads, CTWA and leadgen with attribution - Growth & Marketing Studio overview - Payments overview