Dealing with Google Analytics Refund – Reverse Transaction

Last Updated: May 24, 2022

In this article, I will show you how to deal with Google Analytics Refund. You will learn to issue partial and full refunds.

If your business issues a lot of refunds on a daily/weekly/monthly basis (quite common in the case of large online stores) then you need to adjust your sales data accordingly in Google Analytics so that you can reflect the refunded sales amount in your ecommerce reports.

Failing to do so, will create data discrepancies between your GA sales data and shopping cart sales dataAs a result, your shopping cart may report a sale of $10k in the last one month while your GA may report a sale of $18k in the last one month.

Almost all popular shopping carts (like Shopify) automatically adjust the sales data to reflect refunds (remove refunded sales amount from total sales). But this is not the case with Google Analytics. 

Once a customer has placed an order on the website, GA record that transaction. If later, the customer demand a refund and the refund is issued, the refunded sales amount does not automatically reflect back in GA ecommerce reports. You need to manually or programmatically upload refund data into GA, in order to adjust your sales data.

Difference between refunding a transaction and reversing a transaction

Technically speaking and in the context of Google Analytics, both refund and reverse are the same things. Whether you are refunding a transaction or reversing a transaction, you are removing the sales associated with that transaction.

We use the word ‘reverse’ to remove sales amount associated with all those e-commerce transactions which are: unfulfilled orders and/or test orders. 

We use the word ‘refund’ to remove the sales amount associated with all those e-commerce transactions which are requests for a refund from our real customers.

You can refund/reverse ecommerce transactions:

  1. by making changes to your ecommerce tracking code. I explained this method in great detail in the article: How to reverse ecommerce transaction in Google Analytics
  2. by using the ‘refund data import’ feature in Google Analytics
  3. by using Google Analytics Management API
  4. by using measurement protocol
  5. by using a third-party tool

In this article, I am going to explain, how to refund/reverse ecommerce transactions via the ‘refund data import’ feature in Google Analytics.

Difference between partial and full refund in Google Analytics

Through ‘refund data import’ feature, you can issue full refund or partial refund in Google Analytics.

What you actually refund/remove is the sales associated with a transaction.

A transaction is a purchase order placed on your website. People can buy one or more products in a single transaction. So a transaction may contain one or more products.

In case of a full refund, you reverse/remove the full sales amount associated with a transaction in your GA ecommerce reports. In other words, in case of a full refund, you reverse/remove the sales amount associated with all of the products which were purchased in a single transaction.

In case of partial refund, you reverse/remove only certain sales amount associated with a transaction in your GA ecommerce reports. In other words, in case of a partial refund, you reverse/remove sales associated only with certain products (which were part of the transaction), in your GA ecommerce reports.

Criteria for using ‘refund data import’ feature in Google Analytics

The following conditions must be met before you can use the ‘refund data import’ feature in Google Analytics:

#1 You are using Universal Analytics tracking code (analytics.js)  and not the classic Google Analytics tracking code (ga.js) on your website.

Related Article: Difference between Google Analytics and Universal Analytics

#2 The transactions that you want to refund must have been set in the enhanced ecommerce format. In other words, you have already set up enhanced ecommerce tracking on your website.

You can not refund the transactions via the ‘refund data import’ feature, which were set in the standard ecommerce format.

Following is an example of an ecommerce transaction, which is set in the enhanced ecommerce format:

ga('ec:setAction', 'purchase',{
 
// actionFieldObject stores action data
 
 'id': '[Server Variable]', // Transaction id - Type: string
 
 'affiliation': '[Server Variable]', // Store name - Type: string
 
 'revenue': '[Server Variable]', // Total Revenue - Type: numeric
 
 'tax': '[Server Variable]', // Tax - Type: numeric
 
 'shipping': '[Server Variable]', // Shipping - Type: numeric
 
 'coupon': '[Server Variable]' // Order/Transaction coupon - Type: string
 
});

Following is an example of an ecommerce transaction, which is set in standard ecommerce format:

