Measurement Protocol - track offline conversions in GA4

Server-side data ingestion for offline-online data integration


2 min read

Measurement Protocol - track offline conversions in GA4

Offline conversion tracking (OCH) monitor how consumers are moving through your sales funnel, giving you the power to adjust and improve your customer experience.

To track offline conversions, you'll need to configure offline event tracking in Google Analytics 4 (GA4). This involves using the GA4 Measurement Protocol to send data about offline events to Google Analytics.

Offline events refer to activities generated by Off-line Client^ (Point of Sales Systems). ^Not the clients you send your invoice to.

When I used to work on a Shopify e-commerce project, this is the tablet with Shopify PoS app, used to set up the client store's PoS remotely.

This data from Off-line Clients (Pos) is accessible within Shopify Admin. It resides on the Shopify system.

With GA4, you can track offline conversions by configuring offline events using the Measurement Protocol to send that data to Google Analytics. This external data will be pushed to the GA4 report to see digital and offline touchpoints data (i.e. Paid Search > Organic Search > Offline Session)

Breakdown of Measurement Protocol

This is the most succinct resource that breakdown the Measurement Protocol offline-online data integration that can be reflected in GA4 report.

The gist is

1. Mark all offline hits – cdX=true, where cdX is a session-scoped custom dimension “Offline Session”
2. Session control – sc=end, force offline sessions to end with the offline hit
3. Custom Metrics – set them as hit-scoped
4. Views Setup – have a separate Offline View with “Exclude hits from known bots” turned OFF

POST /collect HTTP/1.1
v=1 // Version number 
&t=event // Event hit type
&tid= {{Property ID}} // Analytics Tracking ID 
&cid={{Client ID}} // Client ID
&ec=offline // Event Category
&ea=activation // Event Action
&el={{account type}}// Event Label  
&ni=1 // Event non-interaction true
&sc=end // End Session
&cd1=true // Custom Dimension - Offline Session 
&cd5={{Client ID}} // Custom Dimension - Client ID

Alternatively, you don't need to set it up from scratch. There is an off-the-shelf 3rd-party Shopify app using Measurement protocol that enables you to sent data from PoS to GA4.

Offline conversion tracking (OCH) with Measurement Protocols are ways to bring offline information where GA4 is a data destination and PoS at the retail store is a data source.


  • GA4 measurement protocol lets you collect data from any device or environment that can send HTTP requests.

  • You can use it to measure offline or web-connected actions, client-side and server-side events, and non-standard web/app events.

  • You can also use it to control how sessions are attributed to users and events, and segments the data.