adopted-ember-addons / adopted-ember-addons/ember-metrics

Google Tag Manager not loading when you specify a data layer in the config

Đang mở
#127 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
367
Fork
158
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.