In English

Du vil gerne lave avancerede AI/ML analyser på dine Google Analytics (GA)  data. Men GA har ikke selv noget AI/ML-modul. Derfor skal du trække alle dine GA data ud, så du kan analysere dem med et tredjeparts-værktøj – som Python, f.eks. Selve det at trække data ud af GA er dog også problematisk. Når du udtrækker data, leverer GA dem nemlig i en samplet, ikke-komplet, version. Og du kan ikke bruge samplede data, hvis du vil køre AI/ML analyser på dem. Du skal bruge det hele. Her viser vi hvordan dette kan lade sig gøre – ved at bruge Python til udtrække data med også. (For English, press here).

OBS: før du går videre, er der to vigtige ting, du skal have på plads: For det første, som jeg gennemgik i en tidligere blogpost, skal dine GA data beriges med to custom dimension, til føjer til et Client ID og et timestamp til dine GA-data. Dette vil gøre dig i stand til at køre ML/AI-algoritmer på dine data, lige så snart de er eksporteret.

For det andet skal du downloade Python, Anaconda og PyCharm (fra henholdsvis python.org, anaconda.com og jetbrains.com/pycharm) og installere de påkrævede pakker i Anaconda Prompt vinduet med følgende kommandoer.

Disse downloads og installationer sætter Python i stand til at connecte med Google Analytics API’et lige så snart en forbindelse er blevet etableret (hvordan du for det til at ske, gennemgår jeg lige om lidt).

Derudover giver PyCharm et velfungerende integreret udviklingsmiljø, hvor det er muligt at separere scripts i forskellige filer, som kan forbindes. I denne blogpost anvendes PyCharm til at strukturere arbejdsgangen.

Opret project i PyCharm

For at starte med at eksportere data fra Google Analytics, skal du først og fremmest oprette et projekt i PyCharm. I denne blogpost bliver projektet navngivet som “python_api” og en eksisterende interpreter som peger imod Anaconda directory’et anvendes.

Projektstrukturen i PyCharm gør dig i stand til at oprette separate filer, og linke disse til projektet for at overholde en passende struktur. Derfor oprettes fem separate filer med nedenstående navngivning:

  • requirements.txt (indeholder navnet på de påkrævede pakker)
  • credentials.py
  • connect.py
  • functions.py
  • run.py

Nu da projektet i PyCharm er klar til at blive fyldt med relevante kode, kan vi fortsætte videre til at sætte API’en op i Google Developers. Dette gør os i stand til at forbinde Python med Google Analytics.

Opret project i Google Developers

For at trække data ud af Google Analytics skal Python autentificeres gennem en samling adgangsnøgler. Det gør du i ni trin:

  1. Naviger til https://console.developers.google.com/ (dette kræver access gennem en Google konto med access til en relevant Google Analytics konto).
  2. Opret et nyt projekt fra ”Dashboard” menuen.
  3. Navngiv projektet. I denne blogpost bliver projektet navngivet som ”python_api” og ”No organization” vælges.
  1. Naviger fra venstre menu til ”Credentials”.
  1. Fra “Credentials” vælg da “OAuth consent screen”.
  1. Nedenfor “OAuth consent screen” skal “Application name” udfyldes med et relevant navn. I denne guide vælges ”python api” som application name. Derudover skal et ”Authorized domain” submittes. I denne guide vælges ”ecapacity.dk”. Herefter kan du gemme.
  2. Fra “Credentials” viewet vælg da ”Create credentials” og klik på “OAuth client ID”.
  1. Under “Application name” vælg da “Web application”. Herfra skal adskillige felter udfyldes. Først skal ”Name” submittes, hvilket i denne guide er ”python api”. Som ”Authorized JavaScript origins” anvender denne guide ”http://ecapacity.dk” og “http://ecapacity.dk/oauth2callback” vælges som ”Authorized redirect URIs”.
  1. Efter at du har oprettet, kommer en prompt frem med ”client ID” og et ”client secret”. Disse skal gemmes i ”credentials.py” filen i PyCharm sammen med øvrig information fra den næste del.

Forbind Python med Google Analytics

Vi er nu klar til at forbinde Python med Google Analytics hvilket gør os i stand til at eksportere data fra Google Analytics gennem API’en. Først skal “client ID”, “client secret” og “redirect URI” gemmes i credentials.py filen i PyCharm.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Disse credentials skal anvendes til at etablere forbindelsen med Google Analytics i nedenstående script, som skal indsættes direkte i ”connect.py” filen.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Næste del viser hvordan hvordan koden skal køres gennem PyCharm. Faktisk skal dette kun gøres når vi indledningsvist skal etablere forbindelsen.

Etabler forbindelse gennem PyCharm

Ovenstående script og credentials gør os i stand til at forbinde Google Analytics med Python for første gang. Først skal konfigurationen som kører connect.py filen sættes op.

Efter at have kørt dette script bliver en lang URL streng tilgængelig i konsollen som angivet på billedet nedenfor.

Efter at du har klikket på denne URL streng fremkommer et Google vindue som beder dig om at klikke på den relevante konto. Klik på denne konto.

Efter at have klikket på den relevante konto, skal du give samtykke. Dette vil forårsage et redirect til den angivne “redirect URI”.

På redirect siden kopier da strengen som følger ”code=”. Dette er en adgangnøgle, som sikrer at forudgående steps kun behøver at blive gennemført denne ene gang. Strengen indsættes som ”access_code” i ”credentials.py” filen

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her)

Herefter kan du køre “connect.py” filen endnu engang. Dette giver et output i konsollen. Den første linje indeholder et “access_token” og den anden linje indeholder en ”refresh_token”.

Disse skal også pastes i ”credentials.py” filen

Kør “connect.py” en sidste gang. Dette sikrer at de forudgående steps ikke behøver at blive gennemført igen, hvilket bekræftes af nedenstående kode i konsollen.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Fremadrettet bliver fremtidige dataudtræk således lettere at gennemføre, idet Python automatisk forbindes med Google Analytics. Den næste del viser, hvordan data trækkes ud af Google Analytics helt uden sampling.

Træk unsampled data ud af Google Analytics med Python

For at trække unsampled data fra Google Analytics med Python skal ”functions.py” filen først og fremmest udfyldes. Dette script identificerer automatisk hvordan data skal håndteres for at undgå sampling.

Nogle gange hænder det, at størrelsen på dit usamplede dataudtræk overskrider de begrænsninger, som Google har sat. I en anden post i denne serie, viser jeg hvordan du kan bypasse denne API-limit. Du kan downloade hele whitepaper’et “Google analytics, ML & AI”, herunder den fulde kode og bypass-API beskrivelse gratis lige her.

Hvis den datamængde du udtrækker er tilpas lille har du ikke noget problem og du kan fortsætte med at tilføje nedenstående script til ”functions.py” filen:

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

For at gøre brug af ovenstående funktion i forbindelse med at trække data ud af Google Analytics skal nedenstående script indsættes i ”run.py” filen.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Ovenstående script trækker data ud af Google Analytics for nogle prædefinerede datoer, view ID, metric og dimensioner, og adskiller sig ikke synderligt fra den data som er tilgængelig i Google Analytics’ interface, bortset fra at den er unsampled.

Når de to User ID og Hit Timestamps custom dimensions vi tidligere oprettede tilføjes til ovenstående request, bliver udtrækket dog virkeligt kraftfuldt. Tager du de to custom dimensions med i udtrækket, får du den ønskede komplette usamplede datamængde ud som hit level data, komplet med bruger ID’er, der gør dig istand til at analysere data på brugerniveau, og tidsstemplede, så du kan sætte de enkelte hit level data i rigtig rækkefølge.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Interessant nok gør ovenstående script event metric’en overflødig. For med scriptet får du ordnet data, så hver række i udtrækket repræsenterer hver sin event. Derfor indeholder scriptet også nogle få liniers kode, der excluder metric kolonnen.

Kilde: https://www.themarketingtechnologist.co/getting-started-with-the-google-analytics-reporting-api-in-python/

Gem til excel (eller .csv)

Det var det! Nu er du i stand til at trække alle dine værdifulde GA data og bruge dem til ML/AI formål. Med unsampled hit-level data med bruger ID’er, tidsstempler er du nu i stand til at analysere data, og bruge dem til at predictive formål – ikke bare til bagudrettet rapportering. Du har åbnet op for nye undersøgelsesmuligheder for f.eks. at forudsige, hvilke brugere som kommer til at churne, konvertere eller udføre andre handlinger, som er vigtige for dig og dit site. Tilmed kan du – hvis du er i stand til at fange kunde ID’et gennem f.eks. et login – kombinere dine analytics data med CRM data, og herved opnå endnu mere viden om hver enkelt kunde.

Et sidste råd før du går videre med anvendelsesdelen: Jeg foretrækker at lave en smule indledende dataanalyse i Excel inden jeg laver mine analyese-scripts i Python. For at gemme Python data frames som excel ark, kan du blot tilføje scriptet nedenfor til ”functions.py” filen.

Herefter skal du tilføje scriptet nedenfor til ”run.py” filen som refererer til scriptet i ”functions.py” filen.

Hele koden er tilgængelig i vores whitepaper ”Google analytics, ML og AI”. Du kan downloade whitepaper’et gratis lige her

Ved at køre “run.py” filen skaber du to excel ark i .xlsx format og .csv format

Hvis du vil vide mere om hvordan du kan bruge Python til at tilgå Google Analytics API’et, kan jeg anbefale Eric Driessens artikel her på themarketingtechnologist.

Og ovre på medium, har Bill Su har også en fin post, hvor han viser, hvordan man kan udtrække op til 9 dimensioner samtidig fra GA API’et.

Held og lykke med at analysere!

Træk selv dine unsampled data ud af Google Analytics – download whitepaper

Dette er den tredje blogpost som handler om hvordan data science gøres muligt på baggrund af dataudtræk fra den gratis version af Google Analytics. Du kan læse alle blogposts, herunder kodeeksempler og tjeklister gratis i vores whitepaper ”Google analytics, ML og AI”.Du kan downloade whitepaper’et gratis lige her.

In English