Binnen Growteq hebben wij voor enkele van onze klanten de gegevens vanuit Google Analytics verwerkt in QlikView dashboards. Het maken van deze verbinding is complex, omdat Google gebruik maakt van OAuth 2.0 authenticatie en er nog een aantal stappen genomen moeten worden voordat de data bruikbaar is in QlikView.
OAuth 2.0 is een authenticatie technologie waarmee een zogenaamde ‘derde partij’ gegevens mag ophalen namens de eigenaar, oftewel de gebruiker. Uitgangspunt hierbij is dat deze derde partij niet in bezit komt van de gebruikersnaam en wachtwoord en dat de gebruiker expliciet toestemming geeft om namens hem gegevens op te halen.
In deze blog wordt met name beschreven hoe er om gegaan kan worden met de authenticatie. Hoe de gegevens van Google Analytics getoond kunnen worden in QlikView is te zien in het script wat onderaan de blog te downloaden is.
Authenticatie Doordat Google gebruik maakt van OAuth 2.0 Authenticatie, is er voor elke aanvraag van data een zogenoemde ‘token’ nodig. Deze token is echter maar één uur geldig en om deze token te vernieuwen is een refreshtoken nodig. Deze is te verkrijgen door ons te registreren als ‘derde partij’ en als eigenaar van de data toestemming te geven om als derde partij data van Google Analytics op te halen. Dit is een eenmalige actie, want zodra wij deze refreshtoken hebben kunnen we een QlikView script maken wat continue data uit Google Analytics kan laden.
Aanmelden als ‘derde partij’ voor het aanroepen van de Google API
Project aanmaken in Google Console In de console manager van Google moet er eerst een project aangemaakt worden. In dit project wordt namelijk de API aangezet en worden de ‘Client ID’ en ‘Client Secret’ gegeneerd.
Credentials aanmaken Nadat het project is aangemaakt verschijnt er een melding om gelijk de credentials aan te maken. Kies hier voor de opties zoals in de afbeelding hieronder en klik vervolgens op “What credentials do I need?”.
Geef een passende naam aan de OAuth 2.0 Client ID, de Restrictions kunnen leeg blijven. Klik vervolgens op “Create client ID”.
Kies vervolgens een mailadres en productnaam, klik hierna op “Continue”.
Nu is de wizard klaar, klik op “Done” en selecteer vervolgens het project in de “Credentials” pagina. Nu zijn de ClientID en ClientSecret zichtbaar, deze zijn nodig zodat de applicatie de data mag benaderen:
Als data-eigenaar de ‘derde partij’ machtigen voor het ophalen van gegevens De volgende stap is het machtigen van de ‘derde partij’, dat kan via deze link. Pas als eerste de ‘OAuth 2.0 configuration’ aan. Vink de optie ‘Use your own OAuth credentials’ aan en vul daar de juiste ‘Client ID’ en ‘Client Secret’ in.
Selecteer vervolgens bij stap 1 de Google Analytics API en klik vervolgens op ‘Authorize API’s’:
Vervolgens wordt er een scherm geopend waar gevraagd voor toestemming om de Google Analytics gegevens te bekijken, klik hier op ‘Toestaan’:
Ophalen van ‘Refresh token’ en ‘Acces token’ Als het goed is opent automatisch stap 2 en is er een Authorization code ingevuld. Nu kunnen de ‘Refresh token’ en ‘Acces token’ opgehaald worden.
Deel 2: Juiste data opvragen via de API
Middels deze link kan er een URL gegenereerd worden waarmee de data van Google Analytics op te vragen is. Hieronder wordt voor enkele velden kort beschreven wat ze inhouden:
Ids = De ID van het Google Analytics account waarvan de data opgevraagd wordt. Deze kan via de beheerpagina in https://analytics.google.com/ bij instellingen bekeken worden.
Start-date = Datum waar vanaf de data getoond wordt.
End-date = Datum waar tot de data opgevraagd wordt.
Max-results = Aantal rijen die maximaal worden opgehaald (maximaal 1000)
Start-Index = Nummer van de eerste rij
Deze gegevens hebben wij in het Qlikview script als variabele opgenomen zodat er gemakkelijk data voor een andere website of datumreeks kan opgevraagd worden.
Er is veel data te halen uit Google Analytics, enkele voorbeelden hiervan zijn:
Nieuwe bezoekers per dag
Gemiddelde tijd dat een bezoeker op de site is
Aantal betaalde bezoekers en waar deze vandaan komen
Op deze website is beschreven welke feiten en dimensies gebruikt kunnen worden. Ook is hier gelijk te zien of de data te combineren is, zodat er dwarsverbanden gelegd kunnen worden in de data.
Deel 3: Aanroepen API en data inladen in QlikView
Vernieuwen van de token Aangezien de token maar één uur geldig hebben wij in QlikView een script gemaakt die bij het laden van de data een nieuwe token ophaalt:
Juist tonen van de data
Om verbinding te maken is het handig om de REST Connector te downloaden in de ‘Qlik market’. Op deze manier kan er middels een wizard makkelijk de verbinding gemaakt worden.
Zoals in het QVW bestand te zien is hebben we met behulp van variabelen de connectie aangepast, zodat de parameters eenvoudig aangepast kunnen worden. Denk hierbij aan: