Jump to a popular page, or start typing.

    CONNECTIONS / PostgreSQL / PostgreSQL to Snap Offline CAPI

    Your PostgreSQL tables, wired to Snapchat in-store conversions.

    Signals reads your PostgreSQL tables through a read-only database user scoped to the PostgreSQL tables you name, then reports in-store purchases against the Snapchat campaigns that reached the buyer so Snapchat sees offline conversions without an export.

    postgresql -> snap-offline-capi :: live

    1. ● postgresql → snap.capi :: live
    2. > read closed_deals rows=66,403
    3. hash sha256(email,phone) consent=filtered
    4. route snap deliver
    5. ✓ delivered · 58,435 matched

    WHAT THIS ENABLES

    PostgreSQL to Snapchat Offline CAPI

    Snapchat Offline CAPI for PostgreSQL: Signals reports in-store purchases against the Snapchat campaigns that reached the buyer straight from your PostgreSQL tables, hashed and consent-screened each time the read runs.

    • Signals reports in-store purchases against the Snapchat campaigns that reached the buyer, reading your PostgreSQL tables each time the read runs.
    • In-person conversions Snapchat can bid on, with no export step out of your PostgreSQL tables.
    WHAT FLOWS WHERE

    The click, the conversion, and the credit.

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

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

    Built for the teams that own the number.

    Retail and QSR advertisers whose Snapchat audience buys in person, working out of PostgreSQL tables, views, and materialized views.

    Engineering teams running PostgreSQL who need physical-world sales counted inside Snapchat performance out of PostgreSQL tables.

    HOW DATAHASH SETS IT UP

    From kickoff to verified events.

    1. Connect

      A read-only database user scoped to the PostgreSQL tables you name, mapped to Snapchat's Conversions API and tuned for offline event timing.

    2. Map

      Columns from your PostgreSQL tables align to Snapchat's Conversions API in the visual mapper, hashed as the read runs and checked for offline event timing.

    3. Deliver

      Each time the read runs, Signals reads your PostgreSQL tables and reports in-store purchases against the Snapchat campaigns that reached the buyer, reads only the records changed since the last run, with offline event timing 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 PostgreSQL records the event.
    ON THE WIRE

    What Offline CAPI actually receives.

    signals :: postgresql.snap-offline-capi :: wire

    1. ● signals :: event payload
    2. > POST /v2/conversion source=postgresql.closed_deals
    3. event_type "PURCHASE" · event_conversion_type "OFFLINE"
    4. hashed_email "5d8b22…" · hashed_phone_number "a179fe…"
    5. timestamp 1784175218 · price 34890 · currency GBP
    6. ✓ accepted · match=true
    FAQ

    Asked on almost every call.

    How often does the PostgreSQL Snap Offline CAPI sync run?

    Delivery tracks PostgreSQL, run by engineering teams running PostgreSQL: a near-real-time or scheduled sync of your PostgreSQL tables feeds Snapchat on that cadence. Each run reads only the records changed since the last run, so in-person conversions Snapchat can bid on holds up on offline event timing. The live debugger confirms every delivery inline.

    What match rate should a PostgreSQL-sourced Snap Offline CAPI batch expect?

    Coverage of hashed identifiers across your PostgreSQL tables decides it, and engineering teams running PostgreSQL own that inside PostgreSQL. A live email or phone matches into Snapchat; neither, and it will not. First-run feedback flags offline event timing, which engineering teams running PostgreSQL then raise inside your PostgreSQL tables.

    NEXT STEP

    PostgreSQL to Snap Offline CAPI, in production this week.