Direct la conținutul principal

Documentație GTM

Actualizat cu mai mult de 2 luni în urmă

Evenimente GA4 și GTM în procesele de programare online

Rezumat scurt

În timpul procesului de programare online, sistemul dispune de integrare GA4 și GTM. Evenimentele DataLayer sunt trimise cu atributele corespunzătoare pentru pașii principali. Înainte de fiecare eveniment, se efectuează o curățare cu următorul apel: `dataLayer.push({'event': 'cleanup', 'ecommerce': null});`.

Mai jos sunt prezentate circumstanțele de declanșare și exemplele de date trimise către DataLayer pentru fiecare eveniment.

Condiții prealabile

  • Integrarea GA4 și GTM este activată în sistem.

Pași

1. Alegerea specializării sau a specialistului

Evenimentul se declanșează atunci când utilizatorul alege o specializare sau un specialist din listă.

Date trimise:

  • item_name: Numele specializării sau al medicului

  • item_id: ID-ul specializării sau al medicului (string)

  • item_category: Tipul interfeței de selecție, ex. Selector specialist

  • index: Numărul rezultatului în listă (integer)

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'select_item',
'ecommerce': {
'items': [{
'item_name': 'Dr. Minta Ágnes', // Numele specializării sau al medicului
'item_id': '302194', // ID-ul specializării sau al medicului, string
'item_category': 'Selector specialist', // Tipul interfeței de selecție
'index': 1 // Poziția în listă, integer
}]
}
});

2. Afișarea listei de examinări după alegerea specializării

Evenimentul se declanșează când apare lista de examinări asociată specializării selectate.

Regulă în cazul unui preț unic:

  • Pentru o examinare cu preț unic, parametrul `price` nu este trimis.

  • Valoarea parametrului `custom_price` este `true` în acest caz.

Date trimise:

  • currency: HUF

  • elementele array-ului items:

  • item_name: Numele specializării

  • item_id: ID-ul examinării (string)

  • item_category: Numele specializării

  • price: Prețul examinării (double, doar dacă nu este preț unic)

  • custom_price: true, dacă este preț unic; false, dacă este preț fix

  • index: Numărul examinării în listă

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'view_item_list',
'ecommerce': {
'currency': 'HUF',
'items': [{
'item_name': 'Microscopie capilară, împreună cu examinarea dermatologică de bază', // Numele specializării
'item_id': '43622', // ID-ul examinării, string
'item_category': 'Dermatologie pediatrică', // Numele specializării
'price': '43900.00', // Prețul examinării, double (doar pentru preț fix)
'custom_price': false, // true pentru preț unic, altfel false
'index': 1
}]
}
});

3. Selectarea unei examinări

Evenimentul se declanșează când utilizatorul face clic pe o examinare specifică din listă.

Date trimise:

  • currency: HUF

  • array-ul items (cu o singură examinare), cu aceleași parametri ca în vizualizarea listei.

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'select_item',
'ecommerce': {
'currency': 'HUF',
'items': [{
'item_name': 'Microscopie capilară, împreună cu examinarea dermatologică de bază',
'item_id': '43622',
'item_category': 'Dermatologie pediatrică',
'price': '43900.00',
'custom_price': false,
'index': 1
}]
}
});

4. Afișarea paginii de selecție a programării

Evenimentul se declanșează când utilizatorul ajunge pe pagina care listează programările disponibile pentru medicul sau specializarea respectivă.

Date trimise:

  • currency: HUF

  • elementele array-ului items:

  • item_name: Numele specializării

  • item_id: ID-ul examinării (string)

  • item_category: Numele specializării

  • item_category2: Numele specializării

  • price: Prețul examinării (double, dacă nu este preț unic)

  • custom_price: Indicația prețului unic

  • doctor_id: ID-ul medicului (string)

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'view_item',
'ecommerce': {
'currency': 'HUF',
'items': [{
'item_name': 'Microscopie capilară, împreună cu examinarea dermatologică de bază',
'item_id': '43622',
'item_category': 'Dermatologie pediatrică',
'item_category2': 'Microscopie capilară, împreună cu examinarea dermatologică de bază',
'price': '43900.00',
'custom_price': false,
'doctor_id': '168159' // ID-ul medicului, string
}]
}
});

