Siirry sisältöön

GTM-analytiikka-integraatio

Voit yhdistää minkä tahansa Google Tag Manager (GTM) -säiliön Winkiin syöttämällä sen GTM Container ID:n Wink-portaaliin. Kun säiliö on yhdistetty, se ladataan automaattisesti kiinteistöllesi ja lukee Wink:n varaus tapahtumat suoraan — kattaen koko vieraan matkan hausta varauksen vahvistamiseen. Yleinen käyttötapaus on Sojern-säiliö uudelleenmarkkinointiin ja mainontaan, mutta mikä tahansa GTM-säiliö toimii samalla tavalla.


  1. Hanki GTM Container ID

    Hanki GTM Container ID (muodossa GTM-XXXXXXX). Jos se tulee kumppanilta kuten Sojern, pyydä nimenomaan GTM Container ID — se eroaa pikseli- tai tagi-ID:stä.

  2. Syötä se Wink-portaaliin

    Kirjaudu sisään osoitteessa app.wink.travel, valitse tilisi ja avaa mukautusasetukset. Analytics & integrations -osiossa liitä GTM Container ID GTM Container ID -kenttään ja tallenna. Integraatiosi on nyt käytössä.

  3. Vahvista palveluntarjoajasi kanssa

    Jos säiliösi tulee kumppanilta kuten Sojern, ilmoita tilinhoitajallesi, että integraatio on aktiivinen. He voivat tarkistaa omalta puoleltaan, että tagit laukeavat oikein wink.travel-sivustolla kiinteistöllesi ja että tiedot virtaavat tilillesi.


Läpinäkyvyyden vuoksi tässä on, mitä Wink konfiguroi tämän integraation toimimiseksi:

  • GTM Container ID -kenttä on saatavilla Analytics & integrations -osiossa mukautusasetuksissasi. Kun syötät Container ID:n, Wink tarkistaa muodon (GTM-XXXXXXX) ja tallentaa sen turvallisesti kiinteistöllesi.
  • Jokaisella sivulla, jolla kiinteistösi on aktiivinen Winkissä, säiliösi upotetaan suoraan sivulle — jakamalla Wink:n oma window.dataLayer — joten se ladataan yhdessä Wink:n oman säiliön kanssa ilman lisäkonfiguraatiota. Tämä tapahtuu automaattisesti, ilman erillistä työtä Wink-tiimiltä.
  • Säiliösi ladataan asynkronisesti, joten se ei vaikuta sivun latausnopeuteen vieraillesi.
  • Wink:n oma seuranta ja säiliösi toimivat rinnakkain, lukien samaa jaettua dataLayer-kerrosta. Jokainen Wink:n seuraama varaus tapahtuma on samanaikaisesti saatavilla säiliöllesi.
  • Kun kiinteistöäsi ei katsota — esimerkiksi kun vieras selaa toista hotellia Winkissä — säiliötäsi ei ladata, joten se saa vain kiinteistöäsi koskevat tiedot.
  • Vahvistettu varaus (purchase) laukeaa selaimessa kiitos-sivulla. GTM Container ID on musta laatikko — Wink ei voi olettaa, mitä tageja siinä on — joten Wink ei koskaan kutsu Googlea palvelimiltaan puolestasi. Sen sijaan mikä tahansa GA4- tai konversiotagi säiliössäsi vastaanottaa purchase-tapahtuman asiakaspuolella, aivan kuten muutkin varaus tapahtumat. Koska maksupalveluntarjoaja ohjaa vieraan selaimen pois ja takaisin, Wink yhdistää analytiikkasession uudelleen, jonka uudelleenohjaus keskeytti ennen purchase-tapahtuman laukaisua, joten myynti kohdistuu vieraan alkuperäiseen vierailuun eikä uuteen sessioon.

Wink työntää GA4-yhteensopivia tapahtumia dataLayer-kerrokseen koko vieraan matkan ajan. GTM-säiliösi lukee tästä samasta jaetusta dataLayer-kerroksesta, joten kaikki määrittämäsi triggerit tai muuttujat pääsevät käsiksi alla kuvattuihin ominaisuuksiin.

