Sending ecommerce data via measurement protocol in Google Analytics

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 same product, as a person can buy several products in one transaction or several units of a 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

Get the FREE E-Book (31 Pages)

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 tracking data, you 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

Most Popular E-Books from OptimizeSmart

Learn to read e-commerce reports book banner

How to learn and master Web Analytics and Google Analytics?

Take the Course

Check out my best selling books on Web Analytics and Conversion Optimization on Amazon

How to get lot more useful information?

I share lot more useful information on Web Analytics and Google Analytics on LinkedIn then I can via any other medium. So there is really an incentive for you, to follow me there.

Himanshu Sharma

Certified web analyst and founder of OptimizeSmart.com

My name is Himanshu Sharma and I help businesses find and fix their Google Analytics and conversion issues. If you have any questions or comments please contact me.

  • Over twelve years' experience in SEO, PPC and web analytics
  • Google Analytics certified
  • Google AdWords certified
  • Nominated for Digital Analytics Association Award for Excellence
  • Bachelors degree in Internet Science
  • Founder of OptimizeSmart.com and EventEducation.com

I am also the author of four books:

error: Alert: Content is protected !!