我不确定是否有一种解决方案可以控制多个事件的执行顺序,但一种解决方法是为GTM提供所需的数据,并使用相同的功能获取值并重置它们。这假设您可以控制此代码。
你可以这样做:
function yourFunctionForButtonClick() {
//Your code to get pid/count value, put into a javascript array.
//new code to provide data to GTM
dataLayer.push({
event: 'newPidProvided',
pidcountvalue: pid + ',' + count
});
//Your code to reset pid with '', reset count with 1'.
}
在这种情况下,您需要设置GTM触发器来监听newPidProvided事件,而不是单击,同时仍要检查URL中是否存在“用户/快速行为”。(如果没有其他标签或触发器在其他页面的GTM中使用pid+计数,也可以在函数中完成。)您还必须使用数据层变量,而不是自定义JavaScript类型。