Pardot服务器端表单处理程序:从浏览器中提取cookie ID并将其传递给visitor_id

时间:2018-07-24 08:44:23

标签: php wordpress pardot

我目前正在使用一个系统来通过服务器端流程将现有表单发布到Pardot表单处理程序中。我已经使用以下代码通过WordPress的辅助函数wp_remote_post将表单发布到了Pardot。 (其核心是一个CURL帖子):

$response = wp_remote_post( 'https://ourdomain.com/l/82632/2018-04-26/544m2kc' , array(
        'timeout'   => 45,
        'body'      =>  $form_data
     )
);

但是Pardot需要将跟踪cookie与数据一起发送。网站http://nebulaconsulting.co.uk/using-pardot-form-handlers/上有以下引用:

  

服务器端帖子也可以通过以下方式传递Pardot浏览器cookie:   数据,以便可以跟踪将来的网络活动。这需要   额外的脚本,用于从浏览器中提取Cookie ID并将其传递给   Pardot中的visitor_id字段。

有人对我如何做有帮助吗?

3 个答案:

答案 0 :(得分:1)

我假设访问者在提交表单之前已经查看了您网站上的页面以及Pardot跟踪代码。这会设置一个带有访客ID的cookie,您可以(通过JS)检索其值并将其包含在服务器端帖子中,以使其与该访客相关联。

  1. 在与特定广告系列有关(并在其设置中找到)的Pardot跟踪代码中,您会看到:piAId ='315092';

  2. 跟踪脚本设置了一个名为:visitor_id315092的cookie(即,visitor_id后跟上面的piAId值)

  3. 获取此cookie的值,并使用“ visitor_id”键(NOT visitor_id315092)将其包含在表单帖子中

'visitor_id'=>'visitor_id315092 cookie的值'

答案 1 :(得分:0)

Zachary的回答很好,但我想指出,visitor_id密钥与piAId(帐户ID)不完全匹配:这是帐户ID减去1000。

不知道为什么Pardot会这样做,但是我已经通过多个实例确认了。

因此,如果您的piAid为315092,则visitor_id密钥将为: visitor_id314092

因此,在Zachary的示例中,它将是:'visitor_id'=>'visitor_id314092 cookie的值'

答案 2 :(得分:0)

在感谢页面上使用隐藏的iframe,该页面会创建向表单处理程序的客户端提交。本质上,iframe作为隐藏像素加载到页面上。 iframe的src是您的表单处理程序的端点网址,其中加载了您所有的字段数据作为查询参数,并且以最低要求发送电子邮件。