Search Documentation

Search for a documentation page...

Dashboard

Connect Meta Ads

Link your Meta (Facebook) ad account to track ad spend and receive leads.

Connecting your Meta (Facebook/Instagram) ad account lets Adsu pull in campaign performance data — spend, impressions, clicks, and lead form submissions. More importantly, it enables the Conversions API (CAPI) feedback loop, which sends conversion events back to Meta so their algorithm can optimize for deeper-funnel actions like appointments, show-ups, and purchases instead of just form fills.

What Gets Synced

  • Ad spend and performance — Daily spend, impressions, and clicks for every campaign, ad set, and ad in your account. Synced every 6 hours with a rolling 7-day lookback.
  • Lead form submissions — Leads submitted through Facebook Lead Ads are captured in real time via webhooks, with a catch-up poll every 30 minutes.
  • Meta Pixel — Your Pixel ID is auto-discovered from the ad account and stored for CAPI event delivery. No manual Pixel configuration is needed.
  • CAPI conversion events — When contacts who came from Meta ads advance through your funnel (appointment booked, showed up, purchased), Adsu sends server-side conversion events back to Meta.

Prerequisites

  • A Meta Business account with at least one active ad account.
  • Admin or advertiser access to the ad account you want to connect.
  • Active ad campaigns (historical data is backfilled, but you need at least some ad history to see meaningful results).

Connection Steps

1

Open the Connections page

In your Adsu dashboard, navigate to Settings > Connections. Find the Meta Ads card and click Connect.

2

Authorize with Facebook

You will be redirected to Facebook's OAuth screen. Sign in with your Facebook account if prompted. Review the permissions Adsu is requesting — these include access to your ad accounts, ad performance data, leads, and the ability to send CAPI events.

Click Continue to authorize. You will be redirected back to Adsu.

3

Select your ad account

After authorization, Adsu presents a list of ad accounts associated with your Facebook Business account. Select the ad account that runs ads for your gym location.

When you save your selection, Adsu automatically discovers your Meta Pixel from the ad account and begins the 90-day historical backfill of ad spend, impressions, clicks, and leads.

4

Verify data is flowing

Head to Dashboard > Campaigns to see your Meta campaigns appear. The initial backfill pulls up to 90 days of historical ad data, so you should see campaign performance right away.

You can also check the Dashboard > Sync page to monitor the backfill progress and confirm the sync completed successfully.

Set Up URL Parameters for Full Attribution

After connecting Meta, go to Settings > Tracking in your Adsu dashboard to get the URL parameter template for your Facebook ads. Adding these parameters ensures leads are attributed correctly in both Adsu and GoHighLevel — especially important for lead form campaigns where GHL has no other way to identify the source ad.

Meta Tokens Expire After 60 Days

Unlike GoHighLevel and Google, Meta access tokens cannot be automatically refreshed. Your Meta token is valid for 60 days from the date you authorized. When it expires, Adsu will stop syncing Meta data until you re-authorize.

Adsu sends you an email warning 7 days before your token expires. To re-authorize, go to Settings > Connections, click Reconnect on the Meta card, and complete the Facebook OAuth flow again. The process takes less than a minute and all your existing data is preserved.

The CAPI Feedback Loop

The Conversions API (CAPI) feedback loop is one of Adsu's most powerful features. Here is how it works:

  1. A person clicks your Facebook ad and fills out a lead form or visits your website. Adsu captures their fbclid (Facebook click ID) and associates it with the contact.
  2. As the contact progresses through your funnel — booking an appointment, showing up, making a purchase — Adsu detects the stage change.
  3. For each qualifying stage advance, Adsu sends a server-side conversion event to Meta via CAPI. The events include hashed user data (email and phone) for matching, plus the original click ID.
  4. Meta uses these conversion events to train its ad delivery algorithm. Over time, Facebook learns which types of users are most likely to complete deeper-funnel actions, and optimizes your ad delivery accordingly.

The stage-to-event mapping is:

  • Appointment Set maps to the Meta Schedule event
  • Showed maps to a custom AppointmentShowed event
  • Closed and Active Member map to the Meta Purchase event (includes the contact's lifetime value)

CAPI Only Fires for Meta-Sourced Contacts

Conversion events are only sent for contacts that originated from a Meta ad (identified by source type or the presence of an fbclid). Contacts that came from Google Ads, organic search, or walk-ins do not trigger CAPI events. This ensures Meta only receives data about conversions it actually drove.

How Meta Data Flows Through Adsu

  1. Ad insights sync (every 6 hours) — Adsu pulls spend, impressions, and clicks for the past 7 days from the Meta Marketing API. Data is stored at the campaign, ad set, and ad level with daily granularity.
  2. Lead form webhooks (real-time) — When someone submits a Facebook Lead Ad form, Meta sends a webhook to Adsu. The lead is created as a contact with source attribution pointing to the specific ad.
  3. Lead form catch-up (every 30 minutes) — Adsu polls for recent lead form submissions as a safety net in case any webhooks are missed.
  4. Matching engine — Contacts from Meta lead forms are linked to their ad touchpoints. The matching engine also connects website visitors (captured by the tracking script) to Meta ads via fbclid and UTM parameters.
  5. CAPI events — As matched contacts advance through funnel stages, Adsu sends conversion events back to Meta. Events use deterministic IDs so duplicates from webhooks and catch-up syncs are automatically deduplicated on Meta's side.

Rate Limiting

Meta uses dynamic Business Use Case (BUC) based rate limiting. Adsu monitors the x-business-use-case-usage header on every API response and automatically backs off when approaching limits. Under normal usage with a single ad account, you are unlikely to hit rate limits.

Troubleshooting

  • No campaigns showing after connecting — Verify you selected the correct ad account. Check the Sync page for any error messages. The backfill may take a few minutes for accounts with large amounts of historical data.
  • Lead form submissions not appearing — Ensure your Facebook Lead Ads are active and the lead forms are configured correctly. Check that webhooks are registered by looking at the integration health status on the Connections page.
  • Token expired notification — Go to Settings > Connections and click Reconnect on the Meta card. You will need to complete the Facebook OAuth flow again.
  • CAPI events not sending — Make sure the contact originated from a Meta ad and has an fbclid. Also verify that your Meta Pixel was auto-discovered (check the Connections page for the Pixel ID). If the Pixel is missing, try disconnecting and reconnecting the Meta integration.