Skip to content

Meta Ads

Existing Client Meta CAPI Rollout

Platform
Meta Ads
Owner
Paid Ads Specialist
Assignee
Rico
Supports
GoHighLevel Specialist
Needs review — This SOP contains our content but has not been verified by Nick. Treat as a working draft until marked Live.
  • Owner: Rico
  • Authority: Nick Conley
  • Version: 2.2
  • Applies to: Existing Tekton Meta Ads clients using GoHighLevel

Send two useful events back to Meta:

  • Lead when someone submits the client’s form.
  • QualifiedLead when the lead meets the client’s qualification rules.

Do not rebuild the client’s campaign or lead-delivery system unless something required for this setup is broken.

  • The correct client GHL location.
  • Access to the client’s Meta Business Portfolio and ad account.
  • The form or lead source being used.
  • The client’s definition of a qualified lead.
  • A client-provided list of leads that already meet that qualification rule, for the one-time QualifiedLead seed workflow.

Get the client’s answers to these questions:

  • Which services count as qualified?
  • What minimum budget counts as qualified?
  • Which service areas count as qualified?
  • Are there any other automatic disqualifiers?
  • Who reviews leads that are unclear?

Write the final rule in plain language and get the client’s approval.

Step 2: Create the client CAPI pixel/dataset

Section titled “Step 2: Create the client CAPI pixel/dataset”

Assume the client does not already have one:

  1. Open Meta Events Manager inside the client’s Business Portfolio.
  2. Click Connect Data Sources and choose CRM.
  3. Create a new dataset using: [Client] | Meta Ads | [YYYY].
  4. Select LeadConnector as the CRM partner.
  5. Assign the client’s ad account to the new dataset.
  6. Give Tekton’s approved partner or system user permission to manage the dataset.
  7. Record the dataset ID in the client’s implementation record.
  8. Open the correct client GHL location and connect its Facebook account under Settings > Integrations.
  9. In the CAPI workflow action, choose Ad Manager as the connection type and select the new client dataset/pixel. HighLevel manages the connection token through this route.
  10. Confirm the dataset ID selected in GHL matches the ID in Meta Events Manager.

Never use another client’s dataset.

Create a GHL workflow that starts when the client’s active form is submitted.

Send:

  • Event: Lead
  • Dataset: the client’s dataset
  • Available contact information and Meta attribution fields

Keep this workflow focused on CAPI. Do not add new emails, SMS messages, or other client communication unless separately approved.

Step 4: Send the existing qualified-lead list

Section titled “Step 4: Send the existing qualified-lead list”

This gives the new dataset an initial quality signal.

  1. Get a client-provided list of leads that genuinely met the approved qualification rule.
  2. Import the list into the correct client GHL location and place it in a dedicated Smart List.
  3. Create a separate CAPI seed workflow that sends QualifiedLead to the client’s dataset.
  4. Remove all email, SMS, assignment, opportunity, task, and notification actions from the seed workflow.
  5. Run one known contact first and confirm the event reaches the correct dataset once.
  6. Run the full Smart List through the workflow one time.
  7. Compare the successful GHL executions with the events received by Meta.
  8. Turn the seed workflow off and remove its bulk trigger when the list is finished.

Only use contacts that were truly qualified. Do not send an old general contact list or label past contacts as recent qualified leads.

Route each lead to one of three outcomes:

  • Move the opportunity to the Qualified stage.
  • Send QualifiedLead to Meta once.
  • Move the opportunity to the Review stage.
  • Do not send QualifiedLead yet.
  • Send it only if a person later moves the opportunity to Qualified.
  • Move the opportunity to the Unqualified stage.
  • Do not send QualifiedLead.

Submit three test leads through the real form:

  1. One qualified lead.
  2. One lead that needs review.
  3. One unqualified lead.

Confirm:

  • All three leads reach the correct GHL location.
  • Each lead lands in the correct stage.
  • Meta receives one Lead event for each submission.
  • Meta receives QualifiedLead only for the qualified lead.
  • Moving the review lead to Qualified sends one QualifiedLead event.
  • No duplicate events or unapproved messages fire.

After the tests pass and the exact workflows are approved:

  1. Publish the Lead workflow.
  2. Publish the qualification workflow.
  3. Publish the QualifiedLead workflow.
  4. Submit one final test.
  5. Confirm the events appear in Meta Events Manager.

Do not change the live campaign’s budget or optimization event as part of this setup. Any optimization change is a separate decision.

  • Client qualification rule approved.
  • Correct GHL location used.
  • Client CAPI pixel/dataset created in the correct Meta Business Portfolio.
  • Client ad account and approved Tekton access assigned to the dataset.
  • Correct client dataset connected.
  • Existing qualified-lead list sent once and reconciled.
  • Seed workflow turned off after the list run.
  • Lead workflow working.
  • Qualified, Review, and Unqualified routing working.
  • QualifiedLead fires only for qualified leads.
  • Events confirmed in Meta Events Manager.
  • No duplicate events or unapproved messages.

Turn off the new CAPI workflows. Leave the client’s existing lead-delivery workflow and live campaign unchanged while the issue is fixed.