Naar hoofdinhoud
— Uitgelichte functie

Studenten segmenteren met contacteigenschappen

Cursusverkopers weten dingen over een student waar het Shopify-klantrecord geen plek voor heeft — cohort, werkgever, licentienummer, aanmeldbron. Die kennis belandt meestal in een spreadsheet, en die spreadsheet veroudert.

Elke cursusverkoper eindigt met een spreadsheet. Daarin staan de dingen waar Shopify geen plek voor heeft: in welk cohort een student zit, wie zijn plek betaalt, het licentienummer dat op zijn certificaat moet staan, waar de aanmelding vandaan kwam. Hij klopt op de dag dat je hem maakt en is binnen een maand verouderd.

Alva Courses is een Shopify-app voor het bouwen en verkopen van online cursussen, en contacteigenschappen zijn waar die spreadsheet in plaats daarvan hoort te wonen. Dit artikel behandelt wat erin hoort, hoe je ze op schaal vult vanuit een CSV-import, en hoe ze weer terugkomen in de ledenexport.

Waarom de spreadsheet veroudert

Een losse spreadsheet heeft geen verbinding met datgene wat hij beschrijft. Studenten schrijven zich in, veranderen van e-mailadres, krijgen hun geld terug, sluiten zich bij een tweede cohort aan — en niets daarvan bereikt het bestand. Erger nog, degene die hem bijhoudt is meestal degene die het drukst is, dus hij verloedert het snelst juist wanneer het programma groeit.

Het Shopify-klantrecord lost het evenmin op. Dat is gebouwd rond kopen: naam, adressen, bestellingen, tags, marketingstatus. Een cursusverkoper heeft feiten nodig over de student als lerende, en het klantrecord heeft geen veld met die vorm.

Tags zijn de gebruikelijke omweg en voor het meeste hiervan het verkeerde gereedschap. Een tag is een vlag, geen waarde. Hij kan zeggen dat een student in het voorjaarscohort zit; hij kan geen licentienummer, werkgeversnaam of datum bevatten, en een winkel die het toch probeert eindigt met honderden eenmalige tags waar niemand in kan zoeken.

Wat er in een contacteigenschap hoort

Een contacteigenschap is een benoemde waarde die je bij één lid van je winkel bewaart. Ze is bedoeld voor een feit over die persoon dat jij kent en Shopify niet, en dat je later op zijn ledenpagina wilt teruglezen of in een export wilt meenemen. Het is vrije tekst, dus ze bevat wat jouw programma werkelijk nodig heeft.

  • Cohort of instroom — voorjaar_2026, maartgroep, waar je studenten op sorteert wanneer je een live sessie draait.
  • Werkgever of sponsor — wie de plek heeft gekocht, wanneer de student niet de koper is.
  • Licentie- of registratienummer — het kenmerk dat een beroepsvereniging op een bijscholingsdossier wil zien.
  • Aanmeldbron — de partner, affiliate of het evenement dat hen stuurde, per student vastgelegd in plaats van uit een bestelling geraden.
  • Programmadetails — de naam van een mentor, een plaatsnummer, een verlengdatum, een inkoopordernummer voor een gefactureerde student.

Twee dingen om buiten te houden. Dupliceer niet wat Shopify al goed bewaart — naam, e-mailadres, bestelgeschiedenis — want de kopie loopt uiteen met het origineel. En wees voorzichtig met gevoelige details: een contacteigenschap is een persoonsgegeven dat jij over iemand anders hebt geschreven, en het valt onder dezelfde verzoeken als al het andere dat je bewaart. Studentgegevens en de AVG voor cursusverkopers behandelt die kant.

Hoe contacteigenschappen werken in Alva Courses

Contacteigenschappen staan op de eigen pagina van het lid in de beheeromgeving, daar beschreven als eigen eigenschappen die je aan dit contact koppelt. Je voegt een eigenschap toe, geeft die een naam en een waarde, en slaat op. Bewerken en verwijderen staan op dezelfde kaart. Je hoeft vooraf geen schema te definiëren, dus een nieuwe eigenschap kun je bedenken op het moment dat je hem nodig hebt.

De naamregels, en waarom ze bestaan

