CRM

Een klant die net heeft betaald is, voor zover HubSpot weet, nog steeds een lead

Iemand koopt maandag iets in je webshop. Dinsdag stuurt HubSpot hem een e-mail met tien procent korting op de eerste bestelling, want wat de lifecycle stage betreft is hij nog gewoon een lead die ooit een formulier invulde. Het oogt slordig of een beetje wanhopig, en het is geen van beide — het is een webshop en een CRM die nooit met elkaar hebben gepraat.

HubSpot weet heel goed wat er op je website gebeurt. Het weet niets van wat er in je webshop gebeurt tenzij iets het vertelt, en dat "iets" is meestal een mens, eens per maand, die een CSV exporteert.

  • Forms API en private app tokens
  • Contacts, deals, lifecycle stage, orders
  • Vanaf € 1.700 plus servicekosten
De tool

Wat HubSpot is, en wat verandert tussen de gratis versie en de betaalde Hubs

HubSpot is een CRM met marketing-, sales- en servicetools eromheen gebouwd, georganiseerd in Hubs — Marketing, Sales, Service, CMS, Operations — die los of samen te kopen zijn. Onder al die Hubs zitten dezelfde kernobjecten: contacts, companies, deals, tickets, en een lifecycle stage op elk contact die hoort te beschrijven waar iemand echt staat, van subscriber via lead en marketing-qualified lead tot customer.

De gratis CRM dekt contacts, companies, deals en basispipelines, en is een echt bruikbaar startpunt. Wat het niet heeft zijn custom objects, het meeste workflow-automatisering en de diepere rapportage — die komen met Professional, en custom objects specifiek vragen Professional of Enterprise afhankelijk van de Hub. We checken welke variant je hebt voordat we een opzet voorstellen die uitgaat van een functie die het account niet heeft.

Sinds 2022 is de standaard toegangsweg een private app met een afgebakend accesstoken in plaats van de oude API key, die HubSpot volledig heeft uitgefaseerd. Authenticatie is eenvoudig; het echte werk zit bijna altijd in de mapping tussen wat een webshop een klant noemt en wat HubSpot een contact noemt, en de lifecycle stage vanzelf laten bewegen in plaats van met de hand.

Wat er misgaat

Drie dingen die misgaan tussen een webshop en HubSpot

Deze drie komen bijna elke keer langs als HubSpot naast een webshop staat en niet alleen naast een website, want de eigen tools van HubSpot houden op bij het formulier en zien de order nooit.

Marketing benadert mensen die al hebben gekocht

Een workflow gebouwd om leads te converteren blijft een kortingscode mailen naar iemand die vorige week heeft afgerekend, omdat niets zijn lifecycle stage naar Customer heeft gezet. Het oogt alsof je marketingteam niet bijhoudt wie koopt, en op een gegeven moment schrijft iemand zich er woedend voor uit.

Wat je in plaats daarvan ziet

Een afgeronde order zet het contact op het moment van betaling op Customer, wat hem automatisch uit acquisitieworkflows haalt, want daar is die stage voor bedoeld. Marketingbudget gaat naar mensen die nog niet hebben gekocht.

Een verkoper werkt aan een deal voor een klant die al heeft afgerekend

Een deal staat drie weken op "Offerte verstuurd" omdat iemand gewoon rechtstreeks via de webshop heeft gekocht in plaats van op de offerte te wachten. De verkoper hoort het van de klant, niet van HubSpot, en dat is een ongemakkelijke manier om te ontdekken dat je eigen pipeline fout is.

Wat je in plaats daarvan ziet

Een bijpassende order sluit de openstaande deal automatisch, of maakt er een aan en sluit hem in dezelfde stap als er geen was. De pipeline rapporteert wat er gebeurd is, niet wat een verkoper voor het laatst heeft bijgewerkt.

Marketingtoestemming en het shopaccount zijn het oneens

Een gastafrekening in de webshop maakt een contact aan zonder ergens vastgelegde marketingtoestemming, terwijl datzelfde e-mailadres al twee jaar in HubSpot staat met toestemming gegeven via een nieuwsbriefinschrijving. Welk record klopt hangt af van wie je het vraagt, en een compliance-check vindt dat geen goed antwoord.

Wat je in plaats daarvan ziet

De koppeling matcht op e-mailadres voordat er iets wordt aangemaakt en houdt toestemming vast waar hij echt is gegeven, zodat een gastafrekening nooit ongemerkt een bestaande toestemming resette of dupliceert.

De rekening van het handwerk

Wat een maandelijkse CSV-export tussen HubSpot en je webshop kost

Een patroon dat we vaak overnemen: eens per maand exporteert iemand orders uit de webshop, maakt het bestand schoon en importeert het in HubSpot als lijstupdate, zodat de lifecycle stages tenminste ongeveer kloppen. Bij 400 orders per maand is dat een paar uur schoonmaken en matchen met de hand, plus de fouten die een import op basis van alleen e-mailadres nu eenmaal maakt — de klant die bij het afrekenen een ander e-mailadres gebruikte, blijft voor altijd een lead.

