Jump to a popular page, or start typing.

    CONNECTIONS / File drops / Files to Meta Offline CAPI

    Sales files to Meta offline conversions, automatically.

    Your POS or DMS keeps exporting like it always has; Signals watches the drop, cleans and hashes each batch, and Meta receives the conversions.

    files -> meta-offline-capi :: live

    1. ● files → meta.offline_capi :: live
    2. > ingest File drop pos_offline_2026-07-04.csv
    3. hash sha256(email,phone) rejects=quarantined
    4. route meta.offline_capi deliver
    5. ✓ delivered · 6,890 matched

    WHAT THIS ENABLES

    POS / SFTP files to Meta Offline CAPI

    POS and SFTP files to Meta Offline CAPI validates and hashes each export the moment it lands on SFTP, S3, or GCS, then delivers it to Meta's offline endpoint on schedule with match-rate feedback per batch, so in-store revenue finally reaches campaign optimization.

    • Legacy export jobs feeding a modern conversions pipeline unchanged.
    • Meta campaigns learning from sales your systems only report as files.
    • Malformed rows quarantined with reasons while the batch continues.
    WHAT FLOWS WHERE

    The click, the conversion, and the credit.

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

    Meta credits the campaign that sourced the conversion conversion happens off-platform Ad click on Meta F File drop recorded in File drops S Signals hash · dedupe Offline Conversions API delivered · credited
    WHO THIS IS FOR

    Built for the teams that own the number.

    Retail groups running nightly POS exports to SFTP.

    Dealer networks whose DMS can only write files.

    HOW DATAHASH SETS IT UP

    From kickoff to verified events.

    1. Connect

      Signals watches your existing SFTP, S3, or GCS drop location.

    2. Map

      Batch columns validated against Meta's offline spec before hashing.

    3. Deliver

      Each accepted batch forwarded to the offline endpoint with match feedback.

    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 File drops records the event.
    ON THE WIRE

    What Offline CAPI actually receives.

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

    1. ● signals :: event payload
    2. > POST /offline_conversions source=files.pos_offline_2026-07-04.csv
    3. event_name "Purchase" · event_time 2026-07-04T23:15:00
    4. value 156.00 · currency AED
    5. em sha256 "6cf920…" · ph sha256 "3a80de…" · external_id "row-6621"
    6. ✓ accepted match=84%
    FAQ

    Asked on almost every call.

    What happens when a file has messy rows?

    Signals validates every file as it arrives and quarantines the bad rows instead of failing the whole batch, so a handful of malformed records never blocks a delivery to Meta. Each quarantined row is logged with the reason it failed, and the team fixes it at the source and reprocesses on the next drop without re-uploading the records that already landed.

    How fresh does the offline file need to be?

    Meta accepts offline events up to 62 days old, so a daily incremental file is the norm and even a weekly batch stays inside the window. Signals reads each drop as it lands, hashes the identifiers, and deduplicates against pixel traffic before the Offline Conversions API records the conversion, so a sale that closed days after the click still credits the right campaign.

    NEXT STEP

    Files to Meta Offline CAPI, in production this week.