Offline conversions: store sales imports (POS)

Offline conversions: store sales imports (POS)

Offline Conversions / Store Sales Imports (POS) Guide

Offline Conversions (Store Sales Imports) Explained

Offline conversions are the bridge that closes the gap between digital ad clicks and in-store revenue. Rather than measuring campaigns on online sales only, you feed store purchases back into Google Ads so that it can attribute revenue to the ads that drove it.

For a deeper dive into O2O strategy, start with the Local Online Marketing for Retailers Guide.

When to Use Offline Conversions (Store Sales Imports)

Store sales imports are most powerful when one (or more) of the following are true:

  • You sell products where online research converts to in-store sales.
  • Your online ROAS seems low, but you suspect the actual ROI is in-store.
  • You want to optimise Performance Max for Retail by revenue, not just visits.

Before setting up Store Sales Imports, we recommend checking that you can measure footfall correctly. Read our Footfall Tracking & Measurement Guide first.

Matching Offline Sales: Two Approaches

There are two broad strategies for matching offline sales to online ads. The right one depends on what your POS can reliably capture.

  1. Click ID matching (GCLID) In this approach, the customer clicks an ad, Google creates a click ID, and you later upload a purchase record for that click ID.

  2. Enhanced conversions for leads matching If you can’t reliably capture click IDs at point of sale, you can use customer-provided data (like email) in a privacy-safe hashed format. This is common when a customer requests a receipt by email, or opts into a loyalty scheme.

You can use both methods simultaneously. In many cases, click ID imports eventually become the primary source of truth, if it’s feasible.

Need to check Store Visits is set up before investing? Our Store Visit Conversions: Eligibility & Troubleshooting guide will help.

GCLID Capture: Tracking Click IDs

The hard part is ensuring your POS can actually read the click ID. Google Ads can only match a store purchase to an ad click if you pass a valid identifier through the customer journey and store it. A practical click ID capture setup usually looks like this:

  1. Customer clicks a Google ad.
  2. Landing page URL contains a click ID parameter (gclid).
  3. Website stores the click ID as a first-party cookie.
  4. Customer action (form, quote, appointment, receipt) stores the click ID with other details.
  5. Customer purchases in store. POS or CRM links the receipt to the stored click ID.
  6. Purchase is uploaded back to Google Ads.

If you don’t have a clean data layer and basic tracking set up yet, we recommend you fix that first. Start with the Merchant Centre & Product Feeds Guide.

The Data You Need (Field Checklist)

Think of this as your store sales import data contract between Google Ads and your POS/CRM.

Required:

  • Google Click ID (GCLID)
  • Conversion Name (must match your Google Ads conversion action name exactly)
  • Conversion Time (date and time of purchase)
  • Conversion Value (value of purchase)
  • Currency Code (GBP)

Strongly recommended:

  • Order ID / Transaction ID (deduplication)
  • Store ID / Location (internal reporting)
  • Product category (optional, but good for analysis)

If you’re using Enhanced Conversions for Leads, the match keys are different: Email (hashed), Phone (hashed), First name / last name (hashed), Address (hashed).

Upload options: Manual, Scheduled, or API

Three ways to get data into Google Ads.

Manual upload (CSV) Suitable for pilots. Export a CSV and upload it manually in Google Ads. Simple, but operationally fragile.

Scheduled upload (SFTP / Google Sheets) A good middle step to improve reliability without a large engineering project. Your POS exports daily, and Google Ads imports it on a schedule.

API / server-to-server Best for scale and automation. Data flows automatically, and you can validate rows before sending them.

Most retailers start with a manual pilot, move to scheduled uploads, then graduate to API once they have proven value.

Sanity Checks: Before You Upload

Do these checks before you run your first import. They prevent 90% of “it doesn’t work” headaches.

  • Conversion action exists: Create a conversion action specifically for Store Sales Imports.
  • Time zone alignment: Your conversion time must be in the correct timezone and format.
  • Currency consistency: Use GBP consistently.
  • Test small: Upload 20–50 rows first.
  • Deduplication plan: Decide what counts as a unique purchase.

Common Failure Reasons (And Fixes)

  • No GCLID captured: Fix: ensure your landing pages store the gclid parameter and pass it through forms/CRM.
  • Conversion name mismatch: Fix: the conversion name in your file must match Google Ads exactly.
  • Wrong timestamp or format: Fix: use a consistent timestamp format and ensure the correct timezone.
  • Duplicate rows: Fix: upload a unique Order ID and build a rule that prevents repeat imports.
  • Not enough match coverage: Fix: capture IDs for a significant percentage of customers.

Optimisation: How to Use Store Sales Data

Once you have a working import, store sales becomes the metric you optimise towards.

  • Set it as the primary conversion goal for campaigns where the real objective is in-store revenue.
  • Compare store sales performance by postcode tiers and tighten postcode exclusions.
  • Identify products that drive high offline value and prioritise them in Local Inventory Ads.

Refresh your approach in Postcode Targeting vs. Radius Targeting if your geo strategy needs tightening.

Case Study: From Visits to Revenue

Store visits is the first proof point. Store sales imports is the second.

We worked with a retailer who had a weak-looking online ROAS. Once store sales imports were live, we found that offline value was actually the driver. We allocated more budget towards the campaigns and postcodes that produced the highest store revenue, not just the highest click volume.

Read the full breakdown in our 215% Increase in Store Visits Case Study.

Conclusion

Offline conversions turn Google Ads from a traffic tool into a revenue tool. When you start importing store sales, you stop arguing about attribution and start making budget decisions based on what the till says.

If you want this done right and set up cleanly, we can audit your tracking, define your POS data contract, and launch a store sales import pilot.

Book an Online to Offline Growth Session

Ready to take action?

Stop guessing with your local marketing. Book a strategy session directly with our team.

Book Growth Session