Naar hoofdinhoud

KoppelingenSalesforce

Salesforce API koppelen aan je website.

Met een koppeling op de Salesforce API komt elke aanvraag van je website als Lead in Salesforce binnen, met de bron, de campagne en de klik-ID van Google Ads erbij. Je verkoopteam ziet waar een lead vandaan komt, en Google Ads leert welke klik later klant werd.

Vertrouwd door

200+ bedrijven en webshops

Dux
Swim Essentials
Vouwwagenspecialist
Fit Preps
Fysio Moov
Mörgenn
MBST
Sunwave Brands
Flaske
Boumij Makelaars

Wat het oplevert

Wat een koppeling met Salesforce je oplevert.

Elke aanvraag als Lead. Je eigen formulier maakt meteen een Lead aan, en de toewijzingsregels die je in Salesforce al gebruikt doen de rest.

Bron en campagne bij het record. UTM-waarden en de gclid staan in eigen velden, dus per lead zie je uit welke campagne hij komt.

Deals terug naar Google Ads. Een gewonnen Opportunity gaat als conversie terug, zodat je campagnes sturen op klanten in plaats van op formulieren.

Technisch

De koppeling in het kort.

Vorm van de koppeling
De REST API van je eigen Salesforce-omgeving, op /services/data/vXX.X/sobjects/Lead, of Web-to-Lead voor een klein formulier
Authenticatie
OAuth 2.0 via een external client app, met een integratiegebruiker die alleen API-rechten heeft
Richting
Van de site naar het systeem
Verversing
Per inzending, direct
Wij bouwen het op
WordPress, Next.js, Maatwerk

Waar het misgaat

  • Web-to-Lead stopt bij 500 per dag. Salesforce maakt via Web-to-Lead maximaal 500 leads per 24 uur aan. Wat erboven komt gaat in een wachtrij die samen met Web-to-Case maximaal 50.000 aanvragen bevat, en die wordt pas na middernacht UTC verwerkt. Een spamgolf op een open formulier kan die 500 op één ochtend opmaken, en dan wachten je echte aanvragen tot de volgende dag. Verhogen kan via Salesforce Support, per verzoek.
  • Een geweigerde lead ziet de bezoeker niet. Bij Web-to-Lead komt de bezoeker gewoon op je bedankpagina, ook als Salesforce het record weigert. De melding gaat per e-mail naar de standaard leadmaker in je org. Een duplicaatregel op Block of Allow with alert blokkeert een Web-to-Lead-inzending altijd. Wie die mail niet leest, mist leads zonder het te merken.
  • Zonder de juiste editie geen API. API-toegang staat standaard aan in Enterprise, Performance, Unlimited en Developer Edition. In Professional Edition is het een add-on, en zonder die add-on geeft elke aanroep API_DISABLED_FOR_ORG terug. De gebruiker waarmee de koppeling inlogt heeft daarnaast het recht API Enabled nodig. Dit bepaalt of je de REST API kunt gebruiken of op Web-to-Lead bent aangewezen, dus wij controleren het voor we iets bouwen.
  • Nieuwe connected apps maak je niet meer aan. Sinds Spring '26 is het aanmaken van connected apps beperkt, en Salesforce raadt external client apps aan. Bestaande connected apps blijven werken. Een handleiding van een paar jaar oud stuurt je dus een route in die niet meer openstaat. Wij richten nieuwe koppelingen in op een external client app.

Bron: documentatie van Salesforce, San Francisco

Wat is Salesforce?

Salesforce is een CRM-platform voor verkoop, service en marketing. Voor een website gaat het bijna altijd om Sales Cloud: het deel waarin je verkoopteam werkt met Leads, Accounts, Contacts en Opportunities.

Een Lead is een aanvraag die nog niet gekwalificeerd is. Zodra sales er een kans in ziet, wordt de Lead omgezet naar een Account, een Contact en een Opportunity. Dat moment, en het moment dat de Opportunity gewonnen wordt, zijn later de interessante momenten voor je advertenties.

Salesforce is ingericht per organisatie, en die omgeving heet een org. Velden, regels en processen verschillen per org, dus een koppeling begint altijd met kijken hoe die van jou is ingericht. Werk je met een kleiner team en nog zonder Salesforce, dan is een koppeling met HubSpot of Pipedrive vaak de kortere route.

Web-to-Lead of de REST API

Salesforce heeft zelf een manier om formulieren binnen te halen: Web-to-Lead. Je genereert in Salesforce een stuk HTML met het ID van je org erin, en het formulier stuurt rechtstreeks vanuit de browser naar Salesforce. Er is geen sleutel en geen server voor nodig, en reCAPTCHA staat standaard aan.

Dat werkt voor een klein formulier met weinig verkeer. De grenzen zitten in de 500 leads per dag, in de wachtrij daarboven, en in het feit dat je pagina niet hoort of het gelukt is. Ook de opmaak en de meting liggen vast aan wat Salesforce genereert.

