# Blank Facebook ad funnel measurement contract

Fill in a separate row for platform events, site actions, CRM acceptance and commercial outcomes. Define how the records join; the same label in two systems does not prove they match.

## Record control

| Field | Value |
| --- | --- |
| Contract | `maestro.facebook_ad_funnel.route.v1` |
| Record ID | Unknown |
| Route version | Unknown |
| Measurement owner | Unknown |
| Checked at | Unknown |

## Measurement layers

| Layer | Event or outcome | Exact trigger or rule | Join key name | Owner | Evidence status | Source ID | What it establishes | What it does not establish |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Platform | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Site receipt, CRM acceptance, revenue or causality |
| Site | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | CRM acceptance, revenue or Meta causality |
| CRM | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Revenue or Meta causality |
| Commercial | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Unknown | Causal effect unless a valid design establishes it |

## Join and deduplication

- **Join key name:** Unknown
- **Where it is created:** Unknown
- **Where it is stored:** Unknown
- **Deduplication rule:** Unknown
- **Duplicate test:** Unknown
- **PII boundary:** Record only the key name and handling rule in this public plan, never a real person's identifier.

## Reporting and attribution

- **Reporting window:** Unknown
- **Attribution limit:** Platform attribution, site receipt, CRM acceptance and commercial outcomes remain separate facts.
- **Timezone:** Unknown
- **Late-arriving event rule:** Unknown
- **Reconciliation query:** Unknown

## Native delivery receipts

| Receipt ID | Required observation | Status | Owner | Evidence location | Completion observation |
| --- | --- | --- | --- | --- | --- |
| receipt-platform | Platform received the exact test event once with matching event ID. | Unknown | Unknown | Unknown | Current native readback saved. |
| receipt-site | Destination accepted the action and emitted the exact site event once. | Unknown | Unknown | Unknown | Request and response saved. |
| receipt-crm | CRM received one matching record and applied the acceptance rule. | Unknown | Unknown | Unknown | CRM readback saved. |
| receipt-dedup | Browser and server copies reconcile without double counting. | Unknown | Unknown | Unknown | Duplicate fixture produces one accepted event. |
| receipt-suppression | Completed and ineligible fixtures are excluded from the route. | Unknown | Unknown | Unknown | Native audience readback saved. |

`planned`, `pending`, `Unknown`, `denied`, `stale` and `invalid` are not positive receipts.

## Verification queries

| Query | Definition |
| --- | --- |
| Platform | Unknown |
| Site | Unknown |
| CRM | Unknown |
| Commercial | Unknown |
| Mismatch owner and action | Unknown |

## Readiness

- **Draft status:** Draft Hold until event definitions, owners, join rule and queries are complete.
- **Launch status:** Launch Hold until every required current native receipt is `verified`.
- **Open request:** Define the CRM acceptance outcome. A platform `Lead` label cannot supply it.
