Google Tag Manager not loading when you specify a data layer in the config
Hi @poteto
First of all, thanks for your addon, it looks really awesome!
I'm trying to track my app using GTM. I'm only on the first steps of my implementation, and I just did this into environment.js
ENV.metricsAdapters = [
{
name: 'GoogleTagManager',
environments: ['development', 'production'],
config: {
id: 'GTM-NLXM2K',
dataLayer: [{
'pageCategory': 'signup',
'visitorType': 'high-value'
}]
}
}
];
And this in my router.js file
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL,
metrics: Ember.inject.service(),
didTransition() {
this._super(...arguments);
this._trackPage();
},
_trackPage() {
Ember.run.scheduleOnce('afterRender', this, () => {
const page = this.get('url');
const title = this.getWithDefault('currentRouteName', 'unknown');
Ember.get(this, 'metrics').trackPage({ page, title });
});
}
});
Basically, nothing fancy, just your example from the Readme doc.
When doing so, I've got this error: 404: GET https://www.googletagmanager.com/gtm.js?id=GTM-NLXM2K&l=%5Bobject%20Object%5D
It's like it doesn't serialize the data layer.
Any clue how I can solve that? Also, I'm very keen to know how you can edit the datalayer on the fly depending on the route. Any example?
Thanks in advance
Hi,
I had the same problem, after a while I found is connected to this:
https://stackoverflow.com/questions/29243170/404-error-for-google-tag-manager
I hope this can help others.
Same problem here, I published the container but the dataLayer options are not serialized. Without dataLayer options it works as expected
Any update on this ?
No updates, someone experiencing the problem will need to submit a fix.