Een eigenschapsnaam gebruikt kleine letters, cijfers en underscores, tussen 3 en 64 tekens — licence_number, cohort, employer. Die beperking is geen versiering. Een stabiele, machineleesbare naam is wat dezelfde eigenschap in een export een kolomkop laat worden en de volgende keer een suggestie, in plaats van vijf bijna identieke schrijfwijzen van hetzelfde idee.

Een winkel kan maximaal 100 verschillende eigenschapsnamen hebben. Die limiet is ruim voor een echt programma en bewust niet onbeperkt, want elke naam is een mogelijke kolom in je ledenexport en een export van duizend kolommen breed helpt niemand. Bij de limiet blijven bestaande eigenschappen bewerkbaar; je kunt alleen geen nieuwe naam bedenken tot je er een opruimt.

Een paar namen zijn gereserveerd omdat de CSV-import ze al gebruikt — email, first_name, last_name en de cursuskolommen. Er een proberen te gebruiken wordt geweigerd met uitleg in plaats van stilzwijgend geaccepteerd en daarna bij het importeren genegeerd.

Ze zijn alleen van jou

Eén persoon kan klant zijn van veel winkels die dezelfde app draaien. Contacteigenschappen worden per winkel bewaard, dus wat jij over een student vastlegt is alleen voor jou zichtbaar — nooit voor een andere merchant die toevallig dezelfde klant heeft, en nooit op diens ledenpagina.

Ze op schaal vullen vanuit een CSV-import

Eigenschappen één lid tegelijk intypen is prima voor een handvol en kansloos voor een cohort. De ledenimport handelt het bulkgeval af: elke kolom in je CSV die niet bij de standaard ledenimport hoort, wordt aangeboden als contacteigenschap, en jij bepaalt per kolom welke je overneemt.

Extra kolommen staan standaard uit, dus er wordt niets achter je rug om aangemaakt. Vink een kolom aan en hij wordt als eigenschap geïmporteerd; laat hem staan en hij wordt genegeerd. Hier wordt de spreadsheet eindelijk echte data in plaats van een parallel universum.

Omdat spreadsheetkoppen gewone taal zijn, laat de import je de eigenschapsnaam zien die hij voor elke kolom voorstelt voordat er iets wordt opgeslagen. Een kolom die Licentienummer heet wordt licence_number, en je ziet die herschrijving in plaats van hem achteraf te ontdekken. Kolommen die niet in een geldige naam zijn om te zetten, of die botsen met een gereserveerde naam, worden uitgelegd in plaats van stilzwijgend weggelaten.

Ze er weer uit krijgen: exports

Een eigenschap die niemand eruit kan halen is niet meer dan een aantekening. Elke contacteigenschap die je winkel gebruikt is beschikbaar als eigen kolom in de CSV-export van leden, naast de standaard ledenkolommen, zodat de export de vraag kan beantwoorden die de spreadsheet vroeger beantwoordde — en deze keer is hij uit actuele gegevens opgebouwd.

De kolomkiezer van de export scheidt ledenkolommen van contacteigenschappen, zodat je een bestand kunt samenstellen dat precies het cohortrapport is dat je nodig hebt in plaats van alles wat de app weet. Draai je elke maand hetzelfde rapport, bewaar de selectie dan als kolomset en gebruik hem opnieuw, met één set als standaard.

Vandaar gaat het bestand naar waar je werk gebeurt: een factuurronde voor een zakelijke sponsor, een cohortlijst voor een live sessie, een bijscholingsopgave die licentienummers naast afrondingsdatums nodig heeft. Zie leden exporteren naar CSV voor de export zelf en contacteigenschappen voor de details per veld.

Een eigenschap in de e-mail zelf zetten

Een export vertelt je iets over een cohort. Een samenvoegvariabele vertelt de student iets over zichzelf, en dat is het moment waarop een opgeslagen eigenschap ophoudt administratie te zijn en lesgeven wordt. Elke eigenschap die je winkel gebruikt wordt een plaatshouder in de cursusmailsjablonen, geschreven als {contact.your_key} en aangeboden in het paneel Variabele invoegen van de editor, naast de standaard plaatshouders voor cursus en klant.

Dat maakt van één inschrijvingsmail de juiste inschrijvingsmail voor elke instroom: noem het cohort waar de student echt in zit, de sponsor die zijn plek heeft betaald, of de mentor die hem is toegewezen, zonder een apart sjabloon per groep bij te houden. Houd één regel in gedachten — een student zonder waarde voor die eigenschap krijgt een lege plek te zien, niet de tekst van de plaatshouder — dus bouw de zin zo dat hij een leeg veld overleeft, of reserveer samenvoegvariabelen voor eigenschappen die elke student echt heeft. Zie je e-mailsjablonen bewerken.

