Google Tag Manager een groot gevaar – denk na over nadelen!

Google Tag manager gevaarlijkHet grootste gevaar zit in het feit dat javascriptcode vanuit vanuit Google Tag Manager op de website geplaatst kan worden. In Google Tag Manager plaats je javascript codetags. En het is het de bedoeling dat deze codetags er voor zorgen dat  gegevens ingelezen worden ergens anders. Bijvoorbeeld statistiekgegevens over het aantal bezoekers op de website. De code tag moet dus in principe gegevens lezen, en doorgeven naar een andere tool.

Javascript is een programmeertaal. En daar kun veel meer me dan alleen gegevens lezen. In die taal kun je allerlei soorten functionaliteiten geprogrammeerd worden. En juist daarin schuilt het gevaar.

Kwade opzet

Er kunnen dus allerlei soorten javascript programma´s direct geplaatst worden. Het is mogelijk met die code de tekst op of de opmaak van de website te wijzigen. Er kunnen dus bijvoorbeeld rare teksten of niet kloppende prijzen geplaatst worden. Of het uiterlijk verandert zodat alles onleesbaar wordt. Of de knoppen en navigatie werkt niet meer. Verzin het maar, van alles is mogelijk. Ook het plaatsen van virus code is mogelijk.

Toch is kwade opzet niet het grootste probleem. Kwade opzet is meer een uitzondering. Maar het is wel belangrijk om goed om te gaan met loginnaam en wachtwoord van een Tag Management.  Zodat alleen medewerkers die geautoriseerd zijn code kunnen plaatsen.

Een groter probleem zijn fouten

Code tags regelen het inlezen van gegevens van de website die gebruikt worden voor marketing campagnes. Tag manager wordt beheerd door iemand van marketing. Daarmee wordt de verantwoordelijkheid van het plaatsen van code verplaatst van ICT of een webtechnisch persoon, naar iemand van marketing. Bij uitbesteding van marketing kan ook een extern marketing bedrijf deze mogelijkheid krijgen.

Wel of niet competent

Het plaatsen van code tags met speciale eisen kan complex worden. Wanneer een niet-technisch persoon javascript gaat plaatsen kunnen er problemen ontstaan. Code kan op allerlei plekken op een website ingrijpen. Bij plaatsing van code die op de website ingrijpt moet je daarom goed de technische werking van de website kennen. Zodat je de consequenties van de werking van de code kunt overzien.

Slordigheid bij kopiëren

Niet alleen fout geschreven code kan en probleem zijn. Slordig kopiëren van code kan ook problemen veroorzaken. Wanneer een stuk code niet meegenomen wordt. Of wanneer er juist te veel code gekopieerd en geplaatst wordt. Dat kan allerlei onverwachte effecten hebben. En een website volledig om zeep helpen.

google tag manager valkuil

Welke Google Tag Manager onderdelen zijn gevaarlijk?

Dat zijn onderdelen waarbij eigen javascript-code op de website geplaatst kan worden. Dit kan met:

  • Macro´s van het type Custom javascript
  • Custom HTML tag

Niet gevaarlijke onderdelen Google Tag Manager

  • Template tags. De andere tags werken met templates. In deze templates voer je standaard bedrijfseigen gegevens in. En geef je met knoppen eigen instellen aan. De javascript code wordt daarna automatisch automatisch aangemaakt.
  • Template macro´s. De andere macro´s werken ook met templates. En dienen om gegevens uit te lezen uit de website.
  • Regels. De regels zijn niet gevaarlijk. Want die werken binnen Tag Manager, en voegen geen code op de website toe.

Werkflow oplossing voor de gevaren

  1. Plaats de code tags eerst op de testomgeving. Die testomgeving moet een kopie zijn van de website die op internet draait. Vraag eventueel ook anderen te testen. Maak in Google Tag Manager voor de testwebsite een testcontainer. En plaats daarin eerst nieuwe tags.
  2. Gebruik de test en debug opties van Google Tag Manager voordat je de tag op de website publiceert.
  3. Controleer de website na het publiceren van de tag. Google Tag manager werkt met versies. Zie je een probleem, is het mogelijk om binnen een paar seconden terug te vallen op de vorige versie.
  4. Stem af met ICT dat nieuw geplaatste tags ook op de ontwikkel omgeving van de site geplaatst worden.

Een alternatief voor de verantwoordelijkheid van de laatste stap. Je kunt het publiceren bij ICT of de webprogrammeur neer te leggen. Dit kan afbreuk doen aan de snelheid van het invoeren van nieuwe tools voor marketing.

Oplossing: organiseer het gebruik Tag Manager

1. Workflow

Zorg altijd voor een veilige Workflow zoals hierboven beschreven.
Documenteer en maak annotaties in Google Analytics over wijzigingen. 

2. Template tags gebruiken

Maak alleen gebruik van tags en macro´s die templates hebben. Wanneer je alleen templates gebruikt zul je geen problemen krijgen.

Dit laatste met een klein voorbehoud. Want elke toevoeging van code kan potentieel een probleem oproepen. Zelfs een template code tag. Alleen staat dat los van Tag Manager. Door het werken met templates wordt juist de kans op problemen juist verkleint.

template tag google analytics event
Voorbeeld template Google Analytics event tag

Foute instellingen in ene template tags hebben als gevolg dat de Marketing geen of onjuiste gegevens in hun tool krijgt. Maar heeft voor de website bezoekers geen verdere gevolgen.

De verantwoordelijkheid voor het plaatsen van template tags kan door marketing uitgevoerd worden. Ook het wijzigen van instellingen binnen deze tags. Op voorwaarde dat een veilige workflow gevolgd wordt bij plaatsen en wijzigen van de template tags.

3. Javascript tags gebruik