De grotere kost is niet de uren, het is de maand vertraging. Een contact dat op de 3e heeft gekocht wordt tot de export op de 30e als prospect benaderd, en dat is bijna een hele maand waarin de verkeerde boodschap naar een echte klant gaat — en elke van die e-mails is een klein, opstapelend reden voor iemand om je merk een beetje minder te vertrouwen.

  • Een paar uur per maand een orderexport met de hand schoonmaken en matchen.
  • Tot een maand vertraging voordat de lifecycle stage van een klant de werkelijkheid inhaalt.
  • Kortingsmails naar mensen die al de volle prijs hebben betaald, en de uitschrijvingen die daarop volgen.
  • Een deal die openstaat in de pipeline voor een verkoop die via de shop al is afgerond.
Wat we bouwen

Wij bouwen ook het ding aan de andere kant

Bij HubSpot is de belangrijkste ontwerpbeslissing welk systeem de lifecycle stage bezit zodra er een webshop bij komt, want de eigen automatisering van HubSpot gaat ervan uit dat marketing- en salesactiviteit de enige input is, en een gekoppelde shop moet ook aan die knop mogen draaien.

Een koppeling heeft twee kanten. Er zijn genoeg bureaus die de API-call voor je bouwen en je een JSON-payload overhandigen; dat is de makkelijke helft. De moeilijke helft is waar die data in landt — een website, een webshop, een portaal waar je klanten op inloggen, een intern hulpmiddel dat een spreadsheet vervangt. JKC bouwt beide kanten, en daarom blijven de koppelingen die wij bouwen meestal werken: aan de ontvangende kant is voor ons niets een zwarte doos.

API-koppelingen

De koppeling zelf: authenticatie, veldmapping, rate limits, retries en een wachtrij die overleeft dat het andere systeem een uur uit de lucht is. Gebouwd op de gedocumenteerde API als die er is, en op wat de leverancier werkelijk aanbiedt als die er niet is.

Websites

WordPress-sites die uit je systemen lezen in plaats van ze met de hand na te typen: een vacaturepagina die uit je HR-systeem komt, een teampagina die je salarisadministratie volgt, prijzen en beschikbaarheid die de echte zijn.

Webshops

WooCommerce-shops waarin de order de laatste keer is dat iemand hem intypt: hij wordt een factuur in je boekhoudpakket, een label bij je vervoerder, een voorraadmutatie in je warehouse en een regel in je CRM, uit zichzelf.

Webapplicaties

Als het proces in geen enkel standaardproduct past: een klantportaal, een offertetool, een planbord, een dashboard dat drie systemen tegelijk uitleest. Gebouwd op jouw data, met jouw systemen als bron in plaats van een kopie ervan.

Wat er gekoppeld kan worden

Wat er tussen HubSpot en je website of webshop gekoppeld kan worden

Gebouwd op een private app token met afgebakende rechten, zodat je HubSpot-beheerder precies bepaalt en kan zien wat een koppeling mag aanraken.

  • Contacts en lifecycle stage (beide kanten)

    Gematcht op e-mailadres voordat er iets wordt aangemaakt, met de lifecycle stage automatisch naar Customer gezet bij een afgeronde order — niet teruggezet als een latere actie hem zou degraderen.

  • Orders als deal, of het sluiten van een bestaande (in de tool)

    Regelitems, bedrag en orderkenmerk, die óf een closed-won deal aanmaken voor de rapportage óf een openstaande een stap verder zetten zodat de pipeline de werkelijkheid weergeeft.

  • Webformulieren, met verborgen velden die de standaardinsluiting laat vallen (in de tool)

    UTM-parameters, de pagina waarvandaan een formulier is verstuurd, en elk custom veld dat een sitespecifiek formulier nodig heeft, verstuurd via de Forms API in plaats van de standaardinsluiting als het ontwerp of de velden er niet in passen.

  • Marketingtoestemming en afmeldingen (beide kanten)

    Toestemming blijft staan waar hij is gegeven, en een afmelding aan de ene kant wordt aan de andere kant gerespecteerd — niemand krijgt op de site marketing te zien na afmelden in een mailfooter, of andersom.

  • Custom objects voor order- of productgegevens (in de tool)

    Op Professional of Enterprise: orders en producten als eigen objects, gekoppeld aan het contact en de deal, zodat de rapportage verder kan gaan dan een dealbedrag en een fase.

Bijna elk eerste HubSpot-project is regel één en twee: contacts gematcht, lifecycle stage klopt, deals weerspiegelen de werkelijkheid. Custom objects zijn een tweede fase voor accounts die zijn gegroeid voorbij wat een dealbedrag alleen kan rapporteren.

Hoe het werkt

Hoe een koppeling bij JKC gebouwd wordt