ga(‘ecommerce:addTransaction’, {
‘id’: ‘1234’, // Transaction ID. Required.
‘affiliation’: ‘skinny jeans’, // store name.
‘revenue’: ‘28.8’, // total revenue.
‘shipping’: ‘10.00’, // Shipping.
‘tax’: ‘1.89’ // Tax.
});

If you wish to refund transactions which were set in the standard ecommerce format then do it by making changes to your ecommerce tracking code as explained in this article:  How to reverse ecommerce transaction in Google Analytics

#3 The transaction ID that you use for the refund purpose must be the original ID and not the one modified by a GA view filter.

#4 The upload file that you use to import refund data into GA, should not contain data for both full and partial refunds. You should not upload full and partial refunds via the same upload file. Use separate upload files for full and partial refunds.

#5 You can only refund those transactions which were originally reported in the last 6 months.

Issuing a full refund in Google Analytics

Follow the steps below for issuing a full refund in GA:

Step-1: Navigate to the ‘Admin’ section of your GA view.

Step-2: Click on the ‘Data Import’ link under the Property section:

data import link

Step-3: Click on the ‘+ New Data Set’ button and then select ‘Refund data’ as the data set type:

new data set
refund data

Note: Data set is a container that holds the data you want to upload to GA.

Step-4: Name your data set:

google analytics refund

Step-5: In the next step, define your data set schema (schema is the format in which you want to upload the data to GA):

google analytics refund

In order to issue a full refund, we need only the ‘Transaction ID’. That’s why I did not select any other column from the ‘Any number of these columns may be provided’ drop-down menu.

Step-6: Click on the ‘Get schema’ button:

get schema button

Note: If you wish to upload refund data via GA management API then follow the steps below:

#1 click on the ‘Get Custom Data Source ID (for API users)’ button

#2 make a note of the ‘Custom Data Source ID

#3 follow the instructions on this page: https://developers.google.com/analytics/devguides/config/mgmt/v3/data-import

Step-7: Download the schema template (which is a CSV file) by clicking on the ‘Download Schema Template’ button and then click on the ‘Done’ button twice to create your new data set:

download schema template

Step-8: Open the schema template file you downloaded from GA into Excel and then add and format your refund data according to the schema defined in the template:

transaction data

In order to issue a full refund, upload only transaction IDs via the schema template file.

Each transaction is identified through a unique ID known as the transaction ID.

Here ‘ga:transactionId is the API name.

When we access Google Analytics via API, we use the API name of a dimension / metric / segment instead of the web view name (also known as UI name). 

The API name of ‘transaction id’ is: ‘ga:transactionId’

Here we are accessing GA API via the ‘refund data import’ feature.

Step-9: Once you have finished adding the transaction data, save the schema template file as a CSV file. Your file is now ready to be uploaded to Google Analytics.

Step-10: Again navigate to the ‘Admin’ section of your GA view, Click on the ‘Data Import’ link under Property section and then click on the ‘Manage uploads’ link:

manage uploads link

Step-11: Click on the ‘upload file’ button to upload the refund data to GA:

upload file button

Step-12: Wait for the status to read ‘completed’:

status completed

The green right sign denotes that the refund data upload was successful.

Once you have uploaded the refund data, you can see it in the ‘Product Performance and ‘Sales Performance’ report under the columns: ‘Product Refund amount’ and ‘Refund Amount:

product sales report
refund amount

You can also create a custom report in GA,  just for analysing refund data.

Issuing partial refund in Google Analytics

Follow the steps below for issuing a partial refund in GA:

Step-1: Navigate to the ‘Admin’ section of your GA view.

Step-2: Click on the ‘Data Import’ link under Property section.

Step-3: Click on ‘+ New Data Set’ button and then select ‘Refund data’ as data set type.

Step-4: Name your data set:

data set name2

Step-5: In the next step, define your data set schema, like the one below:

data set schema2

In order to issue a partial refund, select: ‘Product SKU’ and ‘Quantity Refunded’ from the ‘Any number of these columns may be provided’ drop down menu.

‘Product SKU’ is the product code which is used to uniquely identify a product.

‘Quantity refunded’ is the total number of units refunded for a product.

