Techblog: Soepele datakoppelingen met Mi8

We krijgen soms vragen van klanten en businesspartners hoe we koppelingen met databronnen - zoals CRM, ESP, ERP enzovoort -  tot stand brengen. De meeste marketeers en ICT-ers hebben ervaring met de problematische eigenschappen van koppelingen. Excelsheets waar 1 ‘komma verkeerd’ voor import problemen zorgt  en waar uren en nog eens uren aan verspild worden voordat een basis import gedaan kan worden. 

De Mi8 Marketing Cloud neemt al dat handwerk uit handen en verzorgt dat onderlinge data-verkeer tussen bron en marketing cloud 24/7 geautomatiseerd soepel verloopt.

In deze blog ga ik in op de werking van de import- en exportfuncties in de Mi8 en hoe we er zoveel mogelijk aan doen om de welbekende, ook bij mij bekende frustraties, weg te nemen. In "De filosofie van een open systeem" hieronder geef ik aan wat de overwegingen en uitgangspunten zijn van ons is rondom data koppelingen als basis voor ons marketing cloud systeem en het gebruikersgemak.

De filosofie van een open systeem
Mi8 is gebouwd met de bestaande ict-situatie bij de klant in gedachten. De Mi8 probeert niet alle mogelijke taken van andere softwarepakketten over te nemen maar juist aan te vullen op het gebied van marketing communicatie en automation. De Mi8 is daarom een open systeem. Alle data die in het systeem zit kan er zowel in als er ook weer uit. Deze data kan dus ook door andere softwarepakketten gebruikt worden. Hiermee versterken we het totale ICT landschap van een organisatie en bieden daar meerwaarde waar anderen achter blijven (vendor lock-in).

API Koppelingen
Mi8 heeft meerdere type API's beschikbaar. We hebben een REST API en een JSON API beschikbaar voor al onze klanten. Met deze API's kunnen realtime koppelingen tot stand gebracht worden van en naar andere software pakketten in het ICT landschap.De SOAP API is gericht op koppelingen waarbij data zoals contactpersonen en transacties worden gesynchroniseerd met onder andere CRM, ERP en boekhoud software.De JSON API is gericht op koppelingen met websites voor analytics en websitepersonalisatie.

Meestal zijn er weinig frustraties in het bedrijf bij het aanleggen van dit soort koppelingen. Omdat deze koppelingen door de leveranciers van de software tot stand gebracht worden. Immers dit vergt wel een hoge mate van technische kennis en development ervaring.

Import en Export
Mi8 heeft naast de API koppelingen ook geautomatiseerde Import en Export mogelijkheden voor koppelingen die niet noodzakelijk realtime hoeven te zijn maar wel regelmatig uitgevoerd moeten worden. Bijna alle softwarepakketten hebben een mogelijkheid om een export te doen naar csv en kunnen dan ook op een kosteneffectieve en simpele manier gekoppeld worden aan de Mi8.

Frustraties ontstaan veelal bij het aanleggen van deze soort koppelingen. Vaak koppelingen waarbij de mensen in het bedrijf - dat de software heeft aangeschaft - geacht worden die koppelingen zelf tot stand te brengen.

Mi8 neemt dat uit handen en ontzorgt hier de klant voor een groot deel omdat ook de aanleg van deze koppelingen begeleid wordt, maar ook omdat wij rekening houden met een situatie die niet ideaal is en daar vooraf op inspelen.

Ik heb persoonlijk meegemaakt dat bekende softwarepakketten, waarvan je toch echt mag verwachten dat die goed functioneren, de eigen export csv niet meer konden importeren omdat deze niet aan de voorwaarden voldeed. Onbegrijpelijk!

Scenario's
Er zijn een aantal scenario's waarop een import in een systeem kan stuk lopen door een onjuist opgebouwd .csv bestand.

Om van het ene software systeem naar het andere overgezet te kunnen worden ( "laten praten met elkaar") moet er gemeenschappelijke velden - namen gedefinieerd worden. Als het ware via de import vertaald worden naar het ontvangende systeem. Bijvoorbeeld inhoud uit "Kolom 1 naam bedrijf" moet terecht komen in "Naam bedrijf" Wat daarbij vaak fout gaat leg ik hieronder uit.

De kolommen in de exelsheet
Het aantal kolommen in de exelsheet is niet exact juist of kolommen hebben niet de exact juiste naam.

Te gemakkelijk wordt er door software developers van uitgegaan dat .csv bestand specifiek gemaakt wordt voor de import in hun systeem. Dit terwijl er aan de andere kant bij een export van een csv uit hun systeem altijd de kolommen gebruikt worden die in dat software pakket gebruikt worden. In de praktijk komt het er vaak op neer dat dat zelden het geval is.

