尽管GTM标签触发(RegExp条件),但Google Analytics 4事件未发送

tjrkku2a  于 2023-10-22  发布在  Go
关注(0)|答案(2)|浏览(148)

我尝试在Google Analytics 4中基于现有事件的参数(form_id)创建自定义事件。我的目标是将多种形式组合成一个事件。
当我将GA4中的过滤条件设置为“contains”并指定单个数字ID(例如,1562),事件被正确发送。但是,当我切换到form_id的正则表达式时(例如,“matches regexp”,然后是1562),就会出现问题|在这种情况下,当GTM标签确实激发时,事件不被发送到GA 4。我在两个场景中测试了ID=1562的相同表单。
控制台显示错误:“事件处理在增强期间中止。”
我已经排除了其他因素,并确认问题与此RegExp条件有关。根据文档,以这种方式使用正则表达式应该是有效的。
任何关于什么可能导致这个问题的见解将不胜感激。
working configurationnon-working configuration

toe95027

toe950271#

更新:问题已解决

我想更新这个问题,以通知任何面临类似问题的人,我已经设法解决了它。
问题的关键在于,form_id参数是一个数值。Google Analytics 4中的正则表达式在尝试匹配数值时无法正常工作。
解决方案是在应用正则表达式之前将变量转换为字符串。具体来说,我修改了我的JavaScript代码,其中formId是这样生成的:

"formId" : event.detail.contactFormId.toString(),

进行此调整后,正则表达式按预期工作,事件被正确发送到GA4。

lnxxn5zx

lnxxn5zx2#

尝试从GTM创建您的自定义事件。我的意思是你需要创建一个Tag并设置相关参数。然后,为form-id创建一个用户定义的变量,并定义如何将值设置为该变量(例如,如果您通过JavaScript发送该值,或者该值是dataLayer值)。
在我的例子中,在下面的照片中,你可以看到JS_storeIdVariable作为user_defined变量,我选择它来从自定义的JavaScript(JS)函数中获取值。请记住,在本例中,我在前端将值发送给名为storeId的变量,以便此函数可以读取该值,类似于

<script>
   window.storeId = <?php echo  $my_store_id ;?>;
</script>

然后,作为您创建的Tag的触发器,您应该创建一个Trigger,其中您想要的过滤器适用于此处。做一些像下面的照片但是你需要根据你的需要设置值:
还要注意触发器类型,并选择对您的案例有意义的内容。

相关问题