如何通过重力表格和WordPress传递和存储Salesforce联系人ID

Salesforce重力表单WordPress

My Salesforce合作伙伴代理 目前正在与企业组织合作,以实施Salesforce,Marketing Cloud,Mobile Cloud和Ad Studio。 他们的网站都建立在 WordPress重力形式,这是一种出色的表单和数据管理工具,具有大量功能。 当他们通过电子邮件中的Marketing Cloud和SMS中的Mobile Cloud部署活动时,我们将其帐户和流程配置为始终将Salesforce联系人ID传递给具有表单的任何登录页面。

通过传递联系数据,我们可以填充每个 重力形式 带有隐藏字段的提交以捕获Salesforce联系人ID,以便客户端可以导出数据并将更新的信息导入其CRM。 以后的迭代将包括自动填充数据,但是现在我们只想确保适当保存数据。

我们希望将一些方案合并到该策略中:

  • 用户单击通过电子邮件活动,SMS活动或客户旅程发送的电子邮件中的链接。 该URL具有Salesforce联系人ID,该ID使用名为的查询字符串变量自动附加 联系人键。 一个示例可能是:

https://yoursite.com?contactkey=1234567890

  • 目标页面上可能没有表格,因此我们要将Salesforce联系人ID存储到cookie中,以便以后可以在Gravity Form中提取它。
  • 目标页面上可能有一个“重力表单”窗体,我们要在其中动态填充具有Salesforce联系人ID的隐藏字段。

在WordPress的Cookie中存储Salesforce联系人ID

要在WordPress的Cookie中捕获和存储Salesforce联系人ID,我们需要将代码添加到活动主题中的functions.php页面中。 我们还将覆盖现有cookie中可能已经存在的所有Salesforce联系人ID,因为许多公司会清理记录,删除重复项等:

function set_SalesforceID_cookie() {
 if (isset($_GET['contactkey'])){
  $parameterSalesforceID = $_GET['contactkey'];
  setcookie('contactkey', $parameterSalesforceID, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
 }
}
add_action('init','set_SalesforceID_cookie');

无论页面上是否存在表单,使用此钩子都会设置一个cookie。 我们还需要使用 gform_field_value_ {name} 方法和Cookie(如果没有Salesforce联系人ID)在URL中传递:

add_filter( 'gform_field_value_contactkey', 'populate_contactkey' );
function populate_utm_campaign( $value ) {
 if (!isset($_GET['contactkey'])){
   return $_COOKIE['contactkey'];
 }
}

这是一个 第一方Cookie,这对我们也是有利的。

在重力形式中添加Salesforce联系人ID隐藏字段

在一个 重力形式 表单,您需要添加一个 隐藏的领域:

重力形式添加隐藏字段

然后,在你的 隐藏的领域,您需要设置“高级”选项,将您的字段设置为使用querystring变量动态填充 联系人键。 如果这听起来多余,那就是。 如果访问者阻止通过Cookie进行跟踪,我们仍然可以使用querystring变量填充隐藏字段:

重力形式隐藏字段填充查询字符串

重力形式还有很多其他形式 预先填充选项 您还可以通过编程方式将其合并到他们的网站中。

实施升级

  • 删除重力窗体页面上的缓存 –如果Gravity Forms位于缓存页面上,则不会动态填充字段。 这是一个已知问题,值得庆幸的是,有人构建了一个插件来确保不会缓存任何具有Gravity Forms表单的页面, 新鲜形式的引力。 当然,与此有关的一个问题是,如果您要在站点的每个页面上加载表单,则基本上将禁用整个站点的缓存。
  • Gravity Forms Cookie插件 –有一个较旧的插件未在WordPress存储库中发布,但是 您可以将代码添加到网站中 并将任何querystring变量存储到cookie。 我尚未对其进行测试,但它似乎正在处理中。
  • 重力形式Salesforce附加组件 –对于Gravity Forms目前没有正式的Salesforce集成,我感到有些失望,将cookie集成到该实现中将是很棒的。 我希望我有时间开发这个! 他们确实提供了 可以与Salesforce集成的Zapier加载项,但我尚未对其进行测试。

通过此配置,我们现在将Salesforce联系人ID作为cookie存储,并用它填充所有Gravity Forms数据。 即使用户离开该站点并返回另一个会话,该cookie也会被设置并将预填充Gravity Forms字段。

你觉得呢?

本网站使用Akismet来减少垃圾邮件。 了解您的数据如何处理.