Как передать и сохранить контактный идентификатор Salesforce с помощью Gravity Forms и WordPress

Формы Salesforce Gravity Forms WordPress

My Партнерское агентство Salesforce прямо сейчас работает с корпоративной организацией над внедрением Salesforce, Marketing Cloud, Mobile Cloud и Ad Studio. Все их сайты построены на WordPress с Гравитация формы, фантастический инструмент для управления формами и данными, имеющий массу возможностей. Когда они развертывают кампании через Marketing Cloud в электронной почте и Mobile Cloud в SMS, мы настраиваем их учетную запись и процессы так, чтобы всегда передавать идентификатор контакта Salesforce на любую целевую страницу с формой.

Передав контактные данные, мы можем заполнить каждый Гравитация формы отправка со скрытым полем для захвата идентификатора контакта Salesforce, чтобы клиент мог экспортировать данные и импортировать обновленную информацию в свою CRM. Последующие итерации будут включать автоматическое заполнение данных, но на данный момент мы просто хотим убедиться, что данные сохранены надлежащим образом.

Есть несколько сценариев, которые мы хотим включить в эту стратегию:

  • Пользователь щелкает ссылку в электронном письме, отправленном в рамках кампании по электронной почте, SMS-кампании или цикла взаимодействия с клиентом. К этому URL-адресу автоматически добавляется идентификатор контакта Salesforce с использованием переменной строки запроса с именем контактный ключ. Примером может быть:

https://yoursite.com?contactkey=1234567890

  • На целевой странице может не быть формы, поэтому мы хотим сохранить идентификатор контакта Salesforce в файле cookie, чтобы его можно было извлечь позже в форме Gravity.
  • На целевой странице может быть форма Gravity Forms, где мы хотим динамически заполнять скрытое поле с идентификатором контакта Salesforce.

Сохранение идентификатора контакта Salesforce в файле cookie в WordPress

Чтобы записать и сохранить идентификатор контакта Salesforce в файле cookie в WordPress, нам нужно добавить код на нашу страницу functions.php в нашей активной теме. Мы собираемся перезаписать любой идентификатор контакта Salesforce, который уже может быть в существующем файле cookie, поскольку многие компании очищают записи, удаляют дубликаты и т. Д.

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 независимо от того, существует ли форма на странице. Нам также необходимо заполнить любое скрытое поле Gravity Forms, используя gform_field_value_ {имя} метод и файл cookie, если в URL-адресе нет идентификатора контакта Salesforce:

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

Это основной файл cookie, что нам выгодно.

Добавление скрытого поля идентификатора контакта Salesforce в формы Gravity

В пределах Гравитация формы форму, вам нужно добавить скрытое поле:

формы гравитации добавляют скрытое поле

Тогда на вашем скрытое поле, вы захотите установить опцию Advanced, чтобы ваше поле динамически заполнялось переменной вашей строки запроса. контактный ключ. Если это звучит излишне ... это так. В случае, если посетитель блокирует отслеживание с помощью файлов cookie, мы все равно можем заполнить скрытое поле переменной querystring:

скрытое поле формы гравитации заполнить строку запроса

В Gravity Forms есть масса других варианты предварительного заселения которые вы также можете программно включить на их сайт.

Обновления реализации

  • Удаление кеширования на страницах Gravity Forms - если Gravity Forms находится на кешированной странице, вы не будете динамически заполнять свое поле. Это известная проблема, и, к счастью, кто-то создал плагин, который гарантирует, что любая страница с формой Gravity Forms не кэшируется, Свежие формы для гравитации. Конечно, есть одна проблема, связанная с тем, что если вы загружаете форму на каждую страницу своего сайта ... это в основном отключит кеширование по всему сайту.
  • Плагин для файлов cookie Gravity Forms - Есть более старый плагин, который не опубликован в репозитории WordPress, но доступен код, который вы можете добавить на свой сайт и он сохраняет любую переменную строки запроса в cookie. Я не тестировал, но похоже обработка.
  • Надстройка Gravity Forms для Salesforce - Я немного разочарован тем, что Gravity Forms на данный момент не имеет официальной интеграции с Salesforce, и было бы здорово включить файлы cookie в эту реализацию. Я бы хотел, чтобы у меня было время разработать это! Они предлагают Надстройка Zapier, которую можно интегрировать с Salesforce, но я не тестировал.

В этой конфигурации мы сохраняем контактный идентификатор Salesforce в виде файла cookie и заполняем им любые данные Gravity Forms. Даже если пользователь покидает сайт и возвращается в другой сеанс, cookie устанавливается и предварительно заполняет поле Gravity Forms.

Как вы думаете?

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.