5. Apăsarea butonului "Rezervă" (inițierea procesului de finalizare)

Evenimentul se declanșează când utilizatorul inițiază finalizarea rezervării cu butonul "Rezervă".

Date trimise:

  • currency: HUF

  • elementele array-ului items:

  • item_name, item_id, item_category, item_category2: datele examinării

  • price, custom_price: datele prețului

  • doctor_id: ID-ul medicului (string)

  • item_variant: Data și ora programării în format ISO

  • location: Numele instituției

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'add_to_cart',
'ecommerce': {
'currency': 'HUF',
'items': [{
'item_name': 'Microscopie capilară, împreună cu examinarea dermatologică de bază',
'item_id': '43622',
'item_category': 'Dermatologie pediatrică',
'item_category2': 'Microscopie capilară, împreună cu examinarea dermatologică de bază',
'price': '43900.00',
'custom_price': false,
'doctor_id': '168159',
'item_variant': '2023-02-17T09:00:00+00:00', // Programarea selectată
'location': 'Numele instituției'
}]
}
});

6. Programare reușită

Evenimentul se declanșează când utilizatorul finalizează programarea și aceasta este înregistrată ca rezervare reușită.

Date trimise:

  • currency: HUF

  • value: Valoare finală cu taxe incluse (double)

  • tax: Conținutul taxei sau 0.00 (double)

  • transaction_id: ID tranzacție

  • coupon: Cod cupon sau șir gol

  • affiliation: Valoare actuală

  • items: Detaliile articolului rezervat (vezi mai jos)

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'purchase',
'ecommerce': {
'currency': 'HUF',
'value': '43900.00', // Valoare finală cu taxe incluse, double
'tax': 0.00, // Conținutul taxei sau 0.00, double
'transaction_id': '375a111f-4bab-4ec1-b7f6-f77bf84bdb0b', // ID tranzacție
'coupon': '', // Cod cupon sau șir gol
'affiliation': '', // Valoare actuală
'items': [{
'item_name': 'Numele specializării',
'item_id': '43622',
'item_category': 'Dermatologie pediatrică',
'item_category2': 'Microscopie capilară, împreună cu examinare dermatologică de bază',
'price': '43900.00',
'custom_price': false,
'doctor_id': '168159',
'item_variant': '2023-02-17T09:00:00+00:00',
'location': 'Numele instituției'
}]
}
});

7. Anularea unei programări

Evenimentul se declanșează atunci când utilizatorul își anulează programarea online.

Date trimise:

  • transaction_id: Identificatorul tranzacției rezervării anulate

Exemplu:

dataLayer.push({'event': 'cleanup', 'ecommerce': null});
dataLayer.push({
'event': 'refund',
'ecommerce': {
'transaction_id': '375a111f-4bab-4ec1-b7f6-f77bf84bdb0b'
}
});

8. Modificarea unei programări

Pașii necesari pentru modificarea unei programări:

  1. Trimiteți un eveniment `refund` cu valoarea `transaction_id` a rezervării originale.

  2. Trimiteți un nou eveniment `purchase` cu același `transaction_id`, dar cu parametrul `item_variant` modificat.

Modelele de evenimente `refund` și `purchase` de mai sus pot fi utilizate, înlocuind valoarea `item_variant` cu noua dată.

Sfaturi

  • Folosiți apelul de curățare: `{'event': 'cleanup', 'ecommerce': null}` înainte de fiecare eveniment pentru a șterge obiectul `ecommerce` anterior.

  • În cazul unei examinări cu preț personalizat, nu trimiteți câmpul `price` și setați valoarea `custom_price` la `true`.

  • Identificatorii (`item_id`, `doctor_id`, `transaction_id`) sunt de tip string.

  • `item_variant` este valoarea de dată-timp în format ISO a programării.

Rezumat

Sistemul trimite evenimente DataLayer compatibile cu GA4 pentru pașii procesului de programare online, cu o structură de date unificată. Pe baza exemplelor și descrierilor câmpurilor, etichetele și măsurătorile de evenimente pot fi configurate cu ușurință în GTM și GA4. Apelul `cleanup` înainte de fiecare eveniment asigură ștergerea datelor `ecommerce` anterioare.

Ați primit răspuns la întrebare?