Een simpele mapping is een rechte lijn: jouw veld kleur gaat naar het kanaalveld color, klaar. Maar de werkelijkheid is zelden zo recht. Een kanaal wil een titel die je uit drie velden moet samenstellen, een waarde die afhangt van een voorwaarde, of een vertaling die per kanaal anders uitpakt. Deze gids ontrafelt die complexe mappings en geeft je patronen die je telkens opnieuw kunt gebruiken.

Het doel is niet om elke uitzondering apart op te lossen, maar om patronen te herkennen die terugkeren. Wie de patronen beheerst, lost een nieuwe lastige mapping op met een bekende aanpak. Voor de basis van mapping is er attribuut-mapping uitgelegd; deze gids bouwt daarop voort.

01. Waarom mappings complex worden

Mapping wordt lastig zodra de relatie niet een-op-een is. Een kanaalveld kan uit meerdere bronvelden moeten worden opgebouwd, een waarde kan afhangen van een voorwaarde, of dezelfde bronwaarde moet op het ene kanaal anders worden vertaald dan op het andere. Die een-op-veel en voorwaardelijke relaties zijn de echte uitdaging.

Daar komt bij dat elk kanaal zijn eigen vocabulaire en verplichte velden heeft. Een schone bron met een vast vocabulaire maakt complexe mappings veel beheersbaarder. Hoe je die bron modelleert, staat in de gids over je productdata modelleren.

02. Een veld uit meerdere bronnen

Een veelvoorkomend patroon is het samenstellen van een kanaalveld uit meerdere bronvelden. Een productitel voor een kanaal bestaat bijvoorbeeld uit merk, type en een kenmerk, elk uit een eigen bronveld. De mapping voegt die samen in de juiste volgorde, met de juiste scheidingstekens.

Het aandachtspunt is volgorde: de samenstelling moet gebeuren voordat een eventuele afkap-rule draait, anders kap je het verkeerde stuk weg.

// rule: titel_opbouwen
titel = brand + " " + producttype + " " + kenmerk
titel = left(titel, 150)  // na het opbouwen

Over de juiste volgorde van rules gaat de gids over de rules-engine doorgronden.

03. Voorwaardelijke mapping

Soms hangt de juiste mapping af van een eigenschap van het product. Een kledingstuk krijgt een ander maatveld dan een schoen; een product uit categorie A wordt anders gecategoriseerd dan een product uit categorie B. Een voorwaardelijke mapping kiest de juiste vertaling op basis van een conditie.

Het patroon is steeds hetzelfde: een voorwaarde bepaalt welke regel van toepassing is. Door die voorwaarden netjes te ordenen, voorkom je dat ze elkaar in de weg zitten. De techniek van conditionele rules staat in conditionele rules.

04. Vertaaltabellen en vocabulaire

Voor het omzetten van waarden, zoals jouw kleurnamen naar de kleurwaarden die een kanaal verwacht, gebruik je een vertaaltabel: een vaste lijst die elke bronwaarde koppelt aan de juiste kanaalwaarde. Dat is overzichtelijker en betrouwbaarder dan losse rules per waarde.

Een vertaaltabel werkt alleen als je bron een vast vocabulaire heeft. Staan er in je bron drie schrijfwijzen voor dezelfde kleur, dan moet je die eerst opschonen. Dat opschonen aan de bron is de helft van het werk en betaalt zich bij elke mapping terug.

05. Een vangnet voor onbekende waarden

De gevaarlijkste mappingfout is de stille fout: een nieuwe waarde die niet in je vertaaltabel staat en daardoor onopgemerkt in een verkeerde of lege categorie belandt. Een goede mapping heeft daarom een vangnet dat onbekende waarden signaleert in plaats van ze door te laten glippen.

Zo merk je een gat in je mapping voordat het tot afkeuringen leidt. De aanpak van uitsluiten staat in uitsluitingen slim inrichten.

06. Mappings onderhoudbaar houden

Een mapping is nooit af: nieuwe producten, nieuwe waarden en nieuwe kanalen vragen om uitbreiding. De valkuil is om elke uitzondering als losse regel toe te voegen, tot niemand de mapping nog overziet. Houd hem onderhoudbaar door patronen te hergebruiken en keuzes te documenteren.

Een mapping die je over een halfjaar nog begrijpt, is een goede mapping. Test wijzigingen bovendien in een veilige omgeving voordat ze live gaan, zoals beschreven in de gids over feed-refresh en synchronisatie.

07. Zelf doen of uitbesteden?

Eenvoudige en herhaalde mappings doe je prima zelf, zeker als je de patronen uit deze gids herkent. Het wordt specialistisch bij echt complexe gevallen: veel kanalen met afwijkende eisen, ingewikkelde voorwaardelijke logica of een bron die eerst grondig opgeschoond moet worden.

Loop je vast op een hardnekkige mapping of wil je een complexe set in één keer goed laten neerzetten, dan helpt de feed-rules dienst met maatwerk. Voor een mapping die structureel fout uitpakt is er de audit en troubleshooting. Leg je geval voor via de contactpagina.

08. Veelgestelde vragen

Attribuut-mapping is het koppelen van een veld uit je shop aan het overeenkomstige veld op een kanaal, inclusief het vertalen van de waarden. Je shop noemt een veld misschien kleur met de waarde donkerblauw, terwijl het kanaal een veld color verwacht met de waarde blue. Mapping legt vast welk bronveld naar welk kanaalveld gaat en hoe de waarden worden omgezet.

Mappings worden complex wanneer de relatie niet een-op-een is. Een kanaalveld kan uit meerdere bronvelden moeten worden samengesteld, een bronwaarde kan afhankelijk van een voorwaarde anders gemapt worden, of dezelfde waarde betekent op het ene kanaal iets anders dan op het andere. Die een-op-veel en voorwaardelijke relaties maken mapping lastiger dan een simpele koppeling.

Door patronen herbruikbaar te maken in plaats van per product uitzonderingen te stapelen. Werk met een vast vocabulaire in je bron, los problemen op bij de oorzaak en documenteer waarom een mapping is zoals hij is. Een mapping die je over een halfjaar nog begrijpt, is een goede mapping; een wirwar van losse uitzonderingen wordt onhoudbaar.

Zorg dat je mapping een vangnet heeft voor onbekende waarden, zodat een nieuw producttype niet stilletjes in een verkeerde of lege categorie belandt. Het beste is om onbekende waarden te laten signaleren in plaats van ze onopgemerkt door te laten. Zo weet je wanneer je de mapping moet uitbreiden, voordat producten worden afgekeurd.


Verder in de kennisbank: Je productdata modelleren voor feeds: de complete gids · De rules-engine van Channable doorgronden: de complete gids · Feedproblemen oplossen: het complete handboek