Jokainen tapahtuma noudattaa GA4 Enhanced Ecommerce -rakennetta: ylin event-merkkijono ja ecommerce-objekti. Ennen jokaista push-toimintoa Wink tyhjentää edellisen ecommerce-payloadin estääkseen vanhentuneiden tietojen leviämisen uusiin triggereihin.


Nämä tapahtumat laukeavat automaattisesti, kun vieras etenee varausprosessissa. Määritä GTM-triggereiksi Custom Event -tyyppiset triggereitä, jotka vastaavat alla olevia tapahtumanimiä.

VaiheTapahtumaMilloin laukeaa
1view_item_listHotellin varausnäkymä tai lista latautuu
2view_itemVieras katsoo tiettyä kiinteistön sivua
3add_to_cartVieras lisää huoneen ostoskoriin
4begin_checkoutKassalle/maksusivulle siirrytään
5add_payment_infoVieras valitsee maksutavan
6loginVieras kirjautuu SSO:n kautta
7purchaseVahvistettu varaus
8refundVarauksen peruutus

Laukeaa, kun hotellin varausnäkymä tai lista renderöidään.

{
"event": "view_item_list",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}

Laukeaa, kun vieras katsoo tiettyä kiinteistöä.

{
"event": "view_item",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Laukeaa, kun vieras lisää huoneen ostoskoriin.

{
"event": "add_to_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}

Laukeaa, kun kassalle/maksusivulle siirrytään.

{
"event": "begin_checkout",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"items": [ ]
}
}

coupon on mukana vain, jos alennuskoodi on käytössä.


Laukeaa, kun vieras valitsee tai vahvistaa maksutavan.

{
"event": "add_payment_info",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"coupon": "SUMMER10",
"payment_type": "STRIPE",
"items": [ ]
}
}

payment_type täytetään maksun hankkijan tyypillä. coupon on mukana vain, jos alennuskoodi on käytössä.


Laukeaa, kun vieras kirjautuu sisään single sign-on -menetelmällä.

{
"event": "login",
"ecommerce": {
"method": "IAM"
}
}

Laukeaa, kun varaus vahvistetaan.

{
"event": "purchase",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [
{
"item_id": "rr-xyz789",
"item_name": "Deluxe Ocean Suite",
"item_brand": "Grand Resort",
"item_category": "GUEST_ROOM",
"price": 299.00,
"quantity": 1,
"property_id": "prop-abc123",
"property_name": "Grand Resort Maldives",
"property_brand": "Grand Collection",
"property_chain": "Luxury Hotels International",
"city_name": "Malé",
"country_code": "MV",
"start_date": "2026-06-01",
"end_date": "2026-06-05",
"num_adults": 2,
"num_children": 0,
"cancellation_policy": "Refundable",
"rate_plan_id": "rp-summer2026",
"room_rate_id": "rr-xyz789",
"room_rate_name": "Summer Escape — Bed & Breakfast",
"num_perks": 2,
"room_location": "Overwater",
"room_view": "Ocean",
"room_classification": "Suite"
}
]
}
}

transaction_id on varauksen yksilöllinen sopimusnumero. coupon, shipping ja tax ovat mukana vain, jos sovellettavissa.


Laukeaa, kun varaus peruutetaan.

{
"event": "refund",
"ecommerce": {
"currency": "USD",
"transaction_id": "bc-a1b2c3d4",
"value": 299.00,
"coupon": "SUMMER10",
"shipping": 0.00,
"tax": 0.00,
"items": [ ]
}
}

transaction_id vastaa samaa purchase-tapahtumaa kyseiselle varaukselle. coupon, shipping ja tax ovat mukana vain, jos sovellettavissa.


Kaikilla tapahtumilla, jotka sisältävät items-taulukon, on sama tuoteskeema. Jokainen ominaisuus on valinnainen, ellei toisin mainita.

Nämä kentät ovat GA4:n natiivisti ymmärtämiä ja näkyvät vakio-ecommerce-raporteissa ilman lisäkonfiguraatiota.

