我想在atalayer中使用object。我跟随开发人员文档,他们展示了一个平面数据模型。我想推送一个主要对象并在用户将信息输入到Lead表单时更新它。 与公司,规模和位置,关键和价值。
dataLayer.push({'event': 'company_on_blur'}); //on leaving a company field
dataLayer.push('lead.company', '<company>');
dataLayer.push('lead.size', '<company-size>');
dataLayer.push('lead.size', '<company-location>');
dataLayer.push('lead.key', '<value>');
有没有办法将所有这些数据作为结构化主导对象推送?
onclick="dataLayer.push({
// lead data object
});
一旦推送对象,我怎样才能修改对象的一个属性
dataLayer.push({'event': 'company_on_blur'}); //on leaving a company field
dataLayer.push('lead.company', '<company>'); //update the value in the object
答案 0 :(得分:0)
是的,您可以使用dataLayer.push一次性推送多个值。它会变成这样的:
dataLayer.push({
&#39; event&#39 ;: company_on_blur,
&#39; lead.company&#39;:公司,
&#39; lead.size&#39 ;: company-size,
&#39;领导。位置&#39;:公司位置,
&#39; lead.key&#39;:价值
});
要更新给定事件的对象中的值 - 只需将事件用作触发触发器(当自定义事件等于company_on_blur时,使用Fire标记X)。
如果您的想法是从表单中获取字段值并将其发送到GTM - 更容易为值提取创建变量,请创建触发器company_on_blur并触发用于收集数据的标记。您也可以使用表单提交点击作为触发器,而不是离开该字段,如果您可以仅为点击提交按钮的人收集这些内容。这样您就可以一次收集所有数据。