Monitorizați formularele din Managerul de etichete

Pentru a urmări formularele din Managerul de etichete Google, este mai bine să creați o etichetă de ascultare a formularului de trimitere. Cu condiția ca evenimentele să nu fie blocate de scripturi incompatibile. acesta va trece> egal gtm.formSubmit la stratul de date pentru prelucrare ulterioară.

Dacă acest subiect nu vă este cunoscut, citiți mai întâi conceptele de bază: urmărirea evenimentelor automate. macro-uri și reguli. Justin Cattoni a scris un articol excelent despre urmărirea evenimentelor automate, care au acoperit și conceptele de bază ale urmăririi formularului.

  1. Creați o etichetă nouă, cum ar fi Ascultați pentru a trimite formulare.
  • Setați regula de activare pentru eticheta "Toate paginile".
  • Monitorizați formularele din Managerul de etichete

    Puteți improviza aici. Nu este necesar să setați activarea pe toate paginile. În scopul optimizării, puteți seta activarea numai pe paginile cu formulare.

    Există, de asemenea, două funcții care pot fi activate sau dezactivate:

  • Verificați validarea. Dacă formularul nu trece verificarea erorilor (adică funcția de verificare va înceta să trimită formularul), eticheta nu este activată. Această funcție este utilă pentru a activa, cu excepția cazului în care există probleme cu formularele duplicate, cum ar fi atunci când se utilizează manageri de trimitere a formularului personalizat.

  • Eticheta ascultă-la-lista așteaptă ca formularul să fie trimis cu succes pe pagină. Imediat ce se întâmplă acest lucru, evenimentul GTM gtm.formSubmit este transmis la nivelul de date. Dacă aveți opțiunea de așteptare a etichetelor, toate etichetele asociate cu acest eveniment (în timpul specificat) vor fi activate mai întâi și numai atunci trimiterea va fi finalizată. După aceasta, puteți utiliza regula> egal gtm.formSubmit pentru toate etichetele care ar trebui să fie activate atunci când formularul este trimis.

    Este necesar începutul. Lone Ascultați pentru a trimite formulare. a cărei existență mizerabilă se reduce la așteptarea trimiterii formularului, este gata să-și îndeplinească îndatoririle impuse de administratorul sadic.

    2. Macrouri utile

    Lucrul bun și utilitatea managerului de etichete depind de modul în care utilizați macrocomenzile. Iată câteva macrocomenzi pe care le puteți găsi utile.

    Tipul macro: variabila automată a evenimentului
    Tipul variabilei: Element
    Descriere: Angreaza obiectele formate trimis

    Tipul macro: variabila automată a evenimentului
    Tipul variabilei: ID-ul articolului
    Descriere: Corectează valoarea ID-ului elementului DOM al formularului trimis.

    Tipul macro: variabila automată a evenimentului
    Tipul variabilei: URL-ul elementului
    Descriere: Corectează valoarea atributului ACTION al formularului trimis

    Oricare ar fi motivul, există modalități de a obține semnificația unui câmp particular de formă.

    Calea ușoară este de a crea o macrocomandă>. descrise în prima parte a articolului. Pentru a face acest lucru, este necesar ca câmpul din care doriți să preluați informațiile să aibă un ID unic, de exemplu, .

    Apoi, creați o nouă macrocomanda pentru tabelul de căutare în care puteți returna codul câmpului a cărui valoare doriți să o regăsiți, în funcție de faptul că utilizatorul se află pe o anumită pagină, dacă formularul are un ID specific și altele asemenea. Mai jos este un exemplu în care ID-ul câmpului depinde de ID-ul elementului formular DOM:

    Monitorizați formularele din Managerul de etichete

    Rețineți că [0] după funcții se referă la primul index al matricei. Prin urmare, dacă sunteți interesat de al doilea element de intrare, selectați [1]. dacă a treia, apoi [2] și așa mai departe.

    Primul element de intrare al formularului trimis:

    var inputField => .getElementsByTagName ("intrare") [0];

    Ca atribut NAME pentru primul element de intrare, luați "myInput" ():

    var inputField = document.getElementsByName ("myInput") [0];

    Ca atribut CLASS pentru primul element de intrare, luați ():

    var inputField = document.getElementsByClassName ("myInput") [0];

    4. Valoarea (valorile) listelor derulante

    Pentru a obține valoarea selectată în lista derulantă SELECT, aveți nevoie de o macrocomandă care va trece prin toate elementele OPTION din lista verticală și returnează cea care a fost marcată. Macroul utilizat a fost prezentat mai sus (>).

    Caracteristica casetelor de selectare este că există o mulțime de valori marcate. Aceasta înseamnă că, dacă doriți să trimiteți informații despre casetele selectate unui eveniment, va trebui să recurgeți la metodele descrise mai devreme pentru butoanele radio (PRO-way). Pentru a prelua valorile casetelor de selectare bifate, utilizați aceleași scenarii ca mai sus, numai pentru a accesa casetele de selectare în loc de

    Dacă doriți ca caseta de selectare selectată să fie o condiție pentru activarea etichetei GTM, de exemplu, dacă eticheta este activată, dacă formularul include un abonament pentru a trimite spam (informații despre reduceri),

    În cazuri extreme, puteți încerca să utilizați proprietăți mai puțin fiabile ale elementului DOM, cum ar fi previousSibling.innerText || previousSibling.textContent pentru a vedea ce text a precedat caseta de selectare (vedeți exemplul de mai sus, unde caseta de selectare selectată este condiția pentru activarea etichetei). Nu vom fi în detaliu, deoarece această metodă nu este "curată". Când vă conectați cu un obiect atât de fragil ca și conținutul textului, întotdeauna riscați să vă confruntați cu probleme.

    7. Un element de formă - multe forme (ASP.NET)

    Din cauza caracteristicilor platformei, lucrul cu paginile HTML este o frustrare, deoarece paginile create în mod dinamic depind în mare măsură de calitatea șablonului de pagină principală.

    Se întâmplă adesea ca întreaga pagină să fie închisă într-un element FORM. O astfel de wrapper de pagină ASPX este folosit pentru a crea conținut dinamic care va fi transmis complet în browser. Dar pentru controlor este o problemă. Dacă pe pagină există mai multe formule și, de cele mai multe ori, este dificil să se determine forma care a fost trimisă făcând clic pe buton. Faptul este că gtm.formSubmit este declanșat când conținutul elementului FORM este trimis și expedierea poate fi făcută din oricare dintre formele multiple de pe pagină.

    Soluțiile nu sunt cea mai bună opțiune, dar până acum nu există altă opțiune. Aș dori să pot trece prin istoria macro. Vreau să am acces la toate versiunile istoriei tuturor variabilelor de nivel de date! Dar până a venit această zi, trebuie să vă întoarceți la metodele descrise mai jos.

    Determinați formularul de care aveți nevoie dând clic pe clicuri

    Această metodă presupune ascultarea clicurilor pentru a determina butonul pe care a fost apăsat butonul și apoi aceste date sunt utilizate ca regulă pentru activarea unei blocări a etichetelor, care răspunde la trimiterea formularului. Aici sunt utilizate informațiile obținute în timpul verificării activării ascultării în Manager. Gtm.click este activat întotdeauna înainte de gtm.formSubmit.

    În acest exemplu, pe pagină există două formulare: câmpul de căutare site-ului cu ID-ul butonului de trimitere a siteSearchButton. și un formular de feedback cu ID-ul butonului sendSubmitButton.

    Mai întâi, trebuie să creați propria ta etichetă HTML, setată pentru activare la> gtm.click. Da, va trebui să ascultați în mod activ clicurile. Adăugați următorul cod:

    În cele din urmă, în eticheta evenimentului pentru a trimite o căutare pe site, va trebui să specificați următoarea regulă:

    Și în eticheta evenimentului pentru trimiterea formularului de feedback, aveți nevoie de această regulă:

    Această metodă funcționează, dar nu sunt sigur de fiabilitatea acesteia. Există întotdeauna posibilitatea ca numai eticheta gtm.click să fie activată sau numai eticheta de trimitere a formularului (din cauza unei erori sau a altceva), dar până acum nu au existat probleme speciale cu această metodă. Principalul său dezavantaj este că nu este atât de "frumos". Pentru a controla activarea etichetei principale, este necesară o etichetă intermediară, iar acest lucru e rău. Aș dori să sistematizez tot ceea ce este legat de evenimente utilizând numai etichetele principale, fără a fi nevoie să recurgeți la ajutorul instrumentelor auxiliare.

    Determinați utilizarea formularului dorit>

    O altă modalitate de a rezolva problema conținutului elementului FORM este de a verifica prezența textului în câmpul de formular. Dacă este textul, atunci acesta este forma trimisă. Nu veți începe să completați o singură formă, să mergeți dintr-o dată la alta și să o trimiteți goală? (Vă rog, spuneți nr.)

    Și ultimele două reguli.

    Această regulă activează eticheta când există text în câmpul de căutare al site-ului:

    Nu-mi place foarte mult această metodă, pentru că este dificil să-i păstrezi relevanța și în aplicația sa nu o poți numi fiabilă.

    Ca o concluzie, putem spune că în paginile ASPX este încă dificil să obținem rezultate fiabile ascultând formularul de prezentare a formularului GTM. Din fericire, dacă puteți spune acest lucru, în lucrul cu agenți de procesare a formularului ASPX - aceasta este cea mai mică problemă.

    8. Concluzie

    În acest post, există câteva modalități avansate de a utiliza funcția de ascultare pentru trimiterea etichetelor de etichetare Google Dispecer. Recent, au existat adesea întrebări despre extragerea valorilor, astfel încât accentul a fost pus pe acest aspect al colectării de date.

    Noi nu sunt scufundate în jungla handler formular personalizat, validatori jQuery, probleme de propagare eveniment și altele asemenea, pentru că aceste probleme sunt foarte limitate la un anumit scenariu, implementare sau pagina. Este suficient să spunem că dacă utilizați stivuitoare personalizate pentru a trimite, de exemplu, atunci trebuie să ceară dezvoltator pentru a edita script-uri, astfel încât un eveniment va trimite formularul a avut o șansă de a fi audiat de către dispecer (delegare eveniment a problemei).

    Distribuiți materialul cu prietenii și colegii

    127055,
    Str. Novoslobodskaya,
    61, p. 428018,
    Str. Nizhny Novgorod,
    6, clădirea 2