Een uitgewerkt voorbeeld: een certificeringsprogramma

Stel dat je een geaccrediteerde cursus verkoopt aan professionals die hun scholing bij een toezichthouder moeten melden, en dat werkgevers vaak plekken in blokken kopen. Drie eigenschappen dragen bijna de hele administratieve last van dat programma, en geen van drieën bestaat ergens in Shopify.

  • licence_number — vastgelegd bij inschrijving, nodig op elk afrondingsdossier dat je indient.
  • cohort — bij welke instroom ze horen, zodat een uitnodiging voor een live sessie naar de juiste veertig mensen gaat.
  • employer — wie betaalt, zodat de sponsor één voortgangsrapport krijgt in plaats van er bij jou om te vragen.

De werkgever stuurt een spreadsheet met veertig medewerkers en hun licentienummers. Je importeert hem één keer, vinkt twee extra kolommen aan, en vanaf dat moment draagt elk van die leden zijn eigen feiten met zich mee. Aan het einde van het kwartaal levert een export gefilterd op dat cohort zowel het bestand voor de toezichthouder als het rapport voor de sponsor op, uit dezelfde download.

Combineer dat met de rest van het ledengedeelte en het plaatje is compleet: voortgang en afronding komen uit de cursus zelf, een maandelijkse voortgangsmail houdt de studenten tussen live sessies in beweging, en de eigenschappen vertellen je wie elk van hen is voor jouw bedrijf. Ben je het programma nog aan het ontwerpen, dan is de checklist voor de cursuslancering de plek om te bepalen wat je moet vastleggen voordat het eerste cohort koopt.

Veelgestelde vragen

Wat is een contacteigenschap in Alva Courses?

Een contacteigenschap is een benoemde waarde die je bij één lid van je winkel bewaart, voor een feit over die student waar het Shopify-klantrecord geen plek voor heeft. Ze verschijnt op de pagina van het lid in de beheeromgeving en kan als eigen kolom in de ledenexport worden meegenomen.

Wat kan ik in een contacteigenschap bewaren?

Alles wat je programma nodig heeft en nog geen Shopify-veld is: cohort of instroom, werkgever of sponsor, licentie- of registratienummer, aanmeldbron, mentor, plaatsnummer, verlengdatum of een inkoopordernummer. Waarden zijn vrije tekst.

Kan een andere winkel de eigenschappen zien die ik bij een klant toevoeg?

Nee. Dezelfde persoon kan klant zijn van meerdere winkels die de app gebruiken, en contacteigenschappen worden per winkel bewaard. Wat jij over een student vastlegt is alleen zichtbaar op jouw ledenpagina, en nooit op die van een andere merchant.

Hoeveel contacteigenschappen kan een winkel hebben?

Maximaal 100 verschillende eigenschapsnamen per winkel. Eigenschapsnamen gebruiken kleine letters, cijfers en underscores en zijn tussen 3 en 64 tekens lang. Bij de limiet blijven bestaande eigenschappen bewerkbaar en ruim je een naam op voordat je een nieuwe toevoegt.

Kan ik contacteigenschappen importeren uit een CSV?

Ja. Wanneer je leden importeert, wordt elke kolom die niet bij de standaard ledenimport hoort aangeboden als contacteigenschap. Extra kolommen staan standaard uit, en de import laat je de eigenschapsnaam zien die hij voor elke kolom voorstelt voordat er iets wordt opgeslagen.

Verschijnen contacteigenschappen in de CSV-export van leden?

Ja. Elke eigenschap die je winkel gebruikt is beschikbaar als eigen kolom in de ledenexport, in de kolomkiezer apart vermeld van de standaard ledenkolommen. Bewaar een selectie als kolomset om elke maand hetzelfde rapport te hergebruiken.

Klaar om te lesgeven op Shopify?

Installeer Alva Courses op Shopify en bouw je eerste cursus in minuten. Een drag-and-drop-bouwer, videolessen, quizzen, voltooiingscertificaten, ledenbeheer en branded e-mailbezorging — allemaal native in je winkel. Elk plan begint met een gratis proefperiode van 14 dagen.

Installeren op Shopify