PipelineSignals

Let’s close the loop. 🔁

Four steps and your ads start learning from closed deals instead of junk leads. No developer needed.

⏱ About 15 minutes, one time

App installed done — that was the hard part

Your tracking fields were provisioned automatically when you installed. Nothing to configure here.

2

Connect Meta ~5 min — 4 things to collect

Everything lives in Meta Events Manager (business.facebook.com → Events Manager), under the business that owns your ads:

  1. A dataset. If you don’t have one for this client: Connect data → Web → Create new dataset, name it after the client. Skip any pixel-install or partner prompts — you won’t need them.
  2. The Dataset ID. Shown at the top of the dataset’s page (a long number).
  3. The access token. Dataset → Settings tab → scroll to Conversions APIGenerate access token. Copy it immediately — it’s shown once.
  4. The test events code (optional but fun): dataset → Test events tab → the TEST-xxxxx code.

Paste all of it into the Connect Meta form. We validate live against Meta before saving — and if you included the test code, a ConnectionTest event appears in your Test events tab the moment it connects. That’s your proof the pipe works, before a single ad runs.

3

Add the capture script ~2 min

Copy your script tag from the app and add it to your landing pages — funnel settings, WordPress header, or your tag manager:

<script src="https://cdn.pipelinesignals.io/ps.js" async></script>

It instantly starts capturing fbclid, gclid, ttclid and UTMs on every visit and stamps them onto the contact automatically.

Using forms embedded on external pages? One extra minute: open the form in the builder and add these custom fields as hidden fields (they were created for you at install): ps_fbclid, ps_fbc, ps_captured_at — plus ps_gclid, ps_ttclid and ps_utm_source if you run those channels. The script fills them silently; visitors never see them. (Forms on your CRM-hosted funnels don’t need this — attribution is captured there automatically.)

Running Meta Lead Ads? ~3 min, once — unlocks the strongest match key

Leads from Instant Forms never touch your website, so there’s no click ID to capture. Meta instead matches them by Lead ID — the highest-quality match key CAPI accepts, and the one that unlocks Conversion Leads optimization. One small workflow passes it to us:

1. In your CRM: Automation → Create Workflow, trigger Facebook Lead Form Submitted.
2. Add action Update Contact Field → pick ps_meta_lead_id (created for you at install).
3. Set the value to the merge field {{contact.facebookLeadId}} and publish.

That’s it — every lead-ad conversion now reports back to Meta with its Lead ID attached.

Creating contacts with Zapier or Make instead? Map the trigger’s lead id field — Zapier calls it ID, Make calls it Lead ID — into the same ps_meta_lead_id field in your create/update-contact step.

4

Map your pipeline stages ~5 min

Tell us which stage changes fire which conversion events — dropdowns, not code:

QualifiedLead
Appointment bookedSchedule
Closed wonPurchase + deal value 💰

Also set the Status triggers at the bottom of the editor: they fire when an opportunity is marked Won or Lost in any pipeline — so deals closed without a stage drag still report their value. Don’t worry about double-counting: each event fires once per opportunity, however it’s triggered.

Then drag a test opportunity into a mapped stage and watch the event appear in your dashboard — delivery status, match keys and value included. Green across the board? The feedback loop is live.

📚

Deeper dives live in the guides library: external-site forms, Lead Ads, Zapier & Make, phone-call attribution, and stage-mapping strategy — each a five-minute read.

💬

Stuck for more than five minutes? Don’t wrestle it — email hello@pipelinesignals.io and a human who built this will answer fast. White-glove setup is free while we’re in early access.

Pipeline Signals · dedup, retries, expiry windows and consent flags handled automatically