For Meta Ads managers · Updated Nov 10, 2026
Set up Meta instant form campaigns
Campaigns that capture leads through Meta instant forms can't optimize to a conversion event or for conversion value. Their only lower-funnel option is the Maximize number of qualified leads performance goal, and the qualified lead is defined once for the whole dataset. So Scowtt sends each lead's funnel stages to Meta through the Conversions API for CRM integration, and the Scowtt event is set as the dataset's qualified lead. The Scowtt test campaign optimizes to that event, while your BAU campaign keeps its current setup.
How it works: You choose a dataset, turn on CRM events, generate an access token and connect Meta Ads in the Scowtt app. You add Meta's Lead ID and stage history to the data you share. Scowtt scores each lead and sends every stage to Meta; you set the Scowtt event as the qualified lead and build the test campaign.
How instant form campaigns differ
- No conversion event: an instant form ad set can't choose a conversion event to optimize for. Out of the box, it optimizes for the number of form submissions.
- Qualified leads is the only lower-funnel goal: the qualified lead is set once in the dataset's sales funnel, not per campaign, so every campaign on the dataset using Maximize number of qualified leads optimizes to the same event.
- No value optimization: instant forms support maximizing conversions, not conversion value. Instead, Scowtt's lead scoring decides whether each lead is sent as a positive (qualified) or negative event, so Meta optimizes to predicted lead quality rather than raw CRM stages.
- The conversion location must be Instant forms. If it doesn't match where leads are captured, Meta won't serve the ads. Choosing Website and instant forms makes Meta optimize for lead volume, not the lower funnel.
Which dataset to use
| Dataset | When |
|---|---|
| New dataset (preferred) | Recommended for every instant form test. Required if any campaign on your existing dataset (website or instant form) already uses Maximize number of qualified leads, or the dataset's sales funnel already has Positive stages, since both would otherwise optimize to the same event. BAU stays on the existing dataset unchanged |
| Existing dataset | Acceptable if setting up a new dataset is difficult, the dataset's sales funnel has no Positive stages, and no campaign on it uses Maximize number of qualified leads. The dataset is enabled for CRM events and the Scowtt event becomes its qualified lead |
Either way, Scowtt sends every funnel stage, not just the Scowtt event. Meta learns better when it sees the full funnel.
What Meta requires
| Requirement | Detail |
|---|---|
| Lead ID | Strongly recommended, because it improves match rate. Meta's 15 to 17 digit Lead ID, captured on each instant form record in your leads database. It isn't needed to launch: Scowtt matches on hashed email or phone until the Lead ID is in your data |
| Volume | At least 200 instant form leads a month |
| Data freshness | Lead and stage data shared hourly if possible, and at least daily, as stage history (each change as its own timestamped row), not a daily snapshot. If stage data arrives only once a day, the test campaign uses a 7-day click window instead of 1-day |
| Timing | The optimized stage happens within 28 days of the lead, and each event reaches Meta within 7 days of when it happened |
| Conversion rate | The optimized stage converts at roughly 1% to 40% of leads |
| Learning period | Meta checks CRM events before the sales funnel can be configured, so on a new dataset plan for about a week of events first. A 2 to 4 week learning period follows; the test can run during it but won't show its full lift yet |
| Access | Meta Business Suite admin access, to enable CRM events and generate the access token. The standard dataset access token covers CRM uploads; no separate CRM token is needed |
Before Scowtt starts sending events
-
You: Confirm your BAU setup and choose a dataset
In Ads Manager, check whether any live ad set on the dataset, website or instant form, uses Maximize number of qualified leads. In Events Manager, check whether the dataset's sales funnel already has Positive stages. If either applies, a new dataset is required; otherwise a new dataset is still preferred. If website campaigns share the dataset, also check that each optimizes to a single named event (for example Lead), not the whole dataset, and that no custom conversion BAU relies on uses broad rules that would pick up Scowtt's events.
-
You: Turn on CRM events for the dataset
In Events Manager, click Connect Data Sources, select CRM, then Connect. Create a new dataset (preferred) or convert the existing one, as decided in step 1. Website events already flowing to it aren't affected. Check that the dataset's icon updates to show it accepts CRM events.
-
You: Generate the dataset access token
In Events Manager, go to Datasets and select the dataset from step 2. Open Settings, scroll to Set up direct integration and click Generate access token. In the popup, select the dataset, click Generate Access Token and save the token somewhere safe. Copy the Dataset ID from the same Settings page.
-
You: Connect Meta Ads and share access
In the Scowtt app, go to Settings > Integrations. In the Advertising section, click Add Advertising, then Connect next to Meta Ads. Paste the Dataset ID and access token, click Connect, and check that Meta Ads shows as Connected. Then give read-only ad account access to Scowtt's Meta Business Manager; your Scowtt team sends the ID. If you'd like Scowtt to turn on CRM events (step 2) and configure the sales funnel (step 7) for you, also assign Scowtt's Business Manager as a partner on the dataset with full control (Manage dataset).
-
You: Add Lead ID and stage history to your data
Capture Meta's Lead ID on every instant form record in your leads database and include it in the data you share with Scowtt. Send each stage change as its own timestamped row, hourly if possible and at least daily. Include every instant form submission, including leads that don't progress, so Meta sees the full funnel.
After Scowtt starts sending events
-
Scowtt: Score leads and send every stage
Scowtt scores each instant form lead, decides when it qualifies, and sends every funnel stage to your dataset through the CRM integration, tagged with the Lead ID.
-
You: Check CRM events are arriving
In Events Manager, open the dataset's Overview. Scowtt's CRM events should appear through the Conversions API. Meta checks them and marks the Send a CRM event step complete; on a new dataset, allow about a week of events before step 3. If Core Setup is on, review and approve the Scowtt event before it appears.
-
You: Configure the sales funnel
In the dataset's Settings tab, under Conversion API for CRM integration, click Modify next to Configure sales funnel. Move the Scowtt event into Positive stages and leave the other stages under Other stages, which don't count as qualified leads.
-
You: Build the test campaign
Duplicate the BAU instant form campaign, since Meta won't change the performance goal on a published campaign. Keep the conversion location as Instant forms, select the dataset from step 2 and set the goal to Maximize number of qualified leads; no conversion event is selected on the ad set. If any other part of the duplicate refers to a dataset (for example, tracking settings on the ads), point it at the Scowtt dataset too. Use the settings in the table below.
-
You and Scowtt: Monitor the learning period
The test can run during Meta's 2 to 4 week learning period but won't show its full lift yet. Keep every other campaign on the dataset off the qualified-leads goal, and read results in platform against Scowtt's ground truth conversion data.
Campaign settings
| Setting | Control (BAU) | Test (Scowtt) |
|---|---|---|
| Campaign | Your existing instant form campaign, unchanged | A duplicate of the BAU campaign, same creative |
| Conversion location | Instant forms | Instant forms only (Website and instant forms optimizes for lead volume) |
| Dataset | Your existing dataset | A new dataset (preferred), or your existing dataset |
| Performance goal | Unchanged (typically Maximize number of leads) | Maximize number of qualified leads, with the Scowtt event as the dataset's positive stage; no conversion event selected |
| Attribution window | As is | 1-day click, no view if your data reaches Scowtt more than once a day. 7-day click, no view if it arrives once a day or less often. Set it manually (Meta defaults to 7-day click, 1-day view); your Scowtt team confirms the setting before launch |
| Budget | 50/50 split with the test campaign | 50/50 split with BAU; at least 200 leads a month (Meta's minimum for this goal) |
Who does what
Before Scowtt starts sending events
| Step | Who | What changes hands |
|---|---|---|
| Confirm your BAU setup and choose a dataset | You | — |
| Turn on CRM events for the dataset | You | — |
| Generate the dataset access token | You | Token and Dataset ID (kept for step 4) |
| Connect Meta Ads and share access | You | Dataset ID and token in the app; read-only ad account access |
| Add Lead ID and stage history to your data | You | Lead ID and timestamped stage history |
After Scowtt starts sending events
| Step | Who | What changes hands |
|---|---|---|
| Score leads and send every stage | Scowtt | Every funnel stage, sent to your dataset |
| Check CRM events are arriving | You | — |
| Configure the sales funnel | You | — |
| Build the test campaign | You | — |
| Monitor the learning period | You and Scowtt | Results, read against ground truth |
