Login
ZappushZappush Docs
The dashboardConnections

Offline Conversions

Record sales that happen away from your website, one at a time, in bulk, or automatically from Shopify POS, so they count in your reporting and reach Meta like any other purchase.

Not every sale happens on your website. A shopper buys in your store, calls in an order, or pays you at a market stall. Offline conversions let you record those sales, so they count in your reporting and reach Meta the same way an online purchase does. That gives Meta your real sales picture instead of only the online slice, so your ads keep learning from all of your customers, not just the ones who checked out online.

Where to find it

Everything lives under your Meta pixel. Open Connections → Destinations → Meta → your pixel and go to the Offline conversions section. From there you can:

  • Complete the one-time setup (below).
  • Click Open offline conversions to reach the recording page, which has three tabs: Record a sale, Bulk upload, and History.

You can also record a single sale without leaving your orders: the Orders page has a Record offline sale button that opens the same form in a side panel.

Turn it on first

The Offline conversions section walks you through a short setup. Recording stays switched off until it is done:

  1. Confirm you have permission. Tick the box confirming you have the rights and consent to share this customer data with Meta. Nothing below unlocks until you do.
  2. Enable offline conversions. Flip the switch to start sending offline sales to Meta as you record them.
  3. Choose where they land. Pick the dataset your offline sales go to. Leave it empty to use the pixel shown as the placeholder.
  4. Set up automatic Shopify sales (optional). Covered under Let Shopify sales flow in automatically.

Until the switch is on and a destination is chosen, offline conversions are set up but nothing is sent. The setup panel tells you plainly when everything is live.

Three ways to record a sale

  • One at a time. Fill in a sale as it happens, from the Record a sale tab or the Record offline sale button on your Orders page.
  • In bulk. Upload a spreadsheet of many sales at once from the Bulk upload tab.
  • Automatically from Shopify. Point-of-sale, phone, and draft orders from Shopify can be counted as offline for you, with nothing to re-enter.

All three produce the same result: a real order in your reporting, attached to a real shopper, sent to Meta as a purchase.

Record a single sale

Fill in the sale as it happens. A few things about the fields:

  • Order or receipt number. Every sale needs its own number. The same number cannot be submitted twice; Zappush blocks the repeat rather than recording it again.
  • Email or phone number. At least one is required. This is what lets the sale be matched to a shopper. Adding more, like their name, city, or postcode, improves the match further.
  • Sale date and time, value, and currency.

If the shopper already exists in your records, search for them first and their details fill in for you. The matched fields lock so you do not overwrite what is on file; the shopper's card above the form shows who the sale is attached to.

If a shopper has opted out of marketing, check that box on the form. The sale still records and shows up in your reporting; it is simply left out of anything Zappush sends to Meta.

Upload sales in bulk

To record many sales at once, upload a spreadsheet instead of entering them one by one, from the Bulk upload tab:

  1. Download the template. It has one column for each field a sale needs.
  2. Fill in one row per sale and save the file as a CSV.
  3. Upload the file.

Zappush checks every row before anything is submitted, and shows you which rows are Ready and which are Quarantined, along with the reason for each: a missing email and phone, a repeated order number, a sale already on file, or a sale outside the recording window. It also estimates how many rows Meta will be able to match. Fix the file and re-upload if you need to. Nothing reaches Meta until you confirm.

The History tab keeps a record of every upload and what happened to it.

Let Shopify sales flow in automatically

If you sell through Shopify, your point-of-sale, phone, and draft orders can be counted as offline for you, so you never re-enter them. In the setup panel, the Offline source allowlist is where you list which Shopify order sources count as offline. Zappush suggests the usual ones to start (pos, phone, shopify_draft_order); add or remove entries to match how your store is set up, then save.

From then on, a new Shopify order from one of those sources is recorded as an offline sale and sent to your offline destination, instead of being treated as a website order. Meta receives exactly one purchase for it, never two.

The allowlist applies to orders that sync after you save it. It does not reach back and reclassify orders already imported.

Review carefully: submitted sales are final

Once you submit an offline sale, it cannot be edited or withdrawn, whether you record one at a time, confirm a batch upload, or let a Shopify order flow in. This is exactly what the review step is for: take the time to check it before you confirm. For the same reason, opting a shopper out after a sale was already sent cannot un-send it; opt-out only governs future sales.

Record within 62 days

Record a sale within 62 days of when it happened. A sale older than that is flagged as Quarantined rather than submitted.

You'll know it worked when

A recorded sale appears in your order history and on the shopper's profile like any other purchase, and Meta receives it like any other conversion. Offline revenue counts in your reporting alongside your online sales, distinguishable as its own channel.

On this page