> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.simplecheck.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Pixel Wiring Studio: Send SmartForm Events to Meta CAPI and Optimize Ads

## What Pixel Wiring Studio Does

Pixel Wiring Studio is SimpleCheck’s visual automation builder for sending the right SmartForm and CRM events directly to Meta’s Conversions API (CAPI).

Instead of stitching together SmartForm → Zapier → Hyros/Cometly → Meta, you can connect the moment a lead submits, books, views the calendar, clicks the widget, or changes CRM stage directly to a Meta event—then test and debug the delivery inside SimpleCheck.

**Quick path:** **Pixel Wiring** → select widget → add trigger → **+ Add Action** → **Send to Meta Pixel** → connect Meta → select Business Account/Pixel/Event → **Save**

> Pixel Wiring is account-gated. If it is missing from the sidebar, contact support and confirm your team member has the Pixel Wiring permission.

---

## Why Teams Use Pixel Wiring

- Send server-side Meta CAPI events without maintaining custom scripts/tokens
- Control events separately for each SmartForm widget
- Use the exact lead/booking/CRM moment that matters—not every generic page event
- Improve match inputs with email, phone, external ID, FBC/FBP, and click data
- Standardize Meta URL parameters across ads
- Test safely before sending live events
- Diagnose failures with Pixel Health, Trigger Health, Run History, Meta diagnostics, stats, and EMQ views

### Can Pixel Wiring Replace Hyros or Cometly?

Yes—when you use those tools mainly to relay SmartForm lead, booking, qualification, or CRM-stage events back to Meta.

Pixel Wiring can remove that middleware for:

- Direct SmartForm → Meta CAPI delivery
- Per-widget trigger/event mapping
- Test-event codes and payload preview
- Run history and delivery errors
- Pixel/cookie/landing-page health checks
- Meta diagnostics, event stats, EMQ, adsets, ad results, and funnel-stage views

Keep Hyros, Cometly, or another platform when you require broader multi-channel attribution, call tracking, lifetime-revenue modeling, or agency reporting beyond SimpleCheck’s current scope.

---

## Before You Start

You need:

1. Pixel Wiring enabled on the SimpleCheck account
2. Pixel Wiring permission for your portal user
3. A SmartForm widget
4. Admin access to the Meta Business Account that owns the Pixel
5. Popups allowed for **portal.simplecheck.ai**
6. The published landing-page URL where the widget is embedded

For paid traffic, you should also have access to the ad’s **Tracking → URL parameters** setting in Meta Ads Manager.

---

## 1. Understand the Studio

Open **Pixel Wiring** from the portal sidebar.

The studio has:

- **Widget** selector — each widget owns its own flow
- **Triggers / Actions** library
- **Multi-trigger** toggle
- Visual canvas connecting triggers to actions
- **Pixel Health** panel
- Header controls: **Refresh**, **URL**, **Runs**, **Run**, **Reset**, **Save**
- Flow status/version bar: **No saved flow**, **Unsaved**, version/date/history

![Pixel Wiring Studio empty canvas](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977155558-01-_1tv56fn.png)

*Start in Pixel Wiring Studio: pick the widget, browse Triggers, then build the first step on the canvas.*

---

## 2. Choose the Trigger

Open the **Triggers** tab and choose what should start the flow.

### Widget Events

- **New Lead** — a lead form is submitted
- **New Booking** — a booking is scheduled
- **Page View** — the widget page is viewed
- **Booking Page View** — the calendar step opens
- **Widget Click** — the widget button is clicked

### CRM Event

- **CRM Pipeline Stage Change** — an opportunity moves to a configured provider/pipeline/stage

When one trigger is already present, enable **Multi-trigger** if you intentionally need multiple triggers in the same widget flow.

> The canvas trigger name is not the Meta event name. For example, the trigger is **New Lead / Lead**, while the connected action may send the Meta standard event **Lead**.

---

## 3. Attach the Action to the Correct Trigger

On the trigger card, click **+ Add Action**. This locks the intended target and opens the **Actions** library.

![Pixel Wiring trigger and action library](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977156198-02-_ryivnn.png)

*The Actions tab appears after + Add Action and shows the production Send to Meta Pixel action plus the other visible action cards.*

Choose **Send to Meta Pixel**.

> **Production limitation:** Send to Meta Pixel is the fully implemented Pixel Wiring action today. Webhook, CRM Integration, and Send Notification cards can appear in the library but are not production-ready. Use the widget’s dedicated **Webhooks** tab and native CRM connections for those jobs.

