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:

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 launchsupport@acronym.com.

‚Äč