Zorg altijd voor een veilige Workflow waarin gecontroleerd en getest wordt. En zorg bij het invoeren van HTML-tags en javascript macro´s voor extra beveiliging. Dit kan door :

  • Secuur werken en alleen met origineel aangeleverde code plaatsen
  • Is eigen code gewenst, laat deze maken door ICT of de webprogrammeur

Het beste is om eigen code altijd door de techneut te laten maken en testen. Het bedrijf kan zelf bepalen wie competent genoeg is voor het op de website publiceren van deze tags.

Google Tag Manager eigen macro
Voorbeeld Google Tag Manager eigen javascript macro

4. Organiseer veilig gebruikersbeheer

Google Tag Manager heeft twee lagen :
•    Account niveau. Beheren van het Tag manager account, Nieuwe containgers maken, gebruikersrechten beheren
•    Tag niveau. Maken, wijzigen, verwijderen en publiceren van Tags binnen één container

Het beheren van het account behoort bij ICT . Elke website heeft een eigen container. Voor nieuwe websites kan ICT containers maken en plaatsen.
Voor marketing is alleen toegang nodig tot de container(s) van de website(s) waarvoor marketing werkzaamheden verricht.

Bescherming wanneer je vooraf weet dat een tag de site verstoort

Soms is bekend dat bepaalde tags nooit op de website geplaatst mogen worden, omdat zij de website verstoren.  Het is technisch mogelijk de website hiertegen te beschermen. Daarvoor heeft Tag Manager een tag blacklist en whitelist functie.

whitelist- blacklist

De tag blacklist en whitelist functie is een  technische oplossing. Hiermee kun je de site beveiligen wanneer je niet wilt dat Google Tag Manager gebruikers in staat stelt om bepaalde tags toe te voegen aan de site. Dit werkt met een stukje code wat op de website geïnstalleerd wordt.

Wanneer whitelist gebruikt wordt  zal een tag of macro alleen werken wanneer ze in deze lijst staan. Wanneer blacklist gebruikt wordt zal een tag of macro alleen werken wanneer deze in niet in de blacklist staat. De blacklist gaat voor de whitelist wanneer een tag in beide lijsten staat.

Conclusie, wat is handig?

Marketing plaatst alleen template tags, voor andere tags ligt de verantwoording bij webtechnische medewerkers. Dat geeft een heldere afbakening, en weinig kans op problemen. (Afhankelijk van de technische expertise van de marketing medewerker(s) kan gekozen worden dit anders in te richten.)

Een goede workflow voor testen is altijd een voorwaarde. Zowel voor bij standaard template tags als bij niet template tags.

Zorg voor een veilig ingericht en toegekende gebruikersrechten op account en container niveau.

Gebruik een blacklist implementatie voor tags waarvan al bekend is dat ze problemen veroorzaken.

Voor iedereen moet de werkwijze duidelijk zijn. Bijvoorbeeld

  • Doorvoeren en testen op testwebsite
  • Test en debug op live website
  • Publiceren en controleren op live website

Daarnaast moet duidelijk zijn wie waarvoor verantwoordelijk is.

  • Wie is verantwoordelijk voor de configuratie van tags en macro´s
  • Wie testen er
  • Wie bepaalt dat alles goed werkt
  • Wie dat de tag gepubliceerd wordt op de website.
  • Wie of wat regelt dat ICT nieuwe tags ook geplaatst worden in de website ontwikkel omgeving
  • Wie controleert de website na doorvoeren op de website
  • Wie zorgt voor terugdraaien naar vorige versie bij signaleren van een probleem
  • Wie documenteert en wat moet worden gedocumenteerd

Templates in Tag Manager

Google Tag Manager ondersteunt al een hoop tags via a template:

  • Google Analytics
  • Universal Analytics (beta)
  • AdWords Conversion Tracking
  • AdWords Remarketing
  • DoubleClick Floodlight Counter
  • DoubleClick Floodlight Sales
  • Mediaplex – IFRAME MCT Tag
  • Mediaplex – Standard IMG ROI Tag
  • Marin Software
  • AdAdvisor
  • Bizo Insight
  • comScore Unified Digital Measurement
  • Media6Degrees Universal Pixel
  • ClickTale Standard Tracking
  • AdRoll Smart Pixel
  • Turn Conversion Tracking
  • Turn Data Collection
  • Turn Conversion Tracking

Er worden in Tag Manager regelmatig nieuwe templates toegevoegd.

Extra info over Javascript en javascript gevaren

Op zich is javascript een niet zo erg gevaarlijke programmeertaal. Het grijpt in op de voorkant van de website, dus hoe de bezoeker de opgehaalde website ziet op zijn computer. Het is wat dat betreft anders dan PHP wat ingrijpt en werkt op de server waar de website staat.

Voorbeeld video van gevaar van javascript

Ik vond een aardige video over het gevaar van javascript. Op een website kunnen invoervakken staan. Bijvoorbeeld om je naam, adres en telefoonnummer in te voeren. Dat is onschuldig. Want je vult daar gewoon tekst in. Maar wat doet een website wanneer je in een dergelijk vak javascript code invult? En daarna op de verstuur knop drukt? Wanneer de website programmeur dit niet goed beveiligt dan kan het gebeuren dat dit programma gaat werken. Dat wordt code-injectie genoemd.

code injectie Het idee in de video is wat te vergelijken met het Tag Manager probleem. Een invul vak waar dan ook op internet is daardoor een potentieel gevaar. Dit probleem is al jarenlang bekend. Daarom worden gegevens uit de invoervakken eerst door het programma gecontroleerd of er geen programmacode in zit. In ieder geval dat mag je van een goede programmeur verwachten.

Video : Cracking Websites with Cross Site Scripting

Plaats reactie

Je kunt de volgende HTML tags gebruiken:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>