Elke keer dezelfde vier stappen, om welke tool het ook gaat. Niets hiervan is een workshop waar je voor betaalt: stap één bestaat omdat een koppeling verkeerd afbakenen het duurste is wat er met zo'n koppeling kan gebeuren.

  1. 1. We kijken wat er nu écht wordt overgetypt

    Niet "welke velden bestaan er" maar "welke velden verplaatst iemand nu met de hand, hoe vaak, en wat gaat er stuk als het misgaat". De meeste projecten blijken twee of drie stromen nodig te hebben, geen volledige tweerichtingssync van alles. Dat gesprek is wat de offerte laag houdt.

  2. 2. We kiezen de route, en zeggen waarom

    Een onderhouden connector van de leverancier, een platform als Make of Zapier, of een maatwerkkoppeling op de API. Goedkoopste eerst, niet maatwerk eerst: als een ondersteunde plugin precies doet wat je nodig hebt, dan is dat het antwoord en zeggen we dat ook. Maatwerk is voor de gevallen waarin de kant-en-klare optie zoveel configuratie vraagt dat hij juist het fragiele onderdeel wordt.

  3. 3. We bouwen hem zo dat hij het andere systeem overleeft

    Elke koppeling krijgt retries, een wachtrij en een idempotency-sleutel mee, zodat een order die binnenkomt terwijl de andere kant eruit ligt later wordt afgeleverd in plaats van verdwijnt, en een retry geen tweede factuur aanmaakt. Eerst op een testomgeving waar de leverancier die aanbiedt, zodat het eerste wat je echte administratie ziet een werkende koppeling is.

  4. 4. We dragen hem over met de faalgevallen opgeschreven

    Welke meldingen je krijgt, wat elke melding betekent, wat je eraan doet en wie je belt. Plus de inloggegevens op jouw naam, in jouw eigen kluis — niet in de onze. Een koppeling die niemand behalve wij kan onderhouden is een koppeling die niet van jou is.

Nadat hij live is

Een koppeling die stil faalt is erger dan geen koppeling

Dit is het deel dat in de meeste offertes ontbreekt. Een koppeling die stopt met werken zonder dat iemand het merkt is erger dan handwerk, want bij handwerk merkt iemand het tenminste als het niet gedaan is. Elke koppeling die JKC bouwt wordt gemonitord, en die monitoring is geen bijverkoop — die zit in de servicekosten.

Een melding per mislukt bericht, geen maandrapport

Een bericht dat niet doorkomt geeft binnen het uur een melding, met de regel waar het over ging. Geen dashboard dat je moet onthouden om te bekijken.

Opnieuw versturen, niet opnieuw invoeren

Wat mislukt is blijft in een wachtrij staan en kan opnieuw verstuurd worden zodra de oorzaak weg is, in de juiste volgorde. Niemand hoeft gisteren door te spitten op zoek naar de vier orders die niet zijn aangekomen.

Wij volgen de wijzigingen van de leverancier, zodat jij dat niet hoeft

API's krijgen nieuwe versies, worden uitgefaseerd en gaan op rate limits. Kondigt een leverancier een wijziging aan die jouw koppeling raakt, dan is meebewegen onderdeel van de servicekosten en geen nieuw project.

Wat het kost

Vanaf € 1.700, en de grootste variabele is wie de andere kant heeft gebouwd

Specifiek voor HubSpot: welke Hub en welke variant je hebt weegt zwaarder dan de stromen zelf. Free en Starter dekken contacts en deals prima; custom objects en de diepere workflow-triggers vragen Professional of Enterprise, en dat checken we voordat we offreren, niet erna.

Een koppeling begint vanaf € 1.700 plus maandelijkse servicekosten, waar de monitoring, de wachtrij en het bijhouden van API-wijzigingen van de leverancier in zitten. Werk buiten een vaste scope is € 95 per uur.

Wat het bedrag beweegt is niet de tool — het is hoe goed het systeem aan de andere kant bekend is. Heeft JKC je website, je webshop of je webapplicatie gebouwd, dan kennen we het datamodel, de uitzonderingen en waar de voorraadaantallen echt vandaan komen, en is een koppeling erin vooral configureren en testen. Is het een systeem dat we nooit hebben opengeslagen, dan beginnen we met een korte technische check aan beide kanten en offreren we daarna, zodat je niet op uurbasis betaalt voor ons uitzoekwerk.

Twee dingen die het bedrag verder bewegen, in onze ervaring meer dan al het andere: of de tool een echte API heeft of alleen een CSV-export, en of de sync twee kanten op moet. Eenrichting is ruwweg de helft van het werk van tweerichting, want tweerichting betekent per veld beslissen welk systeem wint als ze het oneens zijn — en die beslissing is het dure deel, niet de code.

Vragen

Veelgestelde vragen over HubSpot koppelen

Niet voor de basis. Contacts, companies, deals en lifecycle stage zitten in de gratis CRM, en een koppeling die orders matcht aan contacts en de lifecycle stage verzet werkt daar zonder iets te upgraden.

Waar je Professional of Enterprise nodig hebt is bij custom objects, het meeste workflow-automatisering en rapportage voorbij de standaarddashboards. We zeggen welke regel op deze pagina welke variant vraagt voordat je concludeert dat er iets ontbreekt.

Gratis, 10 minuten

Geen idee waar de handmatige uren echt naartoe gaan?

Daar is de Groeicheck voor. Tien minuten, zonder verkoopgesprek eraan vast: je krijgt terug waar het dubbele werk zit, welke koppeling zich als eerste terugverdient, en welke eerlijk gezegd niet.