Frequently Asked Questions
Here are some frequently asked questions about the gtag extension for Launch.

What is Google's Global Site Tag (gtag)?

Google's Global Site Tag (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!

Do I need any other extensions?

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.

Who created this extension?

The analytics team at Acronym, a digital marketing agency and Adobe partner. We're based 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, and Organic Search (SEO). Please contact us to use for more information about who we are or how we can help you succeed.

How do I track my e-commerce data?

The gtag.js library passes e-commerce data within custom data fields. Since Launch 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:
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

Example

Let's say you had the following data layer setup on your page:
1
window.dataLayer = {
2
"ecommerce": {
3
"purchase_id": "123abc",
4
"shipping": 20.00,
5
"taxes": 5.25
6
},
7
"products": [
8
{
9
"id": "prodA",
10
"name": "My awesome tshirt",
11
"price": 12.45,
12
"quantity": 5
13
},
14
{
15
"id": "prodB",
16
"name": "Foobar snacks",
17
"price": 5.32,
18
"quantity": 8
19
}
20
]
21
};
Copied!
In Launch, 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:
An example of a purchase event, setup with the e-commerce data layer properties mapped via data elements.
It's on our roadmap to explore making this easier for non-developers to implement, but since Launch is data layer agnostic, it likely won't be added in the near future.

I have a feature suggestion or would like to report a bug, who can I contact?

You can reach out directly to the extension engineering team via [email protected].
Last modified 10mo ago