Sending ecommerce data via measurement protocol in Google Analytics

Last Updated: September 5, 2023

This article is related to measurement protocol in Google Analytics. If you are brand new to measurement protocol, then read this article first: Understanding Google Analytics measurement protocol.

In this article, I will show you, how to send ecommerce data via the measurement protocol. In Google Analytics, the ecommerce data is made up of transaction data and item data.

Introduction to Transaction Data

Transaction (or e-commerce transaction) is a purchase order.

Each transaction is identified through a unique ID known as the transaction ID. The value of Transaction ID is of type ‘string’.

A single transaction can include several products or several units of the same product, as a person can buy several products in one transaction or several units of the same product in one transaction.

For example, a person can buy iPhone and an iPad in a single transaction or a person can buy 10 units (or pieces) of iPhone in a single transaction.

Transaction Data provide details about users’ transactions like:

  1. Transaction ID (or order ID).
  2. Store or affiliation name.
  3. Total revenue generated from the transaction (can also include shipping cost and taxes)
  4. Total tax associated with the transaction.
  5. Total shipping cost associated with the transaction

Introduction to Item Data

Item data provides details about a purchased product like:

  1. Transaction ID (same as in the transaction data)
  2. Product SKU (or product code).
  3. Product Name
  4. Product Category
  5. Product Price
  6. Product Quantity

Introduction to Transaction Hit

If you want to send transaction data via measurement protocol, then set the hit type to ‘transaction’. For example:

t=transaction

As in:

v=1&t=transaction&tid=UA-1500844-34&cid=99bbab0e-3145-4e98-a40c-a3c1f23aeeb6&ti=4567DT&ta=tesco&tr=45.56&ts=2.32&tt=10.11&cu=GBP

Following protocol parameters are used in the payload data (in addition to the required parameters) for sending transaction data to GA:

#1 Transaction ID

Transaction ID is denoted by ‘tid‘ parameter. Example: tid=4567DT

#2 Transaction Affiliation

Transaction affiliation (store name) is denoted by ‘ta‘ parameter. Example: ta=tesco

#3 Transaction Revenue

Transaction revenue is denoted by ‘tr‘ parameter. Example: tr=45.56

#4 Transaction Shipping

Transaction shipping is denoted by ‘ts‘ parameter. Example: ts=2.32

#5 Transaction Tax

Transaction tax is denoted by ‘tt‘ parameter. Example: tt=10.11

#6 Currency Code

Currency code is denoted by ‘cu‘ parameter. Example: cu=GBP

Following is an example of payload data for sending transaction data to Google Analytics:

v=1&t=transaction&tid=UA-1500844-34&cid=99bbab0e-3145-4e98-a40c-a3c1f23aeeb6&ti=4567DT&ta=tesco&tr=45.56&ts=2.32&tt=10.11&cu=GBP

Introduction to Item Hit

If you want to send item data via measurement protocol, then set the hit type to ‘item’. For example:

t=item

As in:

v=1&t=item&tid=UA-1500844-34&cid=9c72b9b6-70ad-42e8-9849-d5aa814e2e7d&ti=12345&in=hangers&ip=34.21&iq=45&ic=23ds53&iv=retail%20display&cu=GBP

Following protocol parameters are used in the payload data (in addition to the required parameters) for sending item data to GA:

#1 Transaction ID

#2 Currency Code

#3 Item name – denoted by ‘in’ parameter. For example in=hangers

#4 Item price – denoted by ‘ip’ parameter. For example ip=34.21

#5 Item quantity – denoted by ‘iq’ parameter. For example iq=45

#6 Item code / SKU – denoted by ‘ic’ parameter. For example ic=23ds53

#7 Item variation / category – denoted by ‘iv’ parameter. For example iv=retail%20display

Following is an example of payload data for sending item data to Google Analytics:

v=1&t=item&tid=UA-1500844-34&cid=9c72b9b6-70ad-42e8-9849-d5aa814e2e7d&
ti=12345&in=hangers&ip=34.21&iq=45&ic=23ds53&iv=retail%20display&cu=GBP

Once you have created the payload data for both transaction and items, ask your developer to write an application (program) which make the following similar HTTP POST request to the GA server:

User-Agent: user_agent_string

POST https://www.google-analytics.com/collect?payload_data

To send ecommerce data via measurement protocol, you would need to send one HTTP POST request for an entire transaction and one HTTP POST request for each item in the transaction.

For example:

HTTP POST request for an entire transaction

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36

POST https://www.google-analytics.com/collect?v=1&t=transaction&tid=UA-1500844-34&
cid=99bbab0e-3145-4e98-a40c-a3c1f23aeeb6&ti=4567DT&
ta=tesco&tr=45.56&ts=2.32&tt=10.11&cu=GBP

This HTTP POST request will send the payload data (which contains the transaction data) to Google Analytics.

HTTP POST request for one item in the transaction

User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36

POST https://www.google-analytics.com/collect?v=1&t=item&tid=UA-1500844-34&
cid=9c72b9b6-70ad-42e8-9849d5aa814e2e7d&ti=12345&in=hangers&ip=34.21&iq=45&
ic=23ds53&iv=retail%20display&cu=GBP

This HTTP POST request will send the payload data (which contains the item data) to Google Analytics.

Note: You need to use the same transaction ID to associate a product item with a transaction.

Other articles on measurement protocol

  1. Sending pageview data via measurement protocol in Google Analytics
  2. Sending campaign data via measurement protocol in Google Analytics
  3. Sending event data via measurement protocol in Google Analytics
  4. Sending social interactions via measurement protocol in Google Analytics
  5. Creating and validating measurement protocol requests through postman
  6. Understanding measurement protocol validation server

My best selling books on Digital Analytics and Conversion Optimization

Maths and Stats for Web Analytics and Conversion Optimization
This expert guide will teach you how to leverage the knowledge of maths and statistics in order to accurately interpret data and take actions, which can quickly improve the bottom-line of your online business.

Master the Essentials of Email Marketing Analytics
This book focuses solely on the ‘analytics’ that power your email marketing optimization program and will help you dramatically reduce your cost per acquisition and increase marketing ROI by tracking the performance of the various KPIs and metrics used for email marketing.

Attribution Modelling in Google Analytics and BeyondSECOND EDITION OUT NOW!
Attribution modelling is the process of determining the most effective marketing channels for investment. This book has been written to help you implement attribution modelling. It will teach you how to leverage the knowledge of attribution modelling in order to allocate marketing budget and understand buying behaviour.

Attribution Modelling in Google Ads and Facebook
This book has been written to help you implement attribution modelling in Google Ads (Google AdWords) and Facebook. It will teach you, how to leverage the knowledge of attribution modelling in order to understand the customer purchasing journey and determine the most effective marketing channels for investment.

About the Author

Himanshu Sharma

  • Founder, OptimizeSmart.com
  • Over 15 years of experience in digital analytics and marketing
  • Author of four best-selling books on digital analytics and conversion optimization
  • Nominated for Digital Analytics Association Awards for Excellence
  • Runs one of the most popular blogs in the world on digital analytics
  • Consultant to countless small and big businesses over the decade