Frequently Asked Questions
Here are some frequently asked questions about the gtag extension for Adobe Tags.
Last updated
Here are some frequently asked questions about the gtag extension for Adobe Tags.
Last updated
The Google Tag (formerly Google's Global Site Tag and also known as gtag.js) is a JavaScript tagging framework and API that allows you to send event data to Google Ads, Campaign Manager, Display & Video 360, Search Ads 360, and Google Analytics. This framework that allows a seamless integration between the Google products. It is important to note that gtag is not a tag manager, which might be confusing since the main gtag.js
library is served from www.googletagmanager.com
. But rest assured, we're not advocating for you to load a tag manager within a tag manager!
Nope! There are a few other gtag extensions that Adobe has created, but you only need to install the one from Acronym in order to install all of the products on your site. Adding other gtag extensions may cause unexpected results, and is not recommended.
The analytics team at Acronym, a digital marketing agency and Adobe partner. We're based of out the Empire State Building in New York City, with offices around the world. We specialize in Analytics (including building custom private extensions!), Usability/UX Testing, Paid Search, Paid Social, Programmatic, and Organic Search (SEO). Please contact us to use for more information about who we are or how we can help you succeed.
Yes! Within a conversion event, a custom data field named user_data
should be added. This data field's value should include a JavaScript object with key/value pairs based on Google's documentation. In this case, a custom code data element can be created to return the object that Google is expecting. The screenshot below shows an example of how this may look with a data element named user_data
.
The user_data
data element should return an object, such as the one below:
The gtag.js library passes e-commerce data within custom data fields. Since Adobe Tags is data layer agnostic (meaning it does not have a set data layer format), it is ultimately up to you to create data element(s) that provide the data for the e-commerce fields.
You can find all of the relevant information on Google's Enhanced Ecommerce documentation. For reference though, you can pass the following custom data fields:
Let's say you had the following data layer setup on your page:
In Tags, You could setup a few data elements that referenced the dataLayer.products
, dataLayer.ecommerce.purchase_id
, dataLayer.ecommerce.shipping
, and dataLayer.ecommerce.taxes
properties. From there, you can map the data elements in the custom data fields for the purchase event:
We're exploring solutions to make this easier for non-developers to implement. However, Tags is data layer agnostic and thus makes it challenging to cover all use cases in a simple UI.
You may see multiple instances of https://www.googletagmanager.com/gtag/js
in your network requests. Our extension only loads one for the initial account. Due to the way Google configured the Gtag library, each account will load their own library file. Requests that contain &cx=c
are loaded by the main Gtag library and not our extension.
A common issue we see is an existing on-page gtag implementation or a third-party library (e.g., consent managers) setting or overwriting the gtag
function. Because of this, the gtag
function pushes to the default dataLayer
rather than the custom data layer variable. To remedy this, either remove the on-page code setting the gtag
function, or use a custom function name.
The following items are planned in future releases:
Add better support for Google's new "Google Tag" account type.
Add support for Google's native consent management.
Add the ability to prevent accounts from automatically running the config
command on a page.
Allow custom Gtag library URL and/or code input (for those with more strict IT policies).
Add support for e-commerce fields without having to create a custom data element.
Add support to globally disable an account in the extension configuration (instead of either disabling it in every rule or removing it).
You can reach out directly to the extension engineering team via launchsupport@acronym.com.
Custom Data Field
Format
Description
items
An Array of Objects:
[ { }, { }, { } ]
Each object should contain various properties
about the item / product on the page
promotions
An array of Objects:
[ { }, { }, { } ]
Each object should contain the name and ID
of the promotions from the page / event
coupon
String
The name of the coupon code entered
value
Number
This can be mapped within events natively,
but for page views this should be the total value of the items / products.
checkout_step
Non-negative Integer
The step number of the checkout funnel the visitor
is currently on
checkout_option
String
An optional field that can provide more information
about the current checkout step
transaction_id
String
The unique ID for the purchase / transaction
currency
String
The currency of the event's value
tax
Non-negative Float
The amount of taxes collected, if applicable
shipping
Non-negative Float
The amount of shipping fees collected, if applicable
affiliation
String
The store or affiliation from which this transaction occurred