互动 先见
+ - - - - - -
{{项目。标签}}
的见解

GTM匹配表变量生成器(查找表及其他)

需要做一个大的查找表?希望查找表支持正则表达式?我们建立了一个谷歌表,将节省您大量的时间。抓取模板或者继续读下去,了解更多。

GTM查找表非常棒

谷歌标签管理器的“查找表”变量类型非常棒,因为它:

  • 允许极大的灵活性,不需要自定义JavaScript或大量的标签
  • 非常快,不管表的大小(即可能匹配的数量)

如果您不熟悉查找表,我建议您查看一下一些使用情况下并且学习他们有多灵活。(在查看这些链接时,请记住在GTM中“macros”=“variables”。)

的问题

尽管在谷歌标签管理器中是一个非常有用的功能,但查找表变量的配置可能很繁琐,其精确匹配的性质是有限的。

创建大型查找表是一项数据输入工作

一个查找表变量很容易手工创建,它看起来像这样:

小型GTM查找表

但是如果有大量的键/值对呢?也许您有大量的域,每个域都要映射到一个跟踪id。或者您希望将系统id映射到人类可读的标签(例如,YouTube视频id映射到视频标题)。无论哪种情况,需要一个大型查找表是很常见的。然而,GTM没有提供导入键/值对或批量编辑它们的简单机制,因此我们面临着创建这样的查找表变量……

大型GTM查找表

用手。

即使你有时间(或者一些不走运的实习生),这个手工任务也很容易出现人为错误。(你最好经常保存,以免一些崩溃或错误点击导致你失去在编辑变量页面上的进度!)

查找表只能精确匹配

GTM查找表变量只能执行精确匹配(a.k.a。"is equal to")查找。因此,它不能用于必须匹配的输入值的数量不确定的情况。如果输入值是已知的,但经常变化,或者太多而无法管理,那么使用查找表是可能的,但并不实际。

例如,假设我的网站处理特定于州的内容。假设我的CMS在某些情况下使用完整的州名,在其他情况下使用州缩写,有时大写,有时小写,有时大写。我想始终跟踪所有这些变化。

在Tag Manager中添加了Variable大小写修饰符之前,处理查找表Variable输入中不一致的大小写的唯一方法(不使用自定义JavaScript)是为输入变量的每个大小写变化创建一个键-值对。因此,对于每个州,我需要6个键/值对(“Pennsylvania”,“Pennsylvania”,“Pennsylvania”,“PA”,“PA”,“PA”)。因此,相对较少的输入数量成倍增加,并将我们带回数据输入问题。

假设我还想匹配用户搜索输入。为了考虑美国州和领土名称的所有可能的大小写变化,我需要匹配328,228个输入。如果我必须在任意搜索查询中匹配州名作为一个术语,那么我将有无限个可能的输入。

这种情况需要更灵活的匹配。

解决方案

该工具通过允许使用电子表格创建大型查找表,从而简化了构建大型查找表的过程。它还增加了更灵活的匹配选项,超越了严格的精确匹配查找功能,提供子字符串匹配(“Contains”)以及正则表达式匹配和提取。(这是一个谷歌表,但它可以适应Excel。)

复制模板

指令

复印一份模板(您必须登录到谷歌帐户)并按照以下步骤使用GTM匹配表变量生成器。您可以使用此工具一次创建多达10个新变量。

  1. 输入新变量的名称。03-variable
  2. 输入输入变量名(您可以从下拉菜单中选择一个内置变量,或者输入一个自定义变量名)。您可以将此留空,但在使用变量之前,需要在GTM中设置它。04-Enter-Input
  3. 可选-输入默认值(如果您想引用其他变量,请使用GTM的变量)变量引用符号)。04-Default价值
  4. 选择查找类型。“精确匹配”将生成一个标准的GTM查找表。类中详细描述的其余自定义类型灵活的对照表下面的部分。05-lookup类型
  5. 输入键/值对。06-keyvaluepairs
  6. 可选-重复步骤1 - 5最多10个新变量。
  7. 打开“帮助”右侧的自定义菜单,点击“下载”。08-screenshot

    7个。第一次使用这个电子表格时,您将看到一个“授权要求”对话框。只有自动下载JSON文件时才需要此授权。如果您不愿意授予任何脚本访问权限,跳到7b对于手动选择。否则,单击“继续”。08年截图

    您将看到授权提示,这表明脚本只能访问当前的电子表格。检查权限(你总是应该:),然后点击“允许”。8第二张图像

    然后,容器导出文件将下载。

    如果此脚本方法在任何步骤中失败,请尝试7b中描述的手动方法。

    7 b。作为从谷歌表下载导出文件的替代方法,您可以手动创建容器导出文件。为此,突出显示单元格B1,并按下Ctrl + C(或Cmd + C在Mac上)来复制单元格的值。粘贴到纯文本文件中,并保存扩展名为“.json”。

  8. 在您的GTM容器中,转到Admin >导入容器。选择在上一步中创建的文件。
  9. 重要的是:选择“合并”。09-merge然后点击“继续”。

