Jump to a popular page, or start typing.

    CONNECTIONS / BigQuery / BigQuery to Meta Offline CAPI

    From BigQuery datasets to Meta's offline optimization.

    Point Signals at the dataset behind a read-only service account, and it credits dealer, branch, and phone sales to the Meta campaigns behind them on the cadence your scheduled query already keeps.

    bigquery -> meta-offline-capi :: live

    1. ● bigquery → meta.capi :: live
    2. > read sales.pos_transactions rows=64,467
    3. hash sha256(email,phone) consent=filtered
    4. route meta deliver
    5. ✓ delivered · 56,086 matched

    WHAT THIS ENABLES

    BigQuery to Meta Offline CAPI

    BigQuery to Meta Offline CAPI: A scheduled query reads the offline and in-store sales in your BigQuery tables, and Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, hashed and consent-checked whenever the scheduled query reruns.

    • Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, reading your BigQuery tables whenever the scheduled query reruns.
    • In-store and phone revenue joining Meta's optimization loop, fed by analytics engineers running BigQuery scheduled queries.
    WHAT FLOWS WHERE

    The click, the conversion, and the credit.

    The conversion happens off Meta, away from any pixel. Here is how BigQuery closes the loop.

    Meta credits the campaign that sourced the conversion conversion happens off-platform Ad click on Meta Scheduled query sync recorded in BigQuery S Signals hash · dedupe Offline Conversions API delivered · credited
    WHO THIS IS FOR

    Built for the teams that own the number.

    Considered-purchase brands closing revenue far from the browser, with the numbers already modeled in BigQuery tables and GA4 exports.

    Analytics engineers running BigQuery scheduled queries who need in-store and phone revenue joining Meta's optimization loop.

    HOW DATAHASH SETS IT UP

    From kickoff to verified events.

    1. Connect

      A read-only service account with dataViewer on the one dataset you nominate to feed Meta's Offline Conversions API, sized for Meta's 62-day event window.

    2. Map

      A scheduled query reads your BigQuery tables, and its columns map to Meta's Offline Conversions API in the visual mapper, hashed and checked for Meta's 62-day event window.

    3. Deliver

      Whenever the scheduled query reruns, Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, scans only the rows the query changed, with Meta's 62-day event window watched in the debugger.

    WHAT YOU GET

    What changes when the CSV goes away.

    Capability Manual CSV upload Datahash
    Reporting Offline sales sit in a separate export, reconciled by hand. Revenue counted in the same Offline CAPI reporting as web conversions.
    Deduplication A re-uploaded file risks counting the same conversion twice. Deduped delivery, so a resent record never counts as a second conversion.
    Match visibility Match quality is a guess until the numbers look off. Match rate reported per upload, tied to the source event set that produced it.
    Effort and latency An analyst exports and uploads on a manual cadence. Server-side and automatic the moment BigQuery records the event.
    ON THE WIRE

    What Offline CAPI actually receives.

    signals :: bigquery.meta-offline-capi :: wire

    1. ● signals :: event payload
    2. > POST /offline_conversions source=bigquery.sales.pos_transactions
    3. event_name "Purchase" · event_time 2026-07-22T03:35:49
    4. value 41418.00 · currency USD
    5. em sha256 "1fa603…" · ph sha256 "eb2201…" · external_id "txn-52349"
    6. ✓ accepted match=87%
    FAQ

    Asked on almost every call.

    How often does the BigQuery Meta Offline CAPI sync run?

    The scheduled query sets the pace: rebuild the offline and in-store sales nightly and delivery to Meta is nightly, or refresh hourly for an hourly feed. Each run only reads the rows the query changed, so in-store and phone revenue joining Meta's optimization loop stays current for Meta's 62-day event window while BigQuery slot cost barely moves.

    What match rate should a BigQuery-sourced Meta Offline CAPI batch expect?

    Coverage in your BigQuery tables decides the rate, not BigQuery. A row with a current hashed email or phone matches; one missing both cannot, however the query is tuned. The first run's report from Meta's Offline Conversions API sets a baseline, the number considered-purchase brands closing revenue far from the browser weigh against Meta's 62-day event window.

    NEXT STEP

    BigQuery to Meta Offline CAPI, in production this week.