The process below does not support Google Universal Analytics.
The ability to segment your data by user acquisition source is critical to effectively managing your marketing plan. Knowing the acquisition source of new users shows which channels yield the top returns, and allows your team to allocate marketing dollars with confidence.
If you are not already tracking user acquisition sources in your database, Adobe Commerce Intelligence can help you get started:
Adobe recommends two methods to track referral source data based on your setup:
If you use Google Analytics E-Commerce to track your order and sales data, you can use the Google Analytics E-Commerce Connector to sync each order’s referral source data. This allows you to segment revenue and orders by referral source (for example,
utm_medium). You also get a sense of customer acquisition sources via Commerce Intelligence custom dimensions such as
User's first order source.
For Shopify users: Turn on [Google Analytics E-Commerce] tracking in Shopify(https://help.shopify.com/en/manual/reports-and-analytics/google-analytics#ecommerce-tracking) before connecting your Google Analytics E-Commerce account to Commerce Intelligence.
This topic explains how to save Google Analytics acquisition channel information into your own database - namely the
gclid parameters that were present on a user’s first visit to your website. For an explanation of these parameters, check out the [Google Analytics] documentation(https://support.google.com/analytics/answer/1191184?hl=en#zippy=%2Cin-this-article). Then, you explore some of the powerful marketing analyses that can be performed with this information in Commerce Intelligence.
If you are just looking at the default Google Analytics conversion and acquisition metrics, you are not getting the whole picture. While seeing the number of conversions from organic search versus paid search is interesting, what can you do with that information? Should you spend more money on paid search? That depends on the value of customers coming from that channel, which is not something Google Analytics provides.
Google Analytics eCommerce Tracking mitigates this problem by storing transaction data in Google Analytics, but this solution does not work for non-eCommerce sites. Also, certain tools like cohort analysis are not easy to do in the Google Analytics interface.
What if you want to email a follow-up deal to all customers acquired from a certain e-mail campaign? Or integrate acquisition data with your CRM system? This is impossible in Google Analytics - in fact, it is against the Terms of Service for Google Analytics to store any data that identifies an individual. But, you can store this data yourself.
Google Analytics stores visitor referral information in a cookie called
__utmz. After this cookie is set (by the Google Analytics tracking code), its contents will be sent with every subsequent request to your domain from that user. So in PHP, for example, you could check out the contents of
$_COOKIE['__utmz'] and you would see a string that looks something like this:
There is clearly some acquisition source data encoded into the string. This is tested to confirm that this is the visitor’s latest acquisition source and associated campaign data. Now you need to know how to extract the data.
This code was translated into a PHP library hosted on github. To use the library,
include a reference to
ReferralGrabber.php and then call
$data = ReferralGrabber::parseGoogleCookie($_COOKIE['__utmz']);
$data array is a map of the keys
gclid, and their respective values.
Adobe recommends adding a table to your database called, for example,
user_referral, with the columns like:
id INT PRIMARY KEY, user_id INT NOT NULL, source VARCHAR(255), medium VARCHAR(255), term VARCHAR(255), content VARCHAR(255), campaign VARCHAR(255), gclid VARCHAR(255). Whenever a user signs up, grab the referral information and store it to this table.
Now that you are saving user acquisition source, how can you use it?
Suppose you are using a SQL database and have a
users table with the following structure:
For starters, you can count the number of users coming from each referral channel by running the following query against your database:
SELECT acq_source, COUNT(id) as user_count FROM users GROUP BY acq_source;
The result looks something like this:
This is interesting, but of limited use. What you would really like to know is:
The queries required to do these analyses are complex. Armed with this information, you can determine your most profitable acquisition channels and focus marketing time and money accordingly.