---

## 4. Connect Meta and Configure the Pixel Action

Selecting the Meta action opens **Pixel Intelligence → Config**.

![Configure the Meta Pixel action](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977156698-03-_xinls3.png)

*Configure Meta OAuth, URL parameters, event name, Pixel selection, and auto-detected matching parameters in Pixel Intelligence.*

### Connect Meta

1. Click **Connect** next to Meta.
2. Complete OAuth in the popup.
3. Approve the requested Business/ads permissions.
4. Return to Pixel Wiring.

The status should show **Connected**. Use **Reconnect** when it shows **Expired**.

### Choose Business Account and Pixel

1. Select **Business Account**.
2. Select the **Pixel**.
3. If the saved Business Account is no longer available, click **Change business** and reselect it.

### Set Event Name

Choose:

- **Standard** — Meta’s recognized standard events
- **Custom** — your own event name

Useful starting mappings:

- New Lead → **Lead**
- New Booking → **Schedule**
- Page View → **PageView**
- Booking Page View → **ViewContent**, **Schedule**, or a clearly named custom event based on your optimization strategy
- CRM Pipeline Stage Change → a stage-specific custom event or an appropriate Meta standard event

For custom events:

- Avoid spaces
- Use underscores or camelCase
- Keep the name under 60 characters
- Use the same spelling/case in Meta reporting and custom conversions

### Auto-Detected Match Parameters

Pixel Wiring can use available:

- fbclid
- email
- phone
- external_id
- fbc
- fbp

Better match inputs generally help Meta associate the server event with the correct browser/person, but the exact score/result remains controlled by Meta.

---

## 5. Add Meta URL Parameters to Your Ads

Click **URL** in the studio header.

![Meta Ads URL parameters template](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977157168-04-_kj0hu7.png)

*Copy the Recommended or GA strict template into Meta Ads Manager → Ad → Tracking → URL parameters.*

The **Recommended** template carries:

- UTMs
- Campaign/adset/ad names and IDs
- Placement
- site_source_name / network source

Paste it as one line with no leading **?**.

This is what connects the ad click to the landing-page visit and later lead inside Funnel Tracker, Trigger Health, and attribution views.

> After updating URL parameters in Meta, publish the ad change and test from the actual ad/preview URL. Manually typing the landing-page URL will not create the same click identifiers.

---

## 6. Save and Version the Flow

Click **Save** whenever the studio shows **Unsaved**.

Each save creates/updates:

- Visual flow nodes/edges
- Runtime event mappings
- Enabled state
- Version and saved timestamp
- Version history

Use **Flow Version History** to understand when the current mapping changed.

Do not leave a tested flow in Unsaved state—the canvas can look correct while production still runs the previous saved version.

---

## 7. Check Landing-Page and Cookie Health

Open **Pixel Health** on the canvas.

![Pixel Health Check](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977157605-05-_1thlzgg.png)

*Enter the public page where SmartForm is embedded, then run the managed health check.*

Pixel Health can return:

- **All Good**
- **Landing Page Issue**
- **SimpleCheck Issue**
- **Widget Not Found**
- **Inconclusive**

The detailed check groups include:

- Landing Page
- Data Capture
- Control Test

### Trigger Health

Select the trigger and open **Trigger Health** to inspect:

- Meta match inputs
- Attribution / UTMs
- Estimated average match-quality score

The estimated score is a SimpleCheck diagnostic proxy—not Meta’s official EMQ score.

---

## 8. Run a Safe Meta Test Event

Click **Run** → **Manual run**.

![Manual Run in Test mode](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977158025-06-_zorx0.png)

*Use Test mode with Meta’s test_event_code, preview the payload, and run against an existing submission or ad-hoc test lead.*

Recommended test flow:

1. Select the canvas **Trigger event** (Lead, Schedule, PageView, etc.).
2. Set **Mode** to **Test**.
3. Paste the **test_event_code** from Meta Events Manager → Test Events.
4. Choose **Existing submission** or **Ad-hoc lead**.
5. Click **Preview payload**.
6. Review the event name, pixel, event ID, match inputs, and attribution.
7. Click **Run test**.
8. Confirm the event in Meta Test Events.

> Live mode sends real CAPI events and requires typing **LIVE**. Use it only when you intentionally want production data.

---

## 9. Debug With Run History

Click **Runs**.