De REST API is de route die wij meestal kiezen. Het formulier staat in je eigen ontwerp en stuurt naar je eigen server, en die maakt de Lead aan. De server krijgt een antwoord terug, dus een fout vangen we op en melden we, in plaats van dat hij in een mailbox verdwijnt. Voorwaarde is wel een editie met API-toegang.

Hoe de Salesforce API werkt

De REST API draait op het adres van je eigen org: https://jouwdomein.my.salesforce.com/services/data/ met het versienummer erachter. Een Lead maak je aan met een POST op het object Lead, en je krijgt het ID van het nieuwe record terug.

Toegang loopt via OAuth 2.0. In Salesforce maak je een external client app aan, en die krijgt een token voor een vaste gebruiker. Wij gebruiken daarvoor een aparte integratiegebruiker met alleen API-rechten, zodat de koppeling niet stilvalt als een medewerker vertrekt of zijn wachtwoord wijzigt.

Bestaat de persoon al, dan wil je geen tweede Lead. Daarvoor zijn twee instrumenten: de duplicaatregels van Salesforce, die je via een header per aanroep kunt sturen, en upsert op een extern ID, waarmee je een record bijwerkt als het al bestaat. Welke past, hangt af van hoe je org met duplicaten omgaat.

Wat je meestuurt bij een aanvraag

Naam en e-mailadres zijn het minste. Wat de koppeling waardevol maakt is de context: het standaardveld Lead Source, de pagina waar het formulier stond, en de UTM-waarden van de campagne waarmee iemand binnenkwam. Komen er leads via de telefoon binnen, dan kan AdCalls ze met bron en campagne als lead in Salesforce zetten.

Voor Google Ads komt daar de gclid bij. Dat is de klik-ID die Google Ads aan de URL toevoegt als automatisch taggen aanstaat. Wij bewaren die bij het eerste bezoek in een cookie, na toestemming, zodat hij er nog is als iemand pas drie pagina's later het formulier invult.

In Salesforce komen daar eigen velden voor op de Lead, en dezelfde velden op de Opportunity, met een veldkoppeling zodat ze meegaan bij het omzetten. Zonder die koppeling staat de gclid op de Lead en is hij weg zodra sales de deal maakt.

Offline conversies terug naar Google Ads

Een formulier is nog geen klant. Wie Google Ads laat sturen op formulieren, krijgt meer formulieren, ook de aanvragen waar sales niets mee kan. Daarom sturen we de stappen die er wel toe doen terug: een gekwalificeerde Lead, een Opportunity, een gewonnen deal.

Google Ads koppelt rechtstreeks met Salesforce via Data Manager, op de objecten Lead, Opportunity en Order. Dat werkt op de gclid, en voor conversies voor leads ook op het e-mailadres of telefoonnummer. De oude Salesforce-integratie in Google Ads wordt sinds 31 mei 2025 niet meer ondersteund. Hoe de meting aan de kant van Google Ads werkt, lees je in ons stuk over offline conversies in Google Ads.

Let op de tijd: Google Ads telt een klikconversie alleen mee als hij binnen 90 dagen na de klik wordt geïmporteerd. Bij een lange verkoopcyclus kies je daarom een eerdere stap, zoals een gekwalificeerde Lead, als conversie om op te sturen.

Limieten, editie en toewijzing

Een org mag per 24 uur een vast aantal API-aanroepen doen. In Enterprise Edition is dat 100.000 plus 1.000 per Salesforce-licentie, dus met 15 licenties 115.000. Dat geldt voor alles wat met je org praat, ook andere koppelingen. Voor een formulier is dat ruim; elke aanroep geeft in de header Sforce-Limit-Info terug hoeveel er nog over is.

Bij het aanmaken van een Lead via de REST API past Salesforce de actieve toewijzingsregels toe, tenzij je dat in de aanroep anders aangeeft. Dat is meestal wat je wilt: de Lead komt bij de juiste verkoper zonder dat iemand hem handmatig verdeelt.

Validatieregels gelden ook voor de API. Een verplicht veld in Salesforce dat op je formulier ontbreekt, laat de aanroep mislukken. Wij lopen die regels vooraf met je Salesforce-beheerder door en vangen fouten aan de serverkant op, zodat geen aanvraag verloren gaat.

Salesforce koppelen met WordPress of met maatwerk

Op WordPress blijft het formulier in de plugin die je al gebruikt, zoals Gravity Forms. Een kleine uitbreiding op de server stuurt de inzending door naar de Salesforce API, met de bron, de UTM-waarden en de gclid erbij. Een kant-en-klare Salesforce-plugin kan ook, maar dan bepaalt de plugin welke velden meegaan.

Op een maatwerksite in Next.js is het een eigen serverroute die hetzelfde doet. Dat is de route voor meerstapsformulieren, offertetools of portalen waarin meer gebeurt dan één Lead aanmaken.

