0

这里有人知道如何通过将联系人的电子邮件地址传递到 Javascript 代码来设置站点跟踪吗?

我在 Wordpress 上使用可视化构建器 Elementor 的本机联系表。

这是联系表格:https ://www.bestseo.sg/free-report/ (页面底部)

我已经在站点范围内插入了 ActiveCampaign 的站点跟踪代码。

但是,即使在表单提交之后,它似乎也没有开始站点跟踪。

根据 ActiveCampaign 的文档(https://help.activecampaign.com/hc/en-us/articles/221542267-An-overview-of-Site-Tracking#how-to-pass-a-contact-s-email-address -into-javascript-code),我相信我必须添加这行代码:

vgo('setEmail', 'Email_Address_Goes_Here');

以上

vgo('process');

但我不知道用什么替换“Email_Address_Goes_Here”,以便在提交表单后调用实际联系人的电子邮件。

任何帮助将非常感激!

谢谢你。

4

2 回答 2

0

所以用于插入这些 JavaScript 代码的插件是https://wordpress.org/plugins/header-and-footer-scripts/ - 我建议也许继续使用它,并将脚本保留在页脚中,这样这不需要太多的修改。

在您的模板中,您必须在某处输出电子邮件地址,JS 可以从中读取它 - 例如,通过添加到 body 元素的自定义数据属性。

你的主题的 header.php 应该包含类似于

<body <?php body_class(); ?>>

修改它,添加一个自定义数据属性来存储在 from 中输入的电子邮件地址:

<body <?php body_class(); ?> data-freereportemail="<?php echo !empty($_POST['form_fields']['email']) ? esc_attr($_POST['form_fields']['email']) : ''; ?>">

如果设置了该名称的 POST 参数,那么它将作为该属性的内容输出,否则它将保持为空。

然后像这样修改通过插件插入的 JavaScript 代码,

var freereportemail = $('body').attr('data-freereportemail');
if( freereportemail  != '' ) {
  vgo( 'setEmail', freereportemail );
}

这假设此时已经加载了 jQuery,但我认为这很可能是这种情况。

如果该属性包含一个电子邮件地址,那么这将执行vgo跟踪功能,如果该属性值为空,那么它会简单地跳过这个调用。

这不是最复杂的方法,但应该这样做。

(仅当您在网站上还有其他表单,使用完全相同名称的表单字段时,您可能会跟踪超出预期。在这种情况下,您需要找到一些额外的标准,以便能够区分这些不同的形式。)

于 2020-04-02T13:14:18.393 回答
0

AC 支持的一个人给了我这个代码:

jQuery('form').submit(function() {
var userEmail = jQuery("form input[type='email']").val();
vgo('setEmail', userEmail);
vgo('process');
});

我希望它会帮助你。

我使用 FluentForms,所以我只是使用特定于自定义 JS/CSS 的表单来应用它(所以我没有正确定位的问题......)

于 2021-02-04T23:15:57.080 回答