CONNECTIONS / Datahash API / Datahash API to Meta Offline CAPI
Post offline and in-store sales to the Datahash API, wired to Meta's offline optimization.
Send offline and in-store sales to one documented REST endpoint from any backend, in any language; Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, hashed and consent-checked, with no pixel and no warehouse read.
- ● datahash-api → meta.capi :: live
- > POST /v1/events source=api.purchase_events count=67,177
- hash sha256(email,phone) consent=filtered
- route meta deliver
- ✓ 202 accepted · 59,116 forwarded
WHAT THIS ENABLES
Datahash API to Meta Offline CAPI
Datahash API to Meta Offline CAPI: post your offline and in-store sales to one REST endpoint and Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, hashed and consent-checked server-side before Meta sees it.
- Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, from events your backend posts server-side.
- In-store and phone revenue joining Meta's optimization loop, without a pixel, a connector, or a nightly export.
The click, the conversion, and the credit.
The conversion happens off Meta, away from any pixel. Here is how Datahash API closes the loop.
Built for the teams that own the number.
Backend and platform teams driving Meta's offline optimization by sending offline and in-store sales straight from their own stack.
From kickoff to verified events.
-
Connect
Create an API key in the Signals console and point your backend at the endpoint that feeds Meta's Offline Conversions API.
-
Map
Map your event payload to Meta's Offline Conversions API fields once; per-request validation flags bad events instead of dropping the batch.
-
Deliver
Post events as they happen and Signals credits dealer, branch, and phone sales to the Meta campaigns behind them, hashing server-side, with Meta's 62-day event window shown in the debugger.
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 Datahash API records the event. |
What Offline CAPI actually receives.
- ● signals :: event payload
- > POST /offline_conversions source=api.purchase_events
- event_name "Purchase" · event_time 2026-07-21T15:27:26
- value 16555.00 · currency GBP
- em sha256 "1fa603…" · ph sha256 "eb2201…" · external_id "txn-71646"
- ✓ accepted match=88%
Adjacent moves on the same stack.
from Datahash API
Datahash API to Google OCI
Datahash API to Google Offline Conversions: post your offline and in-store sales to one…
Learn morefrom Datahash API
Datahash API to Google Store Sales
Datahash API to Google Store Sales: post your offline and in-store sales to one REST…
Learn moresame use case
ActiveCampaign to Meta Offline CAPI
ActiveCampaign to Meta Offline CAPI: Signals reads your ActiveCampaign contacts and deal…
Learn moregeneric
Meta Offline CAPI
Datahash ingests offline transactions from your POS, CRM, or warehouse and routes them to…
Learn moreAsked on almost every call.
Which backends can send to Meta Offline CAPI through the Datahash API?
Any backend that can make an HTTPS request. You POST offline and in-store sales as JSON to one documented endpoint and Signals forwards the offline conversions to Meta's Offline Conversions API; identifiers are hashed at ingestion or sent pre-hashed, and considered-purchase brands closing revenue far from the browser track Meta's 62-day event window in the debugger.
How fresh are Meta Offline CAPI events sent over the API?
As fresh as you post them. The API accepts events in near real time, so in-store and phone revenue joining Meta's optimization loop reaches Meta moments after your backend fires the call, with per-event status returned inline. There is no batch window and no scheduled read, which keeps Meta's 62-day event window current for the teams driving Meta's offline optimization.
NEXT STEP