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 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:
- Transaction ID (or order ID).
- Store or affiliation name.
- Total revenue generated from the transaction (can also include shipping cost and taxes)
- Total tax associated with the transaction.
- Total shipping cost associated with the transaction
Introduction to Item Data
Item data provides details about a purchased product like:
- Transaction ID (same as in the transaction data)
- Product SKU (or product code).
- Product Name
- Product Category
- Product Price
- Product Quantity
Get weekly practical tips on GA4 and/or BigQuery to accurately track and read your analytics data.
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
- Sending pageview data via measurement protocol in Google Analytics
- Sending campaign data via measurement protocol in Google Analytics
- Sending event data via measurement protocol in Google Analytics
- Sending social interactions via measurement protocol in Google Analytics
- Creating and validating measurement protocol requests through postman
- Understanding measurement protocol validation server
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:
- Transaction ID (or order ID).
- Store or affiliation name.
- Total revenue generated from the transaction (can also include shipping cost and taxes)
- Total tax associated with the transaction.
- Total shipping cost associated with the transaction
Introduction to Item Data
Item data provides details about a purchased product like:
- Transaction ID (same as in the transaction data)
- Product SKU (or product code).
- Product Name
- Product Category
- Product Price
- 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
- Sending pageview data via measurement protocol in Google Analytics
- Sending campaign data via measurement protocol in Google Analytics
- Sending event data via measurement protocol in Google Analytics
- Sending social interactions via measurement protocol in Google Analytics
- Creating and validating measurement protocol requests through postman
- 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.