![Pixel Wiring Run History](https://storage.crisp.chat/users/helpdesk/website/-/4/8/2/5/4825c588c306580/pixel-wiring-1784977158433-07-_19q2t1j.png)

*Filter runs by search, date range, mode, status, and event; select a run to inspect executed actions and Meta payload/results.*

Run History filters:

- Search by session/submission/event
- 1 / 7 / 14 / 30 / 90 days
- All modes / Live / Test
- All status / Success / Failure
- Event

Open a run to inspect what actions executed and what was sent to Meta, including available pixel/event/event ID/request/response/error context.

---

## 10. Use Pixel Intelligence Beyond Setup

Select the Meta action to open these tabs:

- **Config** — OAuth, Business Account, Pixel, Event Name, URL parameters
- **Uploads** — offline event upload workflows
- **Diagnostics** — Meta checks; open issues in Meta
- **Stats** — event counts by time range
- **EMQ** — Event Match Quality overview
- **Adsets** — connected ad-set context
- **CRM** — CRM-stage/funnel context when configured
- **Ads results** — creative/spend/results/CPR/CTR views
- **Funnel** — positive/other stages and presets
- **All data** — combined detail view

These views require the corresponding Meta permissions/data. Empty views do not necessarily mean event delivery failed—check **Runs** first.

---

## Pixel Wiring vs Funnel Tracker

Use them together:

### Pixel Wiring

- Decides which SmartForm/CRM event should send which Meta event
- Sends production/test events via Meta CAPI
- Tests payloads and delivery
- Diagnoses pixel/event health

### Funnel Tracker

- Tracks first-party page journeys
- Preserves UTMs, click IDs, pixel cookies, and campaign/source details
- Matches visits/events to captured leads

Pixel Wiring handles event delivery. Funnel Tracker explains the journey and attribution around that event.

---

## Avoid Duplicate Meta Events

Duplicates can happen when:

- Pixel Wiring and an external Zapier/Hyros/Cometly workflow send the same event
- Legacy Meta event toggles and the new flow overlap
- Two Pixel Wiring actions use the same event without intentional deduplication
- Browser Pixel and CAPI events use inconsistent event IDs

After migration, disable the redundant middleware/event and verify deduplication in Meta Events Manager.

---

## Troubleshooting

### Pixel Wiring is missing

The account/user needs Pixel Wiring enabled and the Pixel Wiring portal permission.

### Meta shows Not connected or Expired

Open the Meta action → **Config** → **Connect/Reconnect**. Allow popups and complete OAuth.

### “Meta Pixel action missing pixelId”

Select the Business Account and Pixel, then click **Save**.

### Runs says “No actions for event”

The manual/runtime trigger must match the canvas trigger (for example **Lead**, not the Meta action’s event name). Confirm the action is connected and saved.

### Trigger Health shows UTMs: No data

Install the URL parameter template in Meta Ads Manager and test from an ad/preview URL.

### Pixel Health: Landing Page Issue

The page may not be creating/carrying Meta cookies. Confirm the public URL, base Pixel/browser setup, redirects, and ad click parameters.

### Pixel Health: SimpleCheck Issue

The page has relevant data but the widget is not capturing it. Contact support with the widget name and landing URL.

### Test events work but live events do not

Confirm the flow is saved/enabled, production submissions are using the same widget/trigger, and **Runs** contains Live attempts.

### Meta receives duplicates

Review external middleware, legacy toggles, multiple actions, and browser/CAPI event IDs.

### Event arrives but attribution is missing

Check Meta URL parameters, Funnel Tracker, redirects, FBC/FBP, and Trigger Health.

---

## Security and Privacy

- Never paste Meta access tokens into the portal; use OAuth
- Never share Pixel/Business/account credentials in support chat
- Use test leads/contact data you control
- Do not send financial fields as unsupported custom Meta parameters
- Review Meta’s requirements and your own privacy/consent obligations
- Live mode creates real events—use Test mode first

---

## Next Steps

1. Open [Pixel Wiring Studio](https://portal.simplecheck.ai/pixel-wiring).
2. Build one New Lead → Send to Meta Pixel flow.
3. Add the Recommended Meta URL parameters to the ad.
4. Run Pixel Health and a Test-mode Manual run.
5. Confirm the test in Meta Events Manager.
6. Save the flow, generate one real lead, and inspect **Runs**.

For journey/UTM/lead attribution around those events, add [Funnel Tracker](https://help.simplecheck.com/en/article/funnel-tracker-first-party-attribution-from-ad-click-to-lead-hy0bbb/).

If you still need help, contact support through the portal with the widget name, landing URL, trigger, Meta event name, run time, and redacted error—never send OAuth tokens.