OminaisuusTyyppiPakollinenKuvaus
item_idstringKylläHuoneen tai tuotteen yksilöllinen tunniste
item_namestringHuoneen tai tuotteen nimi
affiliationstringKumppani- tai myyjän nimi
couponstringTuotteeseen sovellettu kuponkikoodi
currencystringISO 4217 valuuttakoodi (esim. USD)
creative_namestringKampanjan luova nimi
creative_slotstringKampanjan luovan paikkatieto
discountnumberSovellettu alennusmäärä
indexnumberSijainti listalla (1-pohjainen)
item_brandstringHotelli tai tuotemerkki
item_categorystringTuotetyyppi — esim. GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA
item_list_idstringListan tunniste, johon tuote kuuluu
item_list_namestringListan näyttönimi
location_idstringKiinteistön maantieteelliset koordinaatit
pricenumberYksikköhinta
promotion_idstringKampanjan tunniste
promotion_namestringKampanjan näyttönimi
quantitynumberMäärä (oletus 1)

Nämä parametrit sisältävät Wink-spesifin varauskontekstin. GA4 ei automaattisesti näytä niitä raporteissa — sinun tulee rekisteröidä jokainen item-scoped custom dimension GA4-omaisuuteesi ennen kuin ne näkyvät tutkimuksissa tai vakioraporteissa. Katso Custom Dimensions in GA4 alla asennusohjeet.

OminaisuusTyyppiKuvaus
property_idstringWink-kiinteistön tunniste
property_namestringKiinteistön näyttönimi
property_brandstringKiinteistön brändi
property_chainstringKiinteistöketju
property_url_namestringKiinteistön URL-ystävällinen tunniste
city_namestringKiinteistön kaupunki
country_codestringISO 3166-1 alpha-2 maatunnus
start_datestringSaapumispäivä muodossa YYYY-MM-DD
end_datestringLähtöpäivä muodossa YYYY-MM-DD
num_adultsnumberAikuisten määrä varauksessa
num_childrennumberLasten määrä varauksessa
cancellation_policystringYksi seuraavista: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions
rate_plan_idstringHintasuunnitelman tunniste
room_rate_idstringTietyn huonehinnan tunniste
room_rate_namestringHuonehinnan näyttönimi
num_perksnumberHintaan sisältyvien etujen määrä
room_locationstringHuoneen sijaintikuvaus (esim. Overwater, Garden)
room_viewstringHuoneen näkymäkuvaus (esim. Ocean, City)
room_classificationstringHuoneen luokitus tai taso (esim. Suite, Standard)
bed_typestringHuoneen vuodejärjestely (esim. King, Twin)

GA4 jättää huomiotta item-tason mukautetut parametrit raporteissa, kunnes rekisteröit ne nimenomaan item-scoped custom dimensioneiksi. Sinun tarvitsee rekisteröidä vain ne parametrit, joita aiot käyttää raporteissa — kaikkia 20 ei tarvitse rekisteröidä.

  1. Avaa Custom Definitions

    GA4:ssa siirry kohtaan Admin (vasen alakulman rataskuvake) → valitse oma omaisuus → Data displayCustom definitions.

  2. Luo uusi custom dimension

    Klikkaa Create custom dimensions.

  3. Täytä dimension tiedot

    • Dimension name — ihmisen luettava nimi, joka näkyy GA4-raporteissa (katso alla oleva taulukko)
    • Scope — valitse Item
    • Event parameter — tarkka parametri nimi, kuten dataLayerissa (katso alla oleva taulukko)
    • Description — valinnainen mutta suositeltava
  4. Tallenna ja toista

    Klikkaa Save ja toista jokaiselle seurattavalle parametrille.

Käytä alla olevaa taulukkoa viitteenä custom dimensionien luomisessa. Event parameter -arvon on oltava täsmälleen sama — GA4 on kirjainkoolla herkkä.

Dimensionin nimiEvent parameterTyyppi
Kiinteistön IDproperty_idTeksti
Kiinteistön nimiproperty_nameTeksti
Kiinteistön brändiproperty_brandTeksti
Kiinteistöketjuproperty_chainTeksti
Kiinteistön URL-nimiproperty_url_nameTeksti
Kaupungin nimicity_nameTeksti
Maatunnuscountry_codeTeksti
Saapumispäivästart_dateTeksti
Lähtöpäiväend_dateTeksti
Aikuisten määränum_adultsNumero
Lasten määränum_childrenNumero
Peruutusehdotcancellation_policyTeksti
Hintasuunnitelman IDrate_plan_idTeksti
Huonehinnan IDroom_rate_idTeksti
Huonehinnan nimiroom_rate_nameTeksti
Etujen määränum_perksNumero
Huoneen sijaintiroom_locationTeksti
Huoneen näkymäroom_viewTeksti
Huoneen luokitusroom_classificationTeksti
Vuodetyyppibed_typeTeksti

