CEDDL – De standaard marketing API van je website

Auteur
Sieger Veenstra
Datum

Wat is CEDDL?

Wat de specificatie zelf zegt is het volgende:

“This specification describes a method for surfacing customer experience digital data on a web or other digital resource as a JavaScript Object which can be used for communicating this data to digital analytics and reporting servers.”

We hebben het hier dus over een ontwerp van een JavaScript Object.

Dit object bevat zo ongeveer alles wat je nodig bent om een bezoek van een gebruiker aan je website te beschrijven. Denk hierbij aan:

  • Welke pagina bezoekt de gebruiker?
  • Welke componenten staan er op de pagina?
  • Welke interactie heeft de gebruiker met de pagina?
  • Welke producten bekijkt hij?
  • Wat zit er in zijn winkelmandje?
  • Wie is de gebruiker?

Hierbij een voorbeeld object waar de pagina en product informatie gevuld zijn.

CEDDL-De-standaard-marketing-API-van-je-website-json-example

De attributen in blauw geven namen aan die onderdeel zijn van de standaard. De in grijs gedrukte namen zijn uitbreidingen die geen onderdeel zijn van de standaard, je bent vrij om zelf naar behoefte elementen toe te voegen.

Wat kan je hier nu mee?

Voordat we deze vraag kunnen beantwoorden eerst een stapje terug. Bij de meeste websites die we tegenwoordig ontwikkelen bouwen we wel een koppeling met een Tag Management Systeem (TMS) in. Meestal is dat Google of Adobe Tag Manager, maar er zijn ook andere leveranciers.

Vaak wordt een TMS nog vooral gezien als oplossing om eenvoudig webanalytics (Google analytics of Adobe Analytics) te kunnen implementeren, maar je kunt er veel meer mee.

In eerste instantie kun je denken aan tags van advertentienetwerken (om conversies te meten of voor retargeting). Maar denk ook aan A/B test tools, enquêtes, ‘Voice of the customer’ tools waar de klant zijn mening over je website kan geven, chat, online help, etc.

Eigenlijk kun je bijna elke online marketing tool (as-a-service) wel via een TMS op een website integreren. Vorig jaar zijn er een aantal blogs verschenen waar gepleit wordt voor een nieuwe naam. In plaats van Tag Management Systeem moeten we het gaan hebben over ‘Marketing Middleware’. (Zie http://chiefmartec.com/2014/06/tag-management-software-marketing-middleware/)

Marketing Middleware?

Middleware is software om eenvoudige verschillende systemen aan elkaar te koppelen, denk bijvoorbeeld aan een message queue of een enterprise service bus. Een TMS vervult dezelfde rol: verschillende marketing tools aan je website koppelen (en eventueel ook aan elkaar).

De regels in je Tag Management Systeem hebben data nodig zodat ze weten wanneer ze moeten afvuren en om deze data door te geven aan de marketing tools. Bijv. je wilt een klant bij bepaalde producten een enquête tonen, nu moet het TMS wel weten welke producten de klant bekijkt.

Vaak lossen we dit probleem nu op door te gaan: ‘HTML scrapen’. We weten bijvoorbeeld dat de productnaam in een bepaalde <div> tag in de HTML te vinden is. Dit heeft als risico dat als de HTML veranderd er dingen om stuk kunnen gaan. En je kunt in principe ook alleen de data gebruiken die op het scherm staat. Ofwel dit is niet een erg robuuste koppeling.

(De eerder genoemde vergelijking met middleware komt hierin ook terug: Zo verkoopt bijv. IBM verschillende middleware producten om via ‘screen scraping’ data uit een mainframe applicatie te halen, als er een beter alternatief is wil je dit overigens ook niet gebruiken).

Data layer = API!

Hier komt de Data layer om de hoek kijken. De website stelt hiermee volgens een afspraak bepaalde data beschikbaar aan het TMS en de achterliggende systemen. Dit is dus eigenlijk een soort van API voor je website om je marketing tools op aan te sluiten.

Een koppeling via een API is natuurlijk veel robuuster en betrouwbaarder dan een koppeling via ‘HTML scraping’. Je kunt de website veranderen zonder risico dat de koppeling stuk gaat, zolang de data layer maar de afgesproken inhoud bevat.

De CEDDL spec is dus een standaard ontwerp hiervoor. Voorlopig zit het voordeel vooral in tijdbesparing bij het ontwerp. Je hoeft het wiel niet opnieuw uit te vinden, maar je kunt gewoon de standaard volgen.

In de toekomst kunnen Marketing tools dit formaat natuurlijk zelf gaan snappen. Een retargeting tag kan dan direct uitlezen welke producten de gebruiker bekeken heeft enzovoort.

Van wie komt CEDDL?

De CEDDL specificatie is opgesteld door de W3C Customer Experience Digital Data Community Group. Dit is een community groep binnen W3C. Deze specificatie heeft dus niet dezelfde status als een officiële W3C specificatie, maar de specificatie is wel opgesteld door (medewerkers van) leveranciers van webanalytics, tagmanagement en andere marketing tools, waaronder IBM, Google en Adobe.

De volledige 1.0 specificatie uit december 2013 is hier te vinden: http://www.w3.org/2013/12/ceddl-201312.pdf

Wat ontbreekt er nog?

Wat nog ontbreekt, is een eenvoudige manier om een CEDDL data layer te op te bouwen. Ik heb exact 0 libraries of componenten kunnen vinden die doen.

Dus ben ik zelf maar aan het knutselen gegaan: Ik ben bezig met een Java library met een fluent API om eenvoudig een CEDDL datalayer te kunnen genereren. Dit wordt kun je dan op de volgende manier gebruiken:

DigitalData dd = DigitalData.create()
    .pageInstanceId("MyHomePage-Production")
    .page()
    .pageID("Home Page")
    .destinationURL("http://mysite.com/index.html")
    .primaryCategory("FAQ Pages")
    .category("subCategory1", "ProductInfo")
    .category("pageType", "FAQ")
    .attribuut("country", "us")
    .attribuut("language", "en-US")
    .endPage();

Sinds het schrijven van dit artikel is de library inmiddels open source en te vinden op https://github.com/mirabeau-nl/ceddl4j.

Lees ook mijn artikel op Frankwatching Koppel online marketing tools aan je site: open-source component

Tags

Open-Source API Web analytics