8 lecții pe care le-am învățat despre utilizarea Google Analytics la scară

La fel ca multe site-uri web, folosim Google Analytics pentru a urmări datele despre vizitatorii noștri și ce fac ei pe site-urile noastre. Cu toate acestea, Tuts + este un pic mai mare decât multe dintre aceste site-uri, iar la mărimea noastră, ne confruntăm cu câteva probleme care le folosesc. Iată ce am învățat să lucrez cu Google Analytics la scară.

1. Slicați datele într-un interval mai redus de date pentru a rezolva problemele de eșantionare

Google Analytics va returna doar 500.000 de rânduri de date pentru orice interogare pe care o trimiteți (cu câteva excepții). Dacă faceți o solicitare în cazul în care rezultatul acoperă mai mult decât această sumă de date, Google Analytics va lua o cerere probă de 500.000 de rânduri și să-l înmulțiți după cum este necesar.

De exemplu, dacă aveți cinci milioane de vizitatori în septembrie și cereți Google Analytics un raport privind locul în care acești vizitatori au venit de-a lungul lunii, Google Analytics va selecta 10% din datele pe care le are despre vizitatorii dvs. din septembrie, 10% dintre vizitatori au venit de la, și să înmulțească acele numere cu 10 pentru a genera raportul pe care vi-l oferă.

Acest tip de extrapolare este o tehnică statistică comună și o modalitate rezonabilă pentru ca Google să reducă timpul de procesare. Din păcate, din experiența mea, rapoartele rezultate pot fi înșelătoare sau pur și simplu greșite.

Soluția, pentru obținerea datelor exacte, este să cereți mai multe felii de date pe intervale de date mai scurte, apoi să le consolidați împreună. Continuând cu exemplul de mai sus: dacă aveți cinci milioane de vizitatori în septembrie, atunci aveți aproximativ 500.000 de vizitatori la fiecare trei zile. Aceasta înseamnă că, dacă efectuați zece interogări, fiecare solicitând date în valoare de trei zile, fiecare raportare pe trei zile pe care Google Analytics o oferă, veți fi complet dezampirată. Stitch-le înapoi împreună și aveți date neprevăzute pentru întreaga lună.

2. Aflați cum să utilizați API-ul

Interfața web Google Analytics este puternică și excelentă pentru a vă explora datele, a obține o idee grosolană despre numere sau pentru a partaja rapid un raport cu colegii. Cu toate acestea, împărțirea datelor în perioade mai scurte de timp, descărcarea și punerea lor înapoi prin intermediul interfeței web este o durere predispusă la consumul de timp în gât.

Este mult mai ușor să faci acest lucru prin API-ul Core Reporting. Exploratorul de interogări este o modalitate destul de prietenoasă de a începe să construiască interogări și este simplu să mergeți de acolo să prindeți date utilizând Python sau altă limbă de programare.

3. Stocați datele dvs. Google Analytics descărcate într-o bază de date actuală

Din moment ce trebuie să cusiți aceste felii de date împreună la nivel local, ar fi bine să le stocați într-un loc central unde să le puteți interoga și să le folosiți mai târziu. Folosesc o clonă a bazei de date Tuts + back-end, modificată pentru a adăuga tabele suplimentare pentru datele Google Analytics; acest lucru înseamnă că pot să împerechez datele de trafic cu articolul respectiv, mai degrabă decât cu adresa URL (ceea ce este important, deoarece URL-urile noastre canonice s-au schimbat de-a lungul anilor).

De asemenea, înseamnă că pot rula întrebări complexe cum ar fi "arătați cele 100 de postări cu cele mai multe afișări de pagină din ultima lună într-un anumit set de categorii" sau "obțineți cel mai popular post de la fiecare instructor care a publicat cel puțin cinci postări" . Este dificil să faceți acest lucru numai cu Google Analytics, deoarece nu înțelege noțiunile noastre de "categorie" sau "instructor". Un alt avantaj pentru a avea totul într-o singură bază de date este faptul că este mult mai ușor să o introduci în instrumente de analiză și vizualizare externă, cum ar fi Tableau.

4. Utilizați opiniile

În Google Analytics, fiecare vizualizare de raportare are o limită de 10.000 de solicitări API pe zi: de exemplu, numărul maxim de ori îl pot pinge pentru a obține anumite date prin API. Avem 18.000 de posturi în Tuts +, astfel încât obținerea de informații pentru fiecare separat dintr-o singură vizualizare ar dura două zile.

Ah, dar vizualizările trăiesc în interiorul unei proprietăți, iar fiecare proprietate are o limită totală de 50.000 de solicitări API. Așadar, proprietatea Tuts + este înființată cu un set de vizualizări, fiecare conținând toate informațiile despre trafic pentru un singur subiect (cum ar fi Code, Web Design și Business) și o vedere suplimentară care conține toate informațiile despre trafic pentru Tuts + ca întreg. În acest fel, putem interoga vizualizarea Cod atunci când dorim date despre postările de cod, vizualizarea Web Design atunci când dorim date despre postările Web Design și așa mai departe și să utilizăm cât mai bine limita 50.000 de interogări, în loc să fie limitate la 10.000.