Note: The refunded revenue is calculated automatically by Google, based on the product price and quantity refunded.

Step-6: Click on the ‘Get Schema’ button.

download schema template2

Step-7: Download the schema template by clicking on the ‘Download Schema Template’ button and then click on the ‘Done’ button twice to create your new data set:

partial refund data

Step-8: Open the schema template you downloaded from GA into Excel and then add and format your refund data according to the schema defined in the template:

To issue a partial refund, add transaction id, product SKU and quantity refunded, to each row of the downloaded schema template file.

ga:transactionId is the API name for ‘Transaction ID’

ga:productSku is the API name for ‘Product SKU’

ga:quantityRefunded is the API name for ‘Quantity Refunded’

Note: If you are using ‘product SKU‘ in the downloaded schema template file then it is mandatory to use ‘Quantity Refunded‘ with it.

Step-9: Once you have finished adding the data for a partial refund, save the schema template file as a CSV file. and then click on the ‘Manage uploads’ link > ‘Upload file‘ button to upload the refund data to GA.

Step-10: Wait for the status to read ‘completed’ and then check the ‘Product Performance’ and ‘Sales Performance’ reports to see the uploaded refund data.

Overriding the original reported product price and transaction revenue

If you want to override the original reported product price then add ga:productPrice column while defining your data set schema:

product price

And then later provide the product price in the downloaded schema template for upload to GA:

product price data

Similarly, if you want to override the originally reported transaction revenue then add ga:transactionRevenue column while defining your data set schema:

product revenue

And then later provide the revenue in the downloaded schema template for upload to GA:

revenue data

Important points to remember:

#1 Once you have uploaded the refund data it may take up to 24 hours for refund data to appear in your enhanced ecommerce reports.

#2 You can not edit or delete refund data once it has been uploaded to your account. So be careful with the data you upload.

  1. Google Analytics Ecommerce Tracking Tutorial
  2. Enhanced Ecommerce Tracking in Google Analytics – Tutorial
  3. Set up Enhanced Ecommerce Tracking in Google Analytics
  4. Using Enhanced Ecommerce segments for Remarketing in Google Analytics
  5. Using Cohort Analysis & Enhanced Ecommerce to Understand User Behavior
  6. Duplicate Transactions (orders) in Google Analytics
  7. Enhanced Ecommerce Tracking via Google Tag Manager
  8. Ecommerce Tracking Google Tag Manager (GTM) – Tutorial
  9. Shopify Enhanced Ecommerce Tracking in Google Analytics – Tutorial
  10. GA4 (Google Analytics 4) Ecommerce Tracking via GTM – Tutorial
  11. Why Google Analytics and Shopping Cart Sales data don’t match and how to fix it
  12. How to remove / modify Google Analytics ecommerce transaction in one click
  13. Tracking Google Analytics Paypal Referral and other payment gateways
  14. Subscription & Recurring Revenue Analytics in Google Analytics
  15. Understanding Google Analytics Product Data Import
  16. Shopping Cart Analytics Tutorial
  17. Learn To Read E-Commerce Reports In Google Analytics
  18. How to reverse transaction in Google Analytics for gtag.js and analytics.js
  19. How to Fix Missing Ecommerce Data in Google Analytics

Register for the FREE TRAINING...

"How to use Digital Analytics to generate floods of new Sales and Customers without spending years figuring everything out on your own."



Here’s what we’re going to cover in this training…

#1 Why digital analytics is the key to online business success.

​#2 The number 1 reason why most marketers are not able to scale their advertising and maximize sales.

#3 Why Google and Facebook ads don’t work for most businesses & how to make them work.

#4 ​Why you won’t get any competitive advantage in the marketplace just by knowing Google Analytics.

#5 The number 1 reason why conversion optimization is not working for your business.

#6 How to advertise on any marketing platform for FREE with an unlimited budget.

​#7 How to learn and master digital analytics and conversion optimization in record time.



   

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

Learn and Master Google Analytics 4 (GA4) - 126 pages ebook

X
error: Alert: Content is protected !!