In beide gevallen staat de token op de server en niet in de browser. Het meten van de bron, de koppeling met Salesforce en de terugkoppeling naar Google Ads vallen bij ons onder Data & Tracking.

Bijgewerkt op

Specialist voor koppelingen

Portret van Jos van der Pluijm tussen de stellingen van een magazijnJosDesign & Development085 83 30 533jos@klubb.nl

Veelgestelde vragen

Wat is de Salesforce API?

De Salesforce API is de toegang voor software tot de gegevens in je Salesforce-omgeving, zonder de gebruikersinterface. Voor een website gaat het meestal om de REST API: je maakt daarmee records aan, zoals een Lead, of je leest en werkt ze bij. Daarnaast zijn er onder meer de SOAP API, Bulk API 2.0 voor grote aantallen en de GraphQL API.

Hoe koppel je de Salesforce API aan je website?

Je koppelt de Salesforce API aan je website via je eigen server. Het formulier stuurt naar de server, die met een OAuth-token een Lead aanmaakt via de REST API en de bron, UTM-waarden en gclid meegeeft. De token blijft zo buiten de browser, en een fout van Salesforce vangen we op in plaats van dat de aanvraag verdwijnt.

Hoe maak je een Salesforce API-koppeling?

Een Salesforce API-koppeling maak je met een external client app in Salesforce en een gebruiker met het recht API Enabled. De app regelt de OAuth 2.0-toegang, de gebruiker bepaalt wat de koppeling mag zien en aanmaken. Wij gebruiken een aparte integratiegebruiker met alleen API-rechten, zodat de koppeling blijft werken als medewerkers wisselen.

Is de Salesforce API openbaar?

De documentatie van de Salesforce API is openbaar, de toegang tot je gegevens niet. Elke aanroep gaat naar het adres van je eigen org en vraagt een geldige OAuth-token van een gebruiker met API-rechten. Daarnaast moet je editie API-toegang hebben: standaard in Enterprise, Performance, Unlimited en Developer Edition, als add-on in Professional Edition.

Wat is het verschil tussen Web-to-Lead en de Salesforce API?

Web-to-Lead stuurt een formulier vanuit de browser rechtstreeks naar Salesforce, zonder sleutel en zonder eigen server. De REST API loopt via je server en geeft een antwoord terug. Web-to-Lead heeft een grens van 500 leads per dag en meldt fouten alleen per e-mail. De API vraagt een editie met API-toegang, maar je houdt de opmaak, de meting en de foutafhandeling zelf in de hand.

Hoeveel leads kan Web-to-Lead per dag aanmaken?

Web-to-Lead maakt maximaal 500 leads per 24 uur aan. Wat erboven komt gaat in een wachtrij, die samen met Web-to-Case maximaal 50.000 aanvragen bevat en na middernacht UTC wordt verwerkt. Is ook die wachtrij vol, dan worden nieuwe aanvragen geweigerd. Een hogere grens vraag je aan bij Salesforce Support.

Welke Salesforce-editie heb ik nodig voor een API-koppeling?

Voor een API-koppeling heb je Enterprise, Performance, Unlimited of Developer Edition nodig, of Professional Edition met de API-add-on. Zonder API-toegang geeft Salesforce op elke aanroep de fout API_DISABLED_FOR_ORG terug. Heb je geen API-toegang, dan is Web-to-Lead de route voor je websiteformulier, met de grens van 500 leads per dag.

Hoeveel API-aanroepen mag mijn Salesforce-org doen?

Een Enterprise Edition-org mag per 24 uur 100.000 API-aanroepen doen plus 1.000 per Salesforce-licentie. Bij Unlimited en Performance is dat 5.000 per licentie. De grens geldt voor de hele org, dus voor alle koppelingen samen. Een websiteformulier gebruikt één tot enkele aanroepen per inzending, en de header Sforce-Limit-Info laat zien hoeveel er nog over is.

Kan ik conversies uit Salesforce terugsturen naar Google Ads?

Ja, via Google Ads Data Manager, dat koppelt met de Salesforce-objecten Lead, Opportunity en Order. Daarvoor moet de gclid van de klik bij de Lead staan en meegaan naar de Opportunity. Voor conversies voor leads kan het ook op e-mailadres of telefoonnummer. Google Ads telt een klikconversie alleen als die binnen 90 dagen na de klik wordt geïmporteerd.

Werkt een Salesforce-koppeling ook op WordPress?

Ja. Het formulier blijft in de plugin die je al gebruikt, en een uitbreiding op de server stuurt de inzending door naar de Salesforce API. Bron, UTM-waarden en gclid gaan mee in eigen velden. Zo houd je de opmaak van je site, staat de token niet in de browser, en wordt een fout van Salesforce opgevangen.

Let's work together.

Elke aanvraag bij sales, en elke deal terug bij je campagne.