Nog een ander probleem is dat er in een softwarepakket van uitgegaan wordt dat een import alleen maar gebruikte ( ingevulde) kolommen bevat. Ook dit is zelden het geval. Meestal worden er lege kolommen meegestuurd bij het wegschrijven als .csv bestand bestemd voor export.

In onze oplossing de Mi8 Marketing Cloud kun je aangeven per import welke velden gebruikt moeten worden en hoe ze moeten heten. Dit lost bij voorbaat het (miscommunicatie)probleem op dat een importbestand niet de exacte namen en kolommen heeft zoals in de Mi8 opgenomen en gedefinieerd.

Kolommen die niet in de lijst voorkomen worden simpelweg tijdens de Mi8 import genegeerd. Hierdoor kun je de csv in zijn geheel importeren ook al zijn er kolommen met een andere naam en zijn er kolomen die niet van toepassing zijn voor de import.

We hebben ook nagedacht over de communiactie qua output. Binnen de exportfunctie van de Mi8 kun je bij een export aangeven welke kolommen je wil exporteren en welke namen deze dan moeten hebben zodat je het .csv exportbestand vanuit de Mi8 moeiteloos kan importeren in een ander systeem.

De regels in de exelsheet
Hoe vaak komt het voor dat je een import .csv bestand hebt met vele, vele regels en er 2 niet juist zijn. Mijn ervaring is best vaak. De data in de regels is meestentijds door mensen ingevoerd in het systeem.  En daardoor ontstaaan menselijke foutjes zoals per ongeluk een enter ingeven. Een .csv bestand kan daar echter niet mee overweg.

Bijna altijd is het zo dat als een import .csv bestand ook maar 1 fout bevat de import in zijn geheel stuk loopt en mislukt. De filosofie hierachter is dat je er dan niet vanuit kan gaan dat de rest van de data in het bestand wel juist is. Die garantie is er sowieso niet! Als een medewerker per ongeluk data van twee kolommen omwisselt dan lijkt de import goed maar komt data op de verkeerde plaats terecht.

Dit soort problemen wordt vaak snel onderkend en een nieuwe import zet alles weer recht. Maar … dat vergt wel veel handwerk en zorgt voor veel frustatie.

Ons Mi8 systeem slaat alleen regels over die niet hetzelfde aantal kolommen telt als die van de kolomnamen. Alle regels die dan tijdens de import overgeslagen worden krijgt de gebruiker per regelnummer netjes te zien zodat die data gerepareerd kan worden. Hiermee zorgt de Mi8 er voor dat de geautomatiseerde processen zoveel mogelijk blijven functioneren en dat alleen echte vervelende issues die er zijn apart moeten worden opgelost. Een geautomatiseerd data-import proces stoppen omdat er zogenaamde "foute data" in staat kan behoorlijk wat gevolgen hebben dus met onze aanpak proberen we dat te voorkomen.

Flexibel
Door vanuit onze Mi8 filosofie te accepteren dat data vaak procesmatige foutjes bevat en hier flexibel mee om te gaan voorkomen we een hoop frustraties, gestopte bedrijfsprocessen en voorkomen we dus oplopende kosten.

Door ons te realiseren dat onze Mi8 Marketing Cloud niet het enige is in het ICT landschap van de klant en hier op in te spelen verrijken we niet alleen ons eigen softwarepakket maar leveren we een zinvolle bijdrage aan het totale landschap. Lees verder over ons product

Alcuin van Zijl | CTO zMerce 

Organisaties willen hun marketing effectiviteit verhogen door 1: 1 marketing. Hun data is echter verspreid over meerdere off- en online silo's en ze kunnen geen tijd en betaalbare methode vinden om bruikbare data te genereren.

MI8 Marketing heeft een gemakkelijk te implementeren, betaalbare manier om meerdere on- en offline datasets te combineren, analyseren en te verbeteren om succesvolle 1: 1 marketing te realiseren. 

De Mi8 Marketing Cloud is ontwikkeld voor de toekomst en is voorbereid op de Europese Verordening General Data Protection Regulation mei 2018. 

Contact ons

  • zMerce Amsterdam
    A-LAB
    Overhoeksplein 2
    1031KS Amsterdam 
  • +31 (0)622 82 36 77
  • info@zmerce.com
  • zMerce Berlijn
    Pappelallee 78/79
    10437 Berlin 
  • +49 3060 984 902 59
  • info.berlin@zmerce.com