Meta Ads + Spectacle

See which Meta campaigns create customers—not just conversions.

One connection adds this tool to your revenue journey—joined with your website, CRM and ad activity from first click to closed-won.

Sign in to install

Integration Details

Built by

Spectacle

Category

Ad Network

Setup Time

10 to 15 minutes (includes adding URL parameters to your ads)

Sync Frequency

Real-time

Authentication

OAuth 2.0, Meta Business Manager user with access to the ad account

Compatible With

Any Meta ad account. Custom Audiences need Meta's Custom Audience Terms accepted; Conversions API needs a Data Set (pixel) with Conversions API Gateway enabled

Overview

Spectacle connects to Meta Ads in 10 to 15 minutes and attributes every lead, deal, and payment to the Facebook or Instagram ad set that started the journey, however long ago that was. Ads Manager records the click and a modelled conversion inside its own 7-day window. Spectacle records the journey from that click to the CRM stage or the payment, and sends the outcome back through the Conversions API with a value attached.

At a glance

  • Category: Ad network
  • Setup time: 10 to 15 minutes (includes adding URL parameters to your ads)
  • Authentication: OAuth 2.0, Meta Business Manager user with access to the ad account
  • Meta plan: Any Meta ad account. Custom Audiences need Meta's Custom Audience Terms accepted; Conversions API needs a Data Set (pixel) with Conversions API Gateway enabled
  • Spectacle plan: All Spectacle plans (Essential, Scale, Enterprise); company-level attribution on Scale and Enterprise
  • Direction: Meta → Spectacle (campaign structure, spend, fbclid). Spectacle → Meta (Conversions API events, Custom Audiences)
  • Objects: Campaigns, ad sets, ads, placements, spend, fbclid, conversion events, audiences
  • Sync: Spend: near real time, from the first tracked click. Custom Audiences update automatically; CAPI events go in batches every few hours; first sync takes 24 to 48 hours in Meta
  • Docs: /docs/meta-ads
  • Marketplace: Not applicable, direct connection over the Meta Marketing API

The gap in Meta Ads' own reporting

Ads Manager reports conversions inside its default attribution setting of 7 days after a click. For a $29,000 purchase 90 days after the first Instagram click, or a B2B deal that takes 5 months, the sale lands outside the window and the ad set that started it shows nothing. What does show up is modelled: since iOS 14.5, part of the conversion count is Meta's estimate of what it could not observe. Spend is exact, the numerator is an estimate, and neither knows the deal value in your CRM.

Spectacle sits underneath: a first-party tracking snippet on your domain that stores the fbclid on the visit, your CRM and billing connected, and a journey window you set to your sales cycle.

What syncs

  • Campaigns, ad sets, ads, and placements: Structure imported through the URL parameters on your ads, so every visit resolves to the ad set and placement that paid for it
  • Ad spend: Cost imported from the first tracked click and joined to journeys for cost per contact, cost per deal, and cost per paying customer
  • Facebook Click ID (fbclid): Captured on the visit, stored on the journey, used as the match key when conversions go back
  • Conversions API events: Contacts entering a Spectacle audience sent as Lead, Purchase, Subscribe, CompleteRegistration, or another standard event, with hashed identifiers and a value
  • Custom Audiences: Spectacle audiences kept in sync for retargeting, lookalike seeds, and exclusion
  • Lead form submissions: Leads from Meta lead forms captured as contacts

The full list of event types and data-sharing options lives in the Meta Ads docs. This page summarizes; Docs is the source of truth.

What you get

  • Cost per CRM contact and per paying customer by ad set. Spend from Meta joined to contacts in HubSpot, Salesforce, or Pipedrive and payments in Stripe, at campaign, ad set, ad, and placement level.
  • Attribution that survives the 7-day window. A journey window set to your sales cycle, so the first Instagram click gets credit for the purchase 3 months later under first-touch, last-touch, linear, or U-shaped models.
  • Conversions API events with a value. When a contact becomes an SQL, a won deal, or a paying subscriber, Spectacle sends it to Meta server-side with the fbclid and hashed email, phone, and address, so delivery optimizes for people who end up paying.
  • Custom Audiences that maintain themselves. Exclude current customers, retarget open opportunities, and seed lookalikes from closed-won contacts. Minimum 100 matched users; identified contacts only, never anonymous visitors.

