Personyze Wiki Personyze Wiki docs
Nederlands
Open Personyze
Docs/ CRM & Marketing/ Salesforce-integratie — CRM-data erin, leads, doelgroepen en profielen eruit
CRM & Marketing

Salesforce-integratie — CRM-data erin, leads, doelgroepen en profielen eruit

Personaliseer je website met data uit Salesforce over Contacts, Leads, Accounts en open deals — anonieme bezoekers inbegrepen, via hun bedrijf — en stuur formulierleads, doelgroepen en bezoekersprofielen terug naar Salesforce.

15 min read Updated 1 hour ago

Koppel Salesforce aan Personyze om je website te personaliseren met je CRM-data, en om de leads, doelgroepen en het bezoekersgedrag van je website terug te sturen naar Salesforce.

In beide richtingen Velden van Contact, Lead, Account en open deals komen op je bezoekers terecht — zelfs op anonieme bezoekers, via het Account van hun bedrijf. Formulierleads, doelgroepen en bezoekersprofielen gaan terug naar Salesforce. Het instellen kost in Salesforce ongeveer tien minuten.

Wat het doet

Van Salesforce naar Personyze

  • Bekende bezoekers. Komt er een bezoeker binnen die Personyze op e-mailadres kent — hij vulde een formulier in, logde in, of kwam via een e-maillink met zijn adres erin — dan zoekt Personyze hem één keer per bezoek op in Salesforce: eerst zijn Contact, en zijn Lead als er geen Contact is. De velden die je kiest — functie, leadstatus, rating, eigenaar, de branche en het type van het Account, de fase van de open deal, elk eigen veld — worden bezoekersattributen. Target er campagnes op met targetingregels, en toon ze in je content als dynamische variabelen.
  • Anonieme bezoekers, via hun bedrijf. Vertelt een integratie voor bedrijfsverrijking (ZoomInfo, Clearbit, Leadfeeder, Albacross, 6sense, Snitcher) Personyze voor welk bedrijf een bezoeker werkt, dan zoekt Personyze het Salesforce-Account waarvan de website het domein van dat bedrijf is. De velden van het Account en de laatste open Opportunity ervan komen bij de bezoeker terecht, ook al heeft nog niemand hem geïdentificeerd — zodat de bezoekers van een doelaccount vanaf hun eerste paginaweergave content kunnen zien die voor hen is gemaakt.
  • Campaigns als doelgroepen. Kies een Salesforce-Campaign en de leden ervan worden een doelgroeplijst in Personyze, die elk uur gelijk wordt gehouden met de Campaign. Gebruik die in elke campagne.

Van Personyze naar Salesforce

  • Formulierleads. Een leadformulier (of een geboekte afspraak) kan elke inzending naar Salesforce sturen: het Contact of de Lead met dat e-mailadres wordt bijgewerkt, of er wordt een nieuwe Lead aangemaakt, en die kan aan een Campaign worden toegevoegd.
  • Synchronisatie van bezoekersprofielen. Personyze schrijft na elk bezoek de bezoekersattributen die je kiest — de doelgroepen waarin ze zitten, hun belangrijkste interesses, het aantal bezoeken, het laatste bezoek, verrijkingsdata — naar hun Contact of Lead. Het kan elk bezoek ook als voltooide Task in het record vastleggen.
  • Gebruikerslijsten naar Campaigns. Voeg de mensen uit een gebruikerslijst van Personyze toe aan een Salesforce-Campaign.

Wat je nodig hebt

  • Een Salesforce-editie met API-toegang: Enterprise, Unlimited, Performance of Developer Edition. Professional Edition heeft de API-add-on van Salesforce nodig.
  • Een Salesforce-beheerder om in je org een External Client App aan te maken — ongeveer tien minuten.
  • Een Run As-gebruiker voor Personyze. Een aparte integratiegebruiker is het beste, zodat er niets kapotgaat als iemand vertrekt of een wachtwoord wijzigt. Die heeft de machtiging API Enabled nodig, leesrechten op Contacts, Leads, Accounts, Opportunities en Campaigns, en bewerkrechten op alles waar Personyze naar moet schrijven: Leads, Contacts, Campaign-leden, Tasks en de velden waarnaar je synchroniseert.

