我可以将 GA 事件从默认跟踪器路由到命名跟踪器吗? (或者让 Vimeo 使用我命名的跟踪器?)
Can I route GA events from default tracker to named tracker? (OR make Vimeo use my named tracker?)
上下文
我正在使用 Vimeo analytics script 将视频事件与 Google 分析集成。我正在处理的页面需要将所有 GA 事件路由到由...创建的命名跟踪器...
ga('create', 'UA-XXXXXX-1', 'auto', { name: 'MyTracker' })
然后页面上的所有 GA 事件都与...
一起发送
ga('MyTracker.send', /* ... */)
可行,但是...
vimeo 脚本不包含事件的 MyTracker
前缀。据我所知,没有办法让它使用命名跟踪器(我可能是错的?)。所以,事件看起来像...
ga("send", "event", "Video", "load", "My Super Awesome Video")
这给出了这个错误(来自 GA 调试):
Command ignored. Unknown target: undefined
问题
有没有办法...
- 让 Vimeo 分析脚本使用指定的跟踪器?或者
- 将这些 GA 事件从默认跟踪器重新路由到命名跟踪器?
有没有办法...
Make the Vimeo analytics script use the named tracker? OR
如果您无法更改 Vimeo 分析代码,则否:它将使用 ga('send'
进行硬编码,从而指向主跟踪器。
Re-route these GA events from the default tracker to the named
tracker?
是,使用自定义任务。例如使用 sendHitTask,类似这样的东西:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Grab a reference to the default sendHitTask function.
var originalSendHitTask = tracker.get('sendHitTask');
tracker.set('sendHitTask', function(model) {
// Send data to other tracker
ga('MyTracker.send', /* ... */)
// Comment below line if you don't want to send
// data to original tracker
originalSendHitTask(model);
});
});
上下文
我正在使用 Vimeo analytics script 将视频事件与 Google 分析集成。我正在处理的页面需要将所有 GA 事件路由到由...创建的命名跟踪器...
ga('create', 'UA-XXXXXX-1', 'auto', { name: 'MyTracker' })
然后页面上的所有 GA 事件都与...
一起发送ga('MyTracker.send', /* ... */)
可行,但是...
vimeo 脚本不包含事件的 MyTracker
前缀。据我所知,没有办法让它使用命名跟踪器(我可能是错的?)。所以,事件看起来像...
ga("send", "event", "Video", "load", "My Super Awesome Video")
这给出了这个错误(来自 GA 调试):
Command ignored. Unknown target: undefined
问题
有没有办法...
- 让 Vimeo 分析脚本使用指定的跟踪器?或者
- 将这些 GA 事件从默认跟踪器重新路由到命名跟踪器?
有没有办法...
Make the Vimeo analytics script use the named tracker? OR
如果您无法更改 Vimeo 分析代码,则否:它将使用 ga('send'
进行硬编码,从而指向主跟踪器。
Re-route these GA events from the default tracker to the named tracker?
是,使用自定义任务。例如使用 sendHitTask,类似这样的东西:
ga('create', 'UA-XXXXX-Y', 'auto');
ga(function(tracker) {
// Grab a reference to the default sendHitTask function.
var originalSendHitTask = tracker.get('sendHitTask');
tracker.set('sendHitTask', function(model) {
// Send data to other tracker
ga('MyTracker.send', /* ... */)
// Comment below line if you don't want to send
// data to original tracker
originalSendHitTask(model);
});
});