如何通过SquareSpace索引子页面传递URL UTM / SQF参数?

问题描述 投票:0回答:1

Squarespace Index页面有一个主页和一个子页面。看起来如下:

  • INDEX(xyz.com/landingpage)
    • 第1页(xyz.com/landingpage)
    • 第2页(xyz.com/landingpage-1)

Squarespace无法通过表单传递UTM参数,因此我正在Google跟踪代码管理器中使用脚本将UTM参数传递为Squarespace的SQF格式:

参考:How to track UTM data in Squarespace form submissions

在表单中,我具有隐藏的字段SQF_CAMPAIGN,SQF_TERM等。这些字段收集脚本解析的数据,并在提交表单时收集URL参数。

我在索引的每一页上都有一个表单块。看起来像这样:

  • INDEX(xyz.com/landingpage)
    • 第1页(xyz.com/landingpage)
      • FORM 1
    • 第2页(xyx.com/landingpage-1)
      • FORM 2

从网站访问者的角度来看,它是一页和一个URL。从Squarespace的设计架构来看,它被认为是两页。

我要解决的问题是使URL参数与Form 2一起提交。目前Form 1正常运行。所有参数已发送。在发布之前,我开始测试另一种形式,并意识到未收集参数。我在多个页面上对此进行了测试。

我怀疑PAGE 2,FORM 2没有提取数据,因为它实际上是一个单独的URL。我仅使用仅带有SQF参数的URL进行了测试,并且能够提取PAGE 2,FORM 2上的数据。尽管,我需要UTM参数进行进一步的跟踪,所以仅使用SQF不能解决我的问题。我可能会误会。

理想情况下,用户点击Google付费搜索广告系列,因此所有UTM参数都将标记在着陆页URL上,并且当他们在页面上提交任何表格时,都会收集这些参数。

任何人都可以提供解决方案吗?

javascript forms google-analytics squarespace utm
1个回答
0
投票

该问题是由于您所使用的代码段编写为仅处理一种形式而引起的。也就是说,假设给定页面上只有一种形式。它与Squarepace中的索引页体系结构无关。

可以通过在代码内添加循环来解决此问题,如下所示:

var i = formFields.length;
while (i--) {
  if (formFields[i]) {
    formFields[i].value = params[param]; 
  }
}

original answer已使用此代码段更新。

© www.soinside.com 2019 - 2024. All rights reserved.