就是这样!容器现在拥有在电子表格中定义的变量,可以在测量实现中使用。

灵活的对照表

灵活的匹配选项是(每个都有区分大小写和不区分大小写的版本):

  • 包含
  • 正则表达式匹配
  • 正则表达式提取(基于输入的动态输出)

这些匹配选项产生“灵活的匹配表”,它被实现为自定义的JavaScript变量(基于的修改版本)Simo Ahava的简单正则表).一旦生成,任何稍微熟悉JavaScript的人都可以编辑这些自定义表。

默认情况下,这些灵活的匹配表将避免具有未定义的输入值(将其视为字符串“undefined”)的意外后果。可以使用隐藏配置选项卡关闭此保护。

注意,使用灵活的匹配,多个键可以匹配一个输入。这个实现只返回第一个匹配。

性能

重要的是要知道这些灵活的匹配表与普通查找表的结构本质上是不同的他的帖子).关键的区别在于性能。精确匹配查找表比任何灵活的匹配类型都快得多。对于小表来说,这种差异可以忽略不计,但是添加的键/值对越多,使用灵活的匹配类型就越有可能造成明显的放缓。寓意:如果精确匹配查找类型可以合理地用于相同的事情,就不要使用灵活的查找类型。

在你使用灵活的匹配类型之前,问自己:

  • 我可以做一个有限的输入值列表(即使它很长)?
  • 如果是这样,该列表是否会随着时间的推移保持不变,或者当列表发生变化时更新跟踪是否可行?

如果这两个问题的答案都是“是”,那么您应该考虑使用常规的精确匹配查找表。这可能需要一些额外的工作,但性能上的好处是非常值得的。此外,如果可以的话,你不愿意在你的容器中避免自定义Javascript吗?

正则表达式提取

'regex extract'匹配选项执行标准的regex匹配,但允许返回值字符串拉入部分或全部匹配的字符串。可以使用标准的JavaScript符号来引用捕获组,包括:$ #引用捕获组(例如:1美元),以及$ &0美元引用输入字符串的整个匹配部分。

“正则表达式提取”匹配表示例

在上面的例子中,输入“info.site.com”将匹配键“(.+)\.site\.com$”,返回的变量值将是“Subdomain: info”。

限制

由于谷歌表中的字符限制,此工具可以处理的键/值对的数量有限。实际的数目取决于值和键的大小。平均键大小为3个字符,平均值大小为10个字符,公式可以为单个变量处理最多399个键/值对。注意,最大值适用于所有变量,因此如果需要进行多个大型查找,则可能需要一次下载一个。

问题?

  • 在导入时,如果你得到错误“Failed to Create Container Draft”,那么你需要在导入前修复容器中的错误(在GTM中,而不是在这个工具中)。
  • 您可以在此工具中引用不是容器中实际变量的变量,但仍然可以成功导入。但是,GTM将不允许您发布或预览,并将指向无效的变量引用。
  • 在尝试导入之前,电子表格有一些验证来捕获问题。错误由单元格右上方的小红色三角形表示;单击单元格查看问题所在。谷歌表中的错误信息示例
  • 如果您在导入时得到错误:“文件格式无效”,则可能是此工具中的错误导致的结果。一旦你确认表格中没有错误(见前一个项目),请给我发电子邮件,并附上你的电子表格链接:stephenh (at) seerinteractive.com。

欢迎在Twitter上分享任何其他反馈@smhmic或者在下方评论!

订阅时事通讯

斯蒂芬•哈里斯
斯蒂芬•哈里斯
团队领导,分析

我们乐于帮助像您这样的营销人员。

注册我们的通讯,接收更新和更多信息: