我有时会在Google跟踪代码管理器中使用localStorage来记住宏中之前事件中的类或ID。如果页面上有多个没有ID的表单,我会使用它。我保存提交按钮的ID或类,并在标签的触发规则中使用它以及提交表单。问题是localStorage在我在Debug modus中测试时有效,但是在发布时它的行为方式不同。然后突然它返回当前的ID,所以表单的ID。宏的代码如下所示:
var prevID = localStorage.getItem("previousID");
localStorage.setItem("previousID", {{element id}});
return prevID;
我也试图对事件做出判断:
if ({{event}} == "gtm.click") {
localStorage.setItem("prevID", {{element id}});
}
return localStorage.getItem("prevID");
这样,localStorage值只应在发生click事件时更改,因为gtm.formSubmit直接发生在gtm.click事件之后它应该记住以前的ID no?
也欢迎任何其他方法来调整触发先前事件的元素的特征。
*上面的代码可能有一些小错字。