Seuraavat tapahtumat ovat saatavilla Wink:n dataLayerissa, mutta ne eivät kuulu vakio-varausputkeen. Ne voivat laueta muista vuorovaikutuksista alustalla.

{
"event": "add_to_wishlist",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "remove_from_cart",
"ecommerce": {
"currency": "USD",
"value": 299.00,
"items": [ ]
}
}
{
"event": "select_item",
"ecommerce": {
"item_list_id": "featured_hotels",
"item_list_name": "Featured Hotels",
"items": [ ]
}
}
{
"event": "view_cart"
}

Tässä tapahtumassa ei ole ecommerce-objektia.

{
"event": "view_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "select_promotion",
"ecommerce": {
"creative_name": "Summer Banner",
"creative_slot": "hero",
"promotion_id": "promo_001",
"promotion_name": "Summer Sale",
"items": [ ]
}
}
{
"event": "search",
"ecommerce": {
"search_term": "beachfront resort"
}
}
{
"event": "select_content",
"ecommerce": {
"content_type": "hotel",
"content_id": "prop_12345"
}
}
{
"event": "share",
"ecommerce": {
"method": "copy_link",
"content_type": "hotel",
"item_id": "prop_12345"
}
}
{
"event": "sign_up",
"ecommerce": {
"method": "email"
}
}
{
"event": "generate_lead",
"ecommerce": {
"currency": "USD",
"value": 0.00
}
}
{
"event": "join_group",
"ecommerce": {
"group_id": "group_abc"
}
}
{
"event": "earn_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 100
}
}
{
"event": "spend_virtual_currency",
"ecommerce": {
"virtual_currency_name": "WinkPoints",
"value": 50,
"item_name": "Room Upgrade"
}
}
{
"event": "level_start",
"ecommerce": {
"level_name": "Gold"
}
}
{
"event": "level_end",
"ecommerce": {
"level_name": "Gold",
"success": true
}
}
{
"event": "level_up",
"ecommerce": {
"level": 2,
"character": "traveler"
}
}
{
"event": "post_score",
"ecommerce": {
"score": 980,
"level": 2,
"character": "traveler"
}
}
{
"event": "unlock_achievement",
"ecommerce": {
"achievement_id": "first_booking"
}
}
{
"event": "tutorial_begin",
"ecommerce": {}
}
{
"event": "tutorial_complete",
"ecommerce": {}
}

Tämä on Wink-spesifinen tapahtuma — ei osa GA4:n vakiosettiä. Se pusketaan jokaisella sivunavigoinnilla ja sisältää laitteen ja session kontekstin. Se ei sisällä ecommerce-objektia.

{
"event": "virtualPageView",
"device": "Desktop",
"deviceAgent": "Mozilla/5.0 ...",
"os": "MacOS",
"path": "/hotels/grand-resort",
"title": "Grand Resort — Wink",
"userId": "user_abc123",
"startDate": "2026-06-01",
"endDate": "2026-06-05",
"guests": "2",
"rooms": "1"
}
OminaisuusKuvaus
deviceHavaitun laitteen tyyppi — Desktop, Android, iPhone, iPad tai vastaava
deviceAgentRaaka user agent -merkkijono
osHavaittu käyttöjärjestelmä — Windows, MacOS, Linux, UNIX
pathNykyisen sivun polku
titleNykyisen sivun otsikko
userIdTunnistettu käyttäjätunniste (pois jätetty, jos ei kirjautunut)
startDateSaapumispäivä nykyisestä hakusessiosta
endDateLähtöpäivä nykyisestä hakusessiosta
guestsVieraiden määrä nykyisessä hakusessiosta
roomsHuoneiden määrä nykyisessä hakusessiosta