Pairs with

HubSpot · Salesforce · Pipedrive · Stripe · Google Ads

How Spectacle and Meta Ads work together

  1. Connect Meta Ads. Settings → Integrations → Meta Ads. OAuth through Business Manager, about a minute.
  2. Add the URL parameters to your ads. Meta does not allow automatic tracking configuration, so paste the parameter string shown in the integration (utm_id, utm_campaign, sp_pl, sp_ai, sp_agi, sp_n) into the URL parameters field on each ad. Spectacle captures the fbclid itself and imports spend from the first tracked click.
  3. Close the loop. Audiences → Syncs → New sync, pick the Meta account, choose Custom Audiences or Conversions API. For CAPI, select the Data Set and the event type. Accept Meta's Custom Audience Terms when prompted. First sync takes 24 to 48 hours; typical match rates are 30 to 60%.

Step by step with screenshots: Connect Meta Ads.

What you gain by connecting Meta Ads

  • Cost per CRM contact and per paying customer by ad set. Spend from Meta joined to contacts in HubSpot, Salesforce, or Pipedrive and payments in Stripe, at campaign, ad set, ad, and placement level.
  • Attribution that survives the 7-day window. A journey window set to your sales cycle, so the first Instagram click gets credit for the purchase 3 months later under first-touch, last-touch, linear, or U-shaped models.
  • Conversions API events with a value. When a contact becomes an SQL, a won deal, or a paying subscriber, Spectacle sends it to Meta server-side with the fbclid and hashed email, phone, and address, so delivery optimizes for people who end up paying.
  • Custom Audiences that maintain themselves. Exclude current customers, retarget open opportunities, and seed lookalikes from closed-won contacts.

See the integration in practice

A real estate developer ran Meta and Google side by side and judged both on leads. With the CRM connected in Spectacle, the cost per CRM contact was $878 on one channel and $128 on the other, a gap the platforms' own cost per lead had hidden because they counted form fills that never became a contact the sales team could call. With a sales cycle of around 7 months, most of those contacts sat outside Meta's attribution window anyway; the journey window in Spectacle was set to match. (Anonymized.)

About Meta Ads

See which Meta campaigns create customers—not just conversions.

Popular Meta Ads resources and guides

Understand how to connect your tools, improve attribution, and build better reporting across your revenue journey.

Build

Create integrations that connect your platform with Spectacle attribution and reporting workflows.

Learn more

Get listed

Publish your integration in the Spectacle directory and help teams discover new connected workflows.

Learn more

API & Docs

Explore Spectacle APIs, setup guides, and developer documentation to build custom workflows and integrations.

Learn more

FAQ

Does Spectacle integrate with Meta Ads?

Yes. Spectacle connects to Meta Ads over OAuth, imports spend and campaign structure, captures the fbclid on every visit, and sends conversions through the Conversions API and Custom Audiences back to Meta. Setup takes 5 minutes, including the URL parameters on your ads.

Does Spectacle send conversions back to Meta through the Conversions API?

Yes. Contacts entering a Spectacle audience are sent as a standard Meta event (Lead, Purchase, Subscribe, and others) with hashed email, phone, and address plus the fbclid, and a conversion value you assign. Events are synced in real-time.

Can Spectacle track Meta view-through conversions?

No. Spectacle attributes to clicks that landed on your site; impressions on Facebook or Instagram without a click are not tracked and are never credited. Ads Manager's view-through figures will therefore always be higher than Spectacle's.

Why doesn't my Ads Manager ROAS match Spectacle?

Ads Manager counts modelled conversions inside a 7-day click window using Meta's own attribution. Spectacle tracks first-party from your domain, applies one journey window across every channel, and counts CRM and payment outcomes. Compare Spectacle's number against your CRM export; that is the one it is built to match.

What does Spectacle share with Meta?

Only the fields you switch on per sync: email, phone, and address components for Custom Audiences; the same plus the fbclid for the Conversions API. Everything is hashed by Spectacle before sending, per Meta's requirements, and you need user consent under Meta's data use policies.