ultima linie de JavaScript măsurare fragment adaugă un send
comanda ga()
comandă coadă pentru a trimite o pagină la Google Analytics:
ga('create', 'UA-XXXXX-Y', 'auto');ga('send', 'pageview');
obiectul La care se face trimitere este dispozitivul care a fost programată pentru crearea anterior linie de cod, și datele care se trimit datele stocate pe acel tracker.,acest ghid descrie diferitele moduri de a trimite date către Google Analytics și explică cum să controlați ce date sunt trimise.
accesări, tipuri de accesări și Protocolul de măsurare
când un tracker trimite date către Google Analytics, se numește trimitere de accesări și fiecare accesare trebuie să aibă un tip de accesare., Eticheta Google Analytics trimite o lovitură de tip pageview
; lovit alte tipuri includ screenview
, event
, transaction
, item
, social
, exception
și timing
. Acest ghid prezintă conceptele și metodele comune tuturor tipurilor de hit. Ghidurile individuale pentru fiecare tip de hit pot fi găsite în secțiunea măsurarea interacțiunilor comune ale utilizatorilor din navigarea din partea stângă.,
hit-ul este o cerere HTTP, constând din perechi de câmp și valoare codificate ca un șir de interogare, și trimise la Protocolul de măsurare.
Dacă aveți deschise instrumentele pentru dezvoltatori ale browserului dvs. atunci când încărcați o pagină care utilizează analize.js, puteți vedea accesările trimise în fila Rețea. Uita-te pentru cererile trimise la google-analytics.com/collect
.
ce date sunt trimise
când trimiteți un hit la Protocolul de măsurare, trackerele trimit toate câmpurile care sunt stocate în prezent și sunt parametri valizi ai protocolului de măsurare., De exemplu, în domenii cum ar fi title
și location
sunt trimise, dar cookieDomain
și hitCallback
nu sunt.în unele cazuri, doriți să trimiteți câmpuri către Google Analytics pentru accesările curente, dar nu și pentru accesările ulterioare. Un exemplu în acest sens este un eveniment lovit unde eventAction
și eventLabel
domenii relevante pentru actualul lovit numai.
pentru a trimite câmpuri doar cu atingerea curentă, le puteți transmite ca argumente la metoda send
., Pentru a trimite date de teren cu toate accesările ulterioare, ar trebui să actualizați tracker-ul folosind metoda set
.
trimite metodă
Un tracker e send
metodă poate fi numit direct de pe tracker obiect în sine sau prin adăugarea unui send
comanda ga()
comandă coadă. Deoarece de cele mai multe ori nu aveți o referință la obiectul tracker, folosind coada de comandă ga()
este modalitatea recomandată de a trimite date tracker către Google Analytics.,
Utilizarea ga() command queue
semnătura pentru a adăuga un send
comanda ga()
command queue este după cum urmează:
ga('send', , , );
după Cum sa menționat mai sus, valorile specificate prin în hitType
, ...fields
și fieldsObject
parametrii trimis de curent a lovit numai. Nu sunt stocate pe obiectul tracker și nici nu sunt trimise cu accesări ulterioare.,
Dacă oricare dintre câmpurile trecute cu comanda send
sunt deja setate pe obiectul tracker, valorile trecute în comandă vor fi utilizate mai degrabă decât valorile stocate pe tracker.
Apeluri la send
comandă trebuie să specificați un hitType și, în funcție de tipul specificat, alți parametri pot fi necesare, de asemenea. Consultați ghidurile individuale pentru măsurarea interacțiunilor comune ale utilizatorilor în navigarea din partea stângă pentru mai multe detalii.,
Cel mai simplu mod de a utiliza send
comandă, care funcționează pentru toți lovit tipuri, este de a trece toate domeniile folosind fieldsObject
parametru. De exemplu:
ga('send', { hitType: 'event', eventCategory: 'Video', eventAction: 'play', eventLabel: 'cats.mp4'});
Pentru comoditate, anumite lovit tipuri permite câmpuri utilizate în mod obișnuit pentru a fi trecut direct ca argumente send
comandă., De exemplu, cele de mai sus send
comandă pentru „evenimentul” a lovit tip ar putea fi rescrisă ca:
ga('send', 'event', 'Video', 'play', 'cats.mp4');
Pentru o listă completă a ceea ce domenii pot fi transmise ca argumente pentru diverse lovit tipuri, consultați „parametrii” secțiunea a trimite metodă de referință.
utilizarea unui tracker cu nume
Dacă utilizați un tracker cu nume în locul tracker-ului implicit, puteți trece numele acestuia în șirul de comenzi.,
următoarele send
comanda va fi numit pe tracker numit „myTracker”:
ga('myTracker.send', 'event', 'Video', 'play', 'cats.mp4');
Pe tracker obiect în sine
Dacă aveți o referință la obiectul de urmărire, puteți apela acel tracker e send
metoda direct:
ga(function(tracker) { tracker.send('event', 'Video', 'play', 'cats.mp4');});
Știind că atunci când a lovit a fost trimis
În unele cazuri, trebuie să știți atunci când un hit este gata de a fi trimise la Google Analytics, astfel încât să puteți lua măsuri imediat după aceea., Acest lucru este comun atunci când trebuie să înregistrați o anumită interacțiune care ar îndepărta un utilizator de pagina curentă. Multe browsere nu mai execută JavaScript de îndată ce pagina începe să se descarce, ceea ce înseamnă analiza dvs.js comenzi pentru a trimite hit-uri nu poate rula.un exemplu în acest sens este atunci când doriți să trimiteți un eveniment la Google Analytics pentru a înregistra că un utilizator a făcut clic pe butonul de trimitere al unui formular. În cele mai multe cazuri, făcând clic pe butonul de trimitere va începe imediat încărcarea paginii următoare și orice comenzi ga('send', ...)
nu vor rula.,soluția la acest lucru este de a intercepta evenimentul pentru a opri descărcarea paginii. Puteți trimite apoi hit-ul dvs. către Google Analytics, ca de obicei, și odată ce hit-ul este trimis, puteți retrimite formularul programatic.
hitCallback
Pentru a fi notificat atunci când un hit se face trimiterea, setați hitCallback
domeniu. hitCallback
este o funcție care devine numit de îndată ce lovit a fost trimis cu succes.,
următorul exemplu arată cum de a anula o formă prestabilită a prezenta acțiune, trimite o lovitură pentru Google Analytics, și apoi retrimiteți formularul folosind hitCallback
funcția:
Manipularea timeout
exemplul De mai sus funcționează bine, dar are o problemă serioasă. Dacă (din orice motiv) analiza.biblioteca js nu reușește să se încarce, funcția hitCallback
nu va rula niciodată. Și dacă funcția hitCallback
nu rulează niciodată, utilizatorii nu vor putea niciodată să trimită formularul.,
ori de câte ori introduceți funcționalitatea critică a site-ului în funcția hitCallback
, ar trebui să utilizați întotdeauna o funcție timeout pentru a gestiona cazurile în care analizele.biblioteca js nu reușește să se încarce.
exemplul următor actualizează codul de mai sus pentru a utiliza un timeout. Dacă trece o secundă după ce utilizatorul face clic pe butonul de trimitere și hitCallback
nu a rulat, formularul este retrimis oricum.
dacă utilizați modelul de mai sus în multe locuri de pe site-ul dvs., este probabil mai ușor să creați o funcție de utilitate pentru a gestiona timeout-urile.,
următoarea funcție de utilitate acceptă o funcție ca intrare și returnează o nouă funcție. Dacă funcția returnată este apelată înainte de perioada de expirare (timeout-ul implicit este de o secundă), aceasta șterge timeout-ul și invocă funcția de intrare. Dacă funcția returnată nu este apelată înainte de perioada de expirare, funcția de intrare este apelată indiferent.acum puteți împacheta cu ușurință toate funcțiile hitCallback
cu un timeout pentru a vă asigura că site-ul dvs. funcționează conform așteptărilor, chiar și în cazurile în care accesările dvs. nu reușesc să trimită sau analizele.biblioteca js nu se încarcă niciodată.,
specificarea diferitelor mecanisme de transport
în mod implicit, analytics.js alege metoda HTTP și mecanismul de transport cu care să trimită în mod optim accesări. Cele trei opțiuni sunt 'image'
(folosind un Image
object), 'xhr'
(folosind un XMLHttpRequest
obiect), sau 'beacon'
folosind noua navigator.sendBeacon
metoda.primele două metode împărtășesc problema descrisă în secțiunea anterioară (unde adesea nu sunt trimise accesări dacă pagina este descărcată)., Metoda navigator.sendBeacon
, prin contrast, este o nouă caracteristică HTML creată pentru a rezolva această problemă.
în Cazul în care browser-ul utilizatorului sprijină navigator.sendBeacon
, puteți specifica 'beacon'
ca transport
mecanism și nu trebuie să vă faceți griji despre stabilirea unui lovit de apel invers.
următorul cod stabilește mecanismul de transport la 'beacon'
în browserele care îl acceptă.
ga('create', 'UA-XXXXX-Y', 'auto');// Updates the tracker to use `navigator.sendBeacon` if available.ga('set', 'transport', 'beacon');
măsurarea anumitor tipuri de interacțiuni cu utilizatorul poate necesita uneori implementări complexe., Cu toate acestea, în multe cazuri, aceste implementări au fost deja dezvoltate și puse la dispoziție ca analize.plugin-uri js. Următorul ghid explică modul de utilizare a analizelor.plugin-uri js cu ga()
coada de comandă.