Een Salesforce-contact-ID doorgeven en opslaan met Gravity Forms en WordPress

Salesforce Gravity Forms WordPress

My Salesforce Partnerbureau werkt momenteel samen met een bedrijfsorganisatie om Salesforce, Marketing Cloud, Mobile Cloud en Ad Studio te implementeren. Hun websites zijn allemaal gebouwd op WordPress die al met Countr werken Gravity Forms, een fantastische tool voor formulier- en gegevensbeheer met een heleboel mogelijkheden. Terwijl ze campagnes implementeren via Marketing Cloud in e-mail en Mobile Cloud in sms, configureren we hun account en processen om altijd de Salesforce-contact-ID door te geven aan elke bestemmingspagina met een formulier.

Door contactgegevens door te geven, kunnen we ze allemaal invullen Gravity Forms inzending met een verborgen veld om de Salesforce-contact-ID vast te leggen, zodat de klant de gegevens kan exporteren en de bijgewerkte informatie in zijn CRM kan importeren. Latere iteraties zullen een automatische populatie van de gegevens omvatten, maar voor nu willen we ervoor zorgen dat de gegevens op de juiste manier worden opgeslagen.

Er zijn een paar scenario's die we in deze strategie willen opnemen:

  • Een gebruiker klikt op een link in een e-mail die is verzonden via een e-mailcampagne, sms-campagne of klantreis. Aan die URL is de Salesforce-contact-ID automatisch toegevoegd met behulp van een queryreeksvariabele met de naam contactsleutel. Een voorbeeld zou kunnen zijn:

https://yoursite.com?contactkey=1234567890

  • De bestemmingspagina bevat mogelijk geen formulier, dus we willen de Salesforce-contact-ID opslaan in een cookie zodat deze later kan worden geëxtraheerd in een zwaartekrachtformulier.
  • De bestemmingspagina kan een Gravity Forms-formulier bevatten, waar we dynamisch een verborgen veld willen vullen met de Salesforce Contact ID.

Een Salesforce-contact-ID opslaan in een cookie in WordPress

Om de Salesforce-contact-ID vast te leggen en op te slaan in een cookie in WordPress, moeten we code toevoegen aan onze functions.php-pagina in ons actieve thema. We gaan elke Salesforce-contact-ID overschrijven die mogelijk al in een bestaande cookie staat, aangezien veel bedrijven records opschonen, duplicaten verwijderen, enz.:

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');

Als u deze hook gebruikt, wordt er een cookie geplaatst, ongeacht of er een formulier op de pagina staat of niet. We moeten ook elk verborgen veld van Gravity Forms vullen met de gform_field_value_ {naam} methode en de cookie als er geen Salesforce-contact-ID is, wordt doorgegeven in de URL:

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

Dit is een eigen cookie, ook, wat voordelig is voor ons.

Een verborgen veld voor Salesforce-contact-ID toevoegen in Gravity Forms

Binnen een Gravity Forms formulier, wilt u een verborgen veld:

zwaartekrachtvormen voegen een verborgen veld toe

Vervolgens, op uw verborgen veld, wilt u de optie Geavanceerd instellen om uw veld dynamisch te laten vullen met uw querystringvariabele contactsleutel. Als dit overbodig klinkt ... is het zo. In het geval dat een bezoeker tracking via cookies blokkeert, kunnen we het verborgen veld nog steeds vullen met de querystring-variabele:

zwaartekracht vormt verborgen velden vullen de queryreeks in

Gravity Forms heeft nog veel meer prepopulatie opties die u ook programmatisch op hun site kunt opnemen.

Implementatie-upgrades

  • Verwijder caching op Gravity Forms-pagina's - als Gravity Forms zich op een gecachte pagina bevindt, vult u uw veld niet dynamisch in. Dit is een bekend probleem en gelukkig heeft iemand een plug-in gebouwd die ervoor zorgt dat elke pagina met een Gravity Forms-formulier niet in de cache wordt opgeslagen, Nieuwe vormen voor zwaartekracht. Een probleem hierbij is natuurlijk of u een formulier op elke pagina van uw site laadt… het zal caching over de hele site in feite uitschakelen.
  • Gravity Forms Cookie-plug-in - Er is een oudere plug-in die niet in de WordPress-repository is gepubliceerd, maar de code is beschikbaar die u aan uw site kunt toevoegen en het slaat elke querystringvariabele op in een cookie. Ik heb het niet getest, maar het lijkt te worden verwerkt.
  • Gravity Forms Salesforce-add-on - Ik ben een beetje teleurgesteld dat Gravity Forms op dit moment geen officiële Salesforce-integratie heeft, en het zou geweldig zijn om cookies in die implementatie op te nemen. Ik wou dat ik de tijd had om dit te ontwikkelen! Ze bieden wel een Zapier-add-on die kan worden geïntegreerd met Salesforce, maar ik heb het niet getest.

Met deze configuratie slaan we nu de Salesforce-contact-ID op als een cookie en vullen we alle Gravity Forms-gegevens ermee in. Zelfs als de gebruiker de site verlaat en terugkeert in een andere sessie, wordt de cookie ingesteld en zal het veld Gravity Forms vooraf worden ingevuld.

Wat denk je?

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.