Stap 1: maak de External Client App aan in Salesforce

  1. Open in Salesforce Setup → Apps → External Client Apps → External Client App Manager en klik op New External Client App.
  2. Geef hem een naam (bijvoorbeeld “Personyze”) en een contactadres, en zet Distribution State op Local.
  3. Vink onder API (Enable OAuth Settings) Enable OAuth aan.
    • Callback URL: vul de URL in die in de Salesforce-lade van Personyze staat onder Zo stel je het in — https://personyze.com/oauth/salesforce.php, of je eigen Personyze-adres als je een white-label-domein gebruikt. De koppeling van Personyze stuurt er nooit iemand naartoe, maar Salesforce vereist er een.
    • OAuth Scopes: voeg Manage user data via APIs (api) en Perform requests at any time (refresh_token, offline_access) toe.
  4. Vink in Flow Enablement Enable Client Credentials Flow aan en bevestig het dialoogvenster. Sla de app op.
  5. Open het tabblad Policies van de app, klik op Edit, en vink onder OAuth Policies nogmaals Enable Client Credentials Flow aan. Hier verschijnt het veld Run As (Username): kies je integratiegebruiker. Sla op.
  6. Open het tabblad Settings van de app → OAuth Settings → Consumer Key and Secret. Salesforce mailt je eerst een verificatiecode. De pagina toont de Consumer Key en het Consumer Secret — die vul je allebei in Personyze in, in stap 2. Bewaar het secret veilig.
Zet Client Credentials twee keer aan. De Client Credentials-flow moet op beide plekken aanstaan — Settings (Flow Enablement) en Policies (OAuth Policies). De tweede vergeten is de meest voorkomende fout bij het instellen.

Het kan een paar minuten duren voordat Salesforce de inloggegevens van een nieuwe app accepteert.

Stap 2: Salesforce koppelen in Personyze

  1. Ga in Personyze naar Instellingen → Integraties → Salesforce.
  2. Vul in:
    • My Domain-URL — in Salesforce Setup → My Domain → Current My Domain URL, bijvoorbeeld https://yourcompany.my.salesforce.com. Het adres in de adresbalk van je browser terwijl je in Salesforce werkt (https://yourcompany.lightning.force.com/...) werkt ook.
    • Consumer Key en Consumer Secret uit stap 1.
  3. Klik op Verbinden. Personyze controleert de gegevens bij Salesforce voordat het ze opslaat. De lade toont daarna “Verbonden met <je org>” en “Als <gebruiker>, via uw External Client App”.
De Salesforce-lade in Personyze, vóór het koppelen
Instellingen → Integraties → Salesforce, vóór het koppelen: Zo stel je het in geopend, de callback-URL die je in je External Client App invult, en de drie velden waar stap 2 om vraagt. Klik om te vergroten.

Het Consumer Secret wordt nooit meer getoond. Wil je later de app of de gebruiker wijzigen, pas dan de velden aan en klik op Controleren en opslaan; laat het secret leeg om het al opgeslagen secret te behouden.

Sandboxes. Een sandbox heeft een eigen My Domain, eindigend op sandbox.my.salesforce.com (bijvoorbeeld https://yourcompany--uat.sandbox.my.salesforce.com). Maak de External Client App aan in de sandbox en koppel met de My Domain van de sandbox. Eén Personyze-account koppelt met één Salesforce-org tegelijk.

Stap 3: kies wat er op de bezoeker terechtkomt

In de lade toont Eigenschapstoewijzing de Salesforce-velden die Personyze op de bezoeker zet. Aanbevolen configuratie voegt met één klik een goede startset toe:

Salesforce-veld Bezoekersattribuut in Personyze
Person.Type (Contact of Lead) Salesforce record
Person.Title Functie
Account.Name Bedrijf
Account.Industry Branche
Account.Type Accounttype
Account.NumberOfEmployees Bedrijfsgrootte
Opportunity.StageName Opportunity stage

Nieuwe eigenschap toevoegen biedt elk veld van je org, inclusief eigen velden, gelezen uit Salesforce. Elk veld wordt geschreven als het record waar het vandaan komt, een punt, en de API-naam van het veld:

  • Contact.<field> — het Contact van de bezoeker.
  • Lead.<field> — zijn Lead, als geen enkel Contact het adres heeft. Een geconverteerde Lead wordt nooit gebruikt.
  • Person.<field> — welke van de twee er ook is gevonden, voor velden die beide hebben: Person.Title, Person.LeadSource, Person.Owner.Name. Person.Type zegt “Contact” of “Lead”.
  • Account.<field> — het Account van het Contact, of, voor een Lead of een anonieme bezoeker, het Account dat op bedrijfsdomein is gematcht: Account.Industry, Account.Type, Account.Owner.Name, Account.Tier__c.
  • Opportunity.<field> — de open Opportunity van dat Account die het laatst is bijgewerkt: Opportunity.StageName, Opportunity.Amount, Opportunity.CloseDate.

Relatievelden werken ook, zoals Account.Owner.Name of Contact.Account.Parent.Name.

Hoe anonieme bezoekers aan Accounts worden gekoppeld

  • Het bedrijfsdomein komt van een integratie voor bedrijfsverrijking. Koppel het domein daarvan aan het attribuut Bedrijfsdomein (de Aanbevolen configuratie ervan doet dat) — of, bij Snitcher, het websiteattribuut ervan.
  • Personyze zoekt dan naar Accounts waarvan het Domeinveld van het account het domein bevat. Standaard is dat Website; bewaart je org domeinen in een eigen veld, kies dat dan in de lade onder Anonieme bezoekers.
  • Websitewaarden worden gematcht zoals mensen ze typen: http://www.acme.com/en-us/, www.acme.com en acme.com matchen allemaal met acme.com, net als een subdomein zoals shop.acme.com. Lijkende domeinen zoals notacme.com of acme.com.au matchen nooit.
  • Een bezoeker die Salesforce niet op e-mailadres kent, maar die een zakelijk adres gebruikte (geen Gmail, Outlook, Yahoo of andere gratis mailboxen), wordt op dezelfde manier gematcht op het domein van zijn adres.

Wil je hier campagnes op bouwen, zie dan bezoekers van specifieke bedrijven targeten.

Wanneer Salesforce wordt geraadpleegd

  • Eén keer per bezoek per bezoeker, bij de eerste paginaweergave, en nog een keer als het e-mailadres van de bezoeker tijdens het bezoek bekend wordt — nooit bij elke paginaweergave.
  • Antwoorden worden tien minuten onthouden, dus bezoekers van één bedrijf die tegelijk binnenkomen, kosten één opzoeking.
  • Personyze pauzeert zijn opzoekingen als je org 90% van zijn dagelijkse API-tegoed heeft gebruikt, zodat je andere integraties nooit zonder komen te zitten door de website.

Formulierleads

  1. Open een leadformulier en ga naar Waar de gegevens heen gaan.
  2. Voeg Salesforce toe.
  3. Optioneel:
    • Ook aan campagne toevoegen (ID, optioneel) — de ID van 15 of 18 tekens van de Campaign, uit het adres ervan in Salesforce (bijvoorbeeld 701...).
    • Veldtoewijzing — formuliervelden die Personyze niet op naam kan matchen, als form_field=SalesforceField gescheiden door komma’s, bijvoorbeeld budget=Budget__c, how_heard=LeadSource.

Wat er bij elke inzending gebeurt:

  • Het Contact met het ingevulde e-mailadres wordt bijgewerkt. Is er geen, dan wordt de Lead met dat e-mailadres bijgewerkt. Is er geen van beide, dan wordt er een nieuwe Lead aangemaakt.
  • Voor- en achternaam, bedrijf, functie, telefoon, mobiel, adres, land, website, branche en bericht worden vanzelf gekoppeld. Een formulierveld met precies dezelfde naam als een Salesforce-veld (bijvoorbeeld Industry of Budget__c) vult dat veld.
  • Lege formuliervelden wissen nooit wat Salesforce al heeft.
  • Salesforce vereist een Last Name en een Company op elke Lead. Heeft het formulier geen achternaam, dan wordt het deel van het e-mailadres vóór de @ gebruikt. Heeft het geen bedrijf, dan wordt het bedrijf gebruikt dat verrijking voor de bezoeker vond, en anders het Bedrijf voor een nieuwe lead dat je in de lade instelt (standaard “[not provided]”).
  • Blokkeert een Salesforce-duplicate rule de nieuwe Lead, dan wordt in plaats daarvan het record bijgewerkt waarmee hij overeenkwam.
  • Send test in de formuliereditor controleert de koppeling en de Campaign, maar maakt niets aan, dus er komt geen test-Lead bij je salesteam terecht.

Meer over formulieren en waar hun data heen gaat: Actie Leadformulier en leads vastleggen en naar je CRM sturen.

Synchronisatie van bezoekersprofielen

Stuur wat Personyze weet over geïdentificeerde bezoekers automatisch naar hun Salesforce-records.

  1. Maak in Salesforce voor elke waarde die je wilt een veld aan, op zowel Contact als Lead — bijvoorbeeld een Text Area-veld Personyze_Audiences__c — en geef de Run As-gebruiker bewerkrechten erop.
  2. Zet in de lade, onder Profielsynchronisatie naar Salesforce, Salesforce-records actueel houden aan.
  3. Koppel elk bezoekersattribuut aan een Salesforce field. Naast elk bezoekersattribuut van je account kun je dit koppelen:
    • Doelgroepen waarin de bezoeker zit
    • Belangrijkste interesses
    • Aantal bezoeken
    • Tijd van het laatste bezoek
    • Bekeken pagina’s bij het laatste bezoek
    • Doelen bereikt bij het laatste bezoek
    • Personyze-bezoekers-ID
  4. Zet optioneel aan:
    • Elk bezoek als taak vastleggen — een voltooide Task op het Contact of de Lead voor elk bezoek, met de bekeken pagina’s, de bestede tijd, de bereikte doelen, doelgroepen en interesses.
    • Leads maken voor nieuwe bezoekers — standaard uit: alleen mensen die al in Salesforce staan, worden bijgewerkt. Staat het aan, dan wordt een geïdentificeerde bezoeker die Salesforce niet heeft een nieuwe Lead.
  5. Klik op Opslaan.

Hoe het werkt:

  • Het record van een bezoeker wordt geschreven nadat zijn bezoek is afgelopen, hoogstens één keer per bezoek, en alleen als een gekoppelde waarde is veranderd.
  • Waarden worden aan elk veld aangepast: datums en datum-tijden, getallen, selectievakjes, en meerdere waarden (zoals doelgroepen) samengevoegd met ; voor een multi-select picklist of met komma’s voor tekst.
  • Records worden in batches van maximaal 200 bijgewerkt, elke 15 minuten, dus de synchronisatie gebruikt weinig van je API-tegoed.
  • Een veld dat alleen op Lead (of alleen op Contact) bestaat, wordt alleen daar geschreven.
  • Zet je de synchronisatie aan, dan begint die met de bezoekers van de afgelopen dag.
  • De lade toont wanneer de synchronisatie voor het laatst liep en wat die deed.

Salesforce-campagnes als doelgroepen

  1. Klik in de lade, onder Salesforce-campagnes als doelgroepen, op Campagne toevoegen en kies er een.
  2. Klik op Synchroniseren. Een doelgroeplijst met de naam “Salesforce: <naam van de Campaign>” verschijnt onder Doelgroeplijsten, met de tag Salesforce.
  • Mensen worden gematcht op e-mailadres. Campaign-leden die Personyze nog nooit heeft gezien, worden ook toegevoegd, zodat ze de eerste keer dat ze binnenkomen worden herkend.
  • De lijst volgt de Campaign elk uur: nieuwe leden komen erbij, verwijderde leden gaan eruit. Nu synchroniseren werkt hem meteen bij.
  • Stoppen met synchroniseren houdt de doelgroeplijst met de mensen die erin staan.

Gebruik de lijst zoals elke andere doelgroep — zie Doelgroepen & targeting.

Een gebruikerslijst naar een campagne sturen

Kies onder Een gebruikerslijst naar een campagne sturen een gebruikerslijst van Personyze en een Salesforce-Campaign, en klik op Naar Salesforce sturen.

  • Mensen worden op e-mailadres gematcht met Contacts en Leads en als Campaign-leden toegevoegd. Er wordt niemand uit de Campaign verwijderd.
  • Mensen die Salesforce niet heeft, worden overgeslagen, tenzij je Ook leads maken voor mensen die Salesforce niet heeft aanzet.
  • Mensen zonder e-mailadres worden weggelaten. Er worden tot 10.000 mensen tegelijk verstuurd.

Loskoppelen

Klik in de lade op het verwijdericoon naast “Verbonden met <je org>”. Personyze stopt met het lezen van Salesforce-data op bezoekers en stuurt niets meer naar Salesforce. De External Client App blijft in je org staan; wil je die verwijderen, doe dat dan in de External Client App Manager. Je gesynchroniseerde doelgroeplijsten blijven in Personyze.

Problemen oplossen

Kan Personyze geen verbinding maken, dan toont de lade de reden van Salesforce in gewone woorden. Elke reden hieronder noemt de oplossing.

De Consumer Key of het Secret wordt niet geaccepteerd

Personyze zegt: “Salesforce did not accept the Consumer Key and Consumer Secret. Enter both again from the app’s “Consumer Key and Secret” page. A new app can take a few minutes before Salesforce accepts it.”

De key of het secret klopt niet, of de app bestaat pas een paar minuten. Vul beide opnieuw in vanaf de pagina Consumer Key and Secret van de app (stap 1.6), of wacht een paar minuten en probeer het opnieuw.

Geen Run As-gebruiker

Personyze zegt: “Salesforce says the app has no Run As user. In the External Client App, open Policies → Edit → OAuth Policies, tick Enable Client Credentials Flow and choose the Run As (Username).”

De Client Credentials-flow staat aan in Settings maar niet in Policies, of er is geen Run As-gebruiker gekozen. Zie stap 1.5.

De Client Credentials-flow is niet ingeschakeld

Personyze zegt: “Salesforce says the Client Credentials flow is not enabled for this app. In the External Client App, open Settings → OAuth Settings → Flow Enablement and tick Enable Client Credentials Flow – and then also in Policies → OAuth Policies.”

Zet hem op beide plekken aan — stappen 1.4 en 1.5.

login.salesforce.com in plaats van je My Domain

Personyze zegt: “Salesforce answers this only at your My Domain URL (like https://yourcompany.my.salesforce.com), not at login.salesforce.com.”

Vul je My Domain-URL in, niet login.salesforce.com of test.salesforce.com.

Het adres is geen My Domain

Personyze zegt: “Enter your My Domain URL, like https://yourcompany.my.salesforce.com – Salesforce shows it in Setup → My Domain.”

Het adres dat je invulde, is geen My Domain-URL. Salesforce toont het jouwe in Setup → My Domain → Current My Domain URL.

De Run As-gebruiker mag de app niet gebruiken

Personyze zegt: “Salesforce says the Run As user may not use this app. In the app’s policies, allow the user’s profile or permission set.”

De policies van de app beperken welke gebruikers hem mogen gebruiken. Sta het profiel of de permission set van de Run As-gebruiker toe.

De Run As-gebruiker is inactief

Personyze zegt: “Salesforce says the Run As user is inactive.”

Kies een actieve gebruiker als Run As, of activeer de gebruiker opnieuw.

Je editie heeft geen API-toegang

Personyze zegt: “Your Salesforce edition does not include API access. Salesforce offers it in Enterprise, Unlimited, Performance and Developer editions, and in Professional Edition with the API add-on.”

Vraag Salesforce naar de API-add-on voor Professional Edition.

API-toegang staat uit voor de Run As-gebruiker

Personyze zegt: “Salesforce says API access is turned off for the Run As user. Give its profile or permission set the “API Enabled” permission.”

Voeg de machtiging API Enabled toe aan het profiel van de Run As-gebruiker, of aan een permission set die eraan is toegewezen. Dezelfde oplossing geldt voor “Salesforce issued a session and then refused it. Check that the Run As user has the “API Enabled” permission.”

De Run As-gebruiker kan Contacts of Leads niet lezen

Personyze zegt: “Salesforce lets the Run As user read neither Contacts nor Leads. Give its profile or permission set read access to both.”

De Run As-gebruiker heeft leesrechten op Contacts en Leads nodig voor de veldlijsten en de opzoekingen.

Het dagelijkse API-tegoed is op

Personyze zegt: “Your Salesforce org has used its API allowance for the last 24 hours. Personyze pauses its Salesforce requests and tries again later.”

De dagelijkse API-limiet van je org is op (Setup → Company Information toont hem). Personyze pauzeert zijn opzoekingen voor bezoekers een uur en gaat daarna vanzelf verder; de profielsynchronisatie probeert het bij de volgende run opnieuw.

Een Campaign kan niet worden gevonden

Personyze zegt: “There is no Campaign <ID> in Salesforce, or the Run As user cannot see it.”

Controleer de Campaign-ID, en of de Run As-gebruiker Campaigns kan lezen — en die Campaign in het bijzonder, als je org de toegang tot Campaigns beperkt.

De lade zegt dat Personyze gestopt is met het gebruiken van de koppeling

Weigert Salesforce de inloggegevens van de app — bijvoorbeeld nadat de Client Credentials-flow is uitgezet of de Run As-gebruiker is gedeactiveerd — dan stopt Personyze meteen met het gebruiken ervan, zodat de weigering niet voor elke bezoeker wordt herhaald, en toont de lade de reden van Salesforce. Herstel de app in Salesforce en klik daarna in de lade op Controleren en opslaan.

Een gekoppeld veld blijft leeg

Open je site met de debugconsole (testmodus — zie Testen & QA). Elk bezoek dat Salesforce raadpleegt, logt één regel:

  • Salesforce sync (<email>) ok — gevonden, waarden ingesteld.
  • Salesforce sync (<email>) no data — geen Contact, Lead of Account gematcht, of de velden zijn leeg in Salesforce.
  • Salesforce sync (company <domain>) ... — een anonieme bezoeker, gematcht op bedrijfsdomein.
  • Salesforce sync (...) failed: <reason> — de reden van Salesforce.

Een veldnaam die de org niet heeft (bijvoorbeeld een verwijderd eigen veld), wordt overgeslagen, en de andere velden komen gewoon binnen. Onthoud dat Salesforce één keer per bezoek wordt geraadpleegd: begin een nieuw bezoek (een nieuwe browsersessie) nadat je een koppeling hebt gewijzigd.

Een formulierinzending kwam niet bij Salesforce aan

Send test in de formuliereditor toont de uitkomst van elke bestemming. “no email field in the submission” betekent dat het formulier geen e-mailveld heeft — Contacts en Leads in Salesforce worden op e-mailadres gevonden. De eigen weigeringen van Salesforce (een validatieregel, een verplicht veld) worden in zijn eigen woorden getoond.

De profielsynchronisatie werkt een veld niet bij

Controleer of het veld bestaat op Contact en/of Lead, niet alleen-lezen is, en of de Run As-gebruiker er bewerkrechten op heeft. De regel “Laatste run” in de lade telt de records die Salesforce weigerde en toont de eerste reden.

Did this page answer your question?
Thank you — that goes to whoever maintains this page.