5. Obțineți date largi, apoi restrângeți-o

Pentru această hartă interactivă, care a venit de la cititorii tutorialelor noastre traduse, a trebuit să descarcă statistici privind numărul de pagini pe țară pentru aproximativ 250 de postări, de la vârste de până la șase luni (o medie de aproximativ 100 de zile) felii - este un total de date de 25.000 de zile.

Am putut face 25.000 de interogări la Google Analytics, dar știu că: 

  • Unele postări nu au primit afișări de pagină în unele din acele zile. 
  • Spre deosebire de vizionările de pagini pe țară, "afișările generale ale paginilor" nu sunt niciodată prelevate.

Așa că am făcut o singură interogare la Google Analytics pentru fiecare dintre cele 250 de postări, solicitând afișările globale de pagină pentru fiecare zi în care postul a fost online. Apoi am făcut o altă interogare la Google Analytics pentru fiecare postare și pentru fiecare zi că postul a avut mai mult de zero afișări de pagină, solicitând afișări de pagină pe țară. Acest lucru a redus masiv numărul de interogări pe care trebuia să le fac în general, ceea ce sporea lucrurile și însemna că nu ard prin atât de mult din cota noastră Google Analytics API.

6. Folosiți Multithreading

Am constatat că durează de obicei cinci sau mai multe secunde pentru ca Google Analytics să returneze rezultatul unei singure interogări. Acest lucru înseamnă că efectuarea unei solicitări pentru fiecare dintre cele 18.000 de posturi, una după alta, durează mai mult de 24 de ore pentru procesare! De aceea le fac în paralel.

Google Analytics vă permite să trimiteți până la zece cereri API pe secundă, astfel încât să puteți trimite 50 de solicitări în cele cinci secunde necesare pentru a procesa primul dvs. Acest lucru înseamnă că cozile mari de cereri pot fi procesate de 50 de ori mai repede decât dacă ați făcut cererile în serie, ceea ce face o așteptare de 24 de ore într-o pauză de prânz.

7. Asigurați-vă că puteți lua unde ați rămas

Dacă (sau, mai degrabă, când) codul dvs. se blochează, conexiunea dvs. la Internet scade, veți utiliza toate alocațiile dvs. Google Analytics API sau altceva nu merge bine 90% din cale prin descărcarea unui set imens de date, nu doriți să trebuie să reporniți procesul de descărcare.

Asigurați-vă că salvați datele pe disc pe măsură ce le descărcați (mai degrabă decât să le stocați în memorie) și asigurați-vă că puteți săriți oriunde ați părăsit când începeți descărcarea din nou.

8. Decuplați codul care obține date din cererile dvs. specifice

Tocmai scriam un set complet nou de cod ori de câte ori aș fi dorit să solicit date pe care nu le-am cerut înainte, copiate și lipite de scripturile anterioare, dar acest lucru era limitat și inflexibil.

În cele din urmă, am codificat o soluție mai generală care ia în considerare toate lecțiile pe care le învățasem mai sus și care pot citi fișiere de definiție externe care specificau datele pe care doream să le descarc, cum ar fi acest exemplu pentru descărcarea datelor de afișare a paginilor pentru toate postările noastre:

"SQL": "SELECT id, slug, secțiune, earliest_date_requiring_data FROM posts ORDER BY earliest_date_requiring_data ASC", "Dimensiuni": "ga: date", "Metrics": "ga: =  /  / slug, "Slicing": "Whole", "View":  : afișări de pagină "," OutputFile ":" all_post_pageviews.csv "," StartDate ":" earliest_date_requiring_data "," EndDate ":" LastSunday

Bine, aceste fișiere nu sunt ușor de citit de oameni și ușor de utilizat, dar sunt destul de ușor de înțeles și de creat dacă aveți o bună prindere a API-ului Google Analytics și modul în care baza noastră de date este structurată. Aceasta înseamnă că pot să creez noi seturi de instrucțiuni fără a atinge codul care le execută și pot îmbunătăți codul de bază, fără să vă faceți griji despre dezordinea oricăror descărcări obișnuite de date.

Concluzie

Multe dintre aceste sfaturi se simt ca și cum ar descrie abordarea bunului simț atunci când mă uit la ei acum, și eu cu greu pot crede că nu am de manipulare descărcări de date noastre de acest fel tot timpul. Dar a luat multă încercare, eroare și frustrare pentru a ajunge la acest proces care funcționează pentru noi; Sper că prin împărtășirea ei pot ajuta pe altcineva să o ocolească.