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 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




An Array of Objects:

[ { }, { }, { } ]

Each object should contain various properties

about the item / product on the page


An array of Objects:

[ { }, { }, { } ]

Each object should contain the name and ID

of the promotions from the page / event



The name of the coupon code entered



This can be mapped within events natively,

but for page views this should be the total value of the items / products.


Non-negative Integer

The step number of the checkout funnel the visitor

is currently on



An optional field that can provide more information

about the current checkout step



The unique ID for the purchase / transaction



The currency of the event's value


Non-negative Float

The amount of taxes collected, if applicable


Non-negative Float

The amount of shipping fees collected, if applicable



The store or affiliation from which this transaction occurred


Let's say you had the following data layer setup on your page:

window.dataLayer = {
"ecommerce": {
"purchase_id": "123abc",
"shipping": 20.00,
"taxes": 5.25
"products": [
"id": "prodA",
"name": "My awesome tshirt",
"price": 12.45,
"quantity": 5
"id": "prodB",
"name": "Foobar snacks",
"price": 5.32,
"quantity": 8

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].