我正在开发一个集成谷歌标签管理器的小项目。客户希望捕获所有成功的结账步骤,如下所示:
现在我的解决方案是挂钩opcheckout.js中的函数gotoSection。
还有另一种巧妙的方法吗?
答案 0 :(得分:0)
如果我没记错Magento有一个ajax结账 - 你可以分别使用global ajax event handlers(或Ajax responders,我想我上次做过这样的事情Magento使用Prototype进行ajax调用)并检查回复网址。原型示例如下所示:
if(Ajax.Responders){
Ajax.Responders.register({
onComplete: function(response){
// last segment if response.url should hold the step name
// then push it to the datalayer
}
});
}
Jquery看起来可能有点像这样:
$(document).ajaxSuccess(function(event, xhr, settings ) {
// check xhr.responseText for step name
// then push it to the datalayer
});
已经有一段时间了,我不确定Magento结帐是否仍然可以这样运行,但你应该试一试 - 我曾经这样做,所以我不必修改Magento文件(全局ajax处理程序挂钩到来自“外部”的ajax事件)。我曾经将ga调用插入到成功事件中,但您可以轻松地将步骤名称和自定义事件推送到数据层,并在GTM内部使用它。