GTM एनालिटिक्स इंटीग्रेशन
आप किसी भी Google Tag Manager (GTM) कंटेनर को Wink से कनेक्ट कर सकते हैं, बस उसके GTM कंटेनर ID को Wink पोर्टल में दर्ज करके। कनेक्ट होने के बाद, आपका कंटेनर आपके प्रॉपर्टी के लिए स्वचालित रूप से लोड होता है और Wink की बुकिंग इवेंट्स को सीधे पढ़ता है — जो खोज से लेकर पूरी बुकिंग तक के मेहमान की पूरी यात्रा को कवर करता है। एक सामान्य उपयोग मामला है Sojern कंटेनर रिटारगेटिंग और विज्ञापन के लिए, लेकिन कोई भी GTM कंटेनर इसी तरह काम करता है।
आपको क्या करना है
Section titled “आपको क्या करना है”-
अपना GTM कंटेनर ID प्राप्त करें
अपना GTM कंटेनर ID (फॉर्मेट
GTM-XXXXXXX) प्राप्त करें। यदि यह Sojern जैसे पार्टनर से आता है, तो विशेष रूप से GTM कंटेनर ID मांगें — यह पिक्सेल या टैग ID से अलग होता है। -
इसे Wink पोर्टल में दर्ज करें
app.wink.travel में लॉग इन करें, अपना अकाउंट चुनें, और अपनी कस्टमाइज़ेशन सेटिंग्स खोलें। Analytics & integrations सेक्शन में, अपने GTM कंटेनर ID को GTM कंटेनर ID फ़ील्ड में पेस्ट करें और सेव करें। आपकी इंटीग्रेशन अब लाइव है।
-
अपने प्रदाता से पुष्टि करें
यदि आपका कंटेनर Sojern जैसे पार्टनर से आता है, तो अपने अकाउंट मैनेजर को बताएं कि इंटीग्रेशन सक्रिय है। वे अपने पक्ष से सत्यापित कर सकते हैं कि
wink.travelपर आपके प्रॉपर्टी के लिए टैग सही ढंग से फायर हो रहे हैं और डेटा आपके अकाउंट में आ रहा है।
Wink हमारी तरफ क्या करता है
Section titled “Wink हमारी तरफ क्या करता है”पारदर्शिता के लिए, यहां बताया गया है कि Wink इस इंटीग्रेशन को काम करने के लिए क्या कॉन्फ़िगर करता है:
- एक GTM कंटेनर ID फ़ील्ड आपकी कस्टमाइज़ेशन सेटिंग्स के Analytics & integrations सेक्शन में उपलब्ध है। जब आप अपना कंटेनर ID दर्ज करते हैं, तो Wink फॉर्मेट (
GTM-XXXXXXX) को मान्य करता है और इसे आपके प्रॉपर्टी के खिलाफ सुरक्षित रूप से संग्रहीत करता है। - Wink पर आपके प्रॉपर्टी के सक्रिय होने वाले हर पेज पर, आपका कंटेनर सीधे पेज में इंजेक्ट किया जाता है — Wink के अपने
window.dataLayerको साझा करते हुए — ताकि यह Wink के अपने कंटेनर के साथ बिना किसी अतिरिक्त कॉन्फ़िगरेशन के लोड हो जाए। यह स्वचालित रूप से होता है, Wink टीम की ओर से किसी प्रॉपर्टी-विशिष्ट काम के बिना। - आपका कंटेनर असिंक्रोनस रूप से लोड होता है, इसलिए यह आपके मेहमानों के लिए पेज-लोड प्रदर्शन को प्रभावित नहीं करता।
- Wink का अपना ट्रैकिंग और आपका कंटेनर समानांतर चलते हैं, जो एक ही साझा
dataLayerसे पढ़ते हैं। Wink द्वारा ट्रैक किए गए हर बुकिंग इवेंट को आपके कंटेनर को भी एक साथ उपलब्ध कराया जाता है। - जब आपका प्रॉपर्टी देखा नहीं जा रहा होता है — उदाहरण के लिए, जब कोई मेहमान Wink पर किसी अन्य होटल को ब्राउज़ कर रहा होता है — तो आपका कंटेनर लोड नहीं होता, इसलिए यह केवल आपके प्रॉपर्टी से संबंधित डेटा प्राप्त करता है।
- पूरा हुआ बुकिंग (
purchase) धन्यवाद पेज पर ब्राउज़र में फायर होता है। GTM कंटेनर ID एक ब्लैक बॉक्स है — Wink यह अनुमान नहीं लगा सकता कि इसके अंदर कौन से टैग हैं — इसलिए Wink अपने सर्वर से Google को कभी कॉल नहीं करता। इसके बजाय, आपके कंटेनर में जो भी GA4 या कन्वर्ज़न टैग होता है, वह क्लाइंट-साइडpurchaseप्राप्त करता है, ठीक वैसे ही जैसे अन्य बुकिंग इवेंट। क्योंकि भुगतान प्रदाता मेहमान के ब्राउज़र को दूर और वापस रीडायरेक्ट करता है, Wink उस एनालिटिक्स सेशन को फिर से जोड़ता है जिसे रीडायरेक्ट ने बाधित किया थाpurchaseफायर करने से पहले, ताकि बिक्री मेहमान के मूल विज़िट को गिना जाए न कि एक नए सेशन के रूप में।
DataLayer संदर्भ
Section titled “DataLayer संदर्भ”Wink पूरे मेहमान की यात्रा के दौरान GA4-संगत इवेंट्स को dataLayer में पुश करता है। आपका GTM कंटेनर इसी साझा dataLayer से पढ़ता है, इसलिए आप जो भी ट्रिगर या वेरिएबल कॉन्फ़िगर करते हैं, उसे नीचे वर्णित सभी प्रॉपर्टीज़ तक पहुंच मिलती है।
हर इवेंट मानक GA4 एन्हांस्ड ईकॉमर्स संरचना का पालन करता है: एक शीर्ष-स्तरीय event स्ट्रिंग और एक ecommerce ऑब्जेक्ट। हर पुश से पहले, Wink पिछले ईकॉमर्स पेलोड को साफ़ करता है ताकि पुराना डेटा नए ट्रिगर्स में न घुले।
बुकिंग यात्रा इवेंट्स
Section titled “बुकिंग यात्रा इवेंट्स”ये इवेंट्स स्वचालित रूप से तब फायर होते हैं जब कोई मेहमान बुकिंग फनल में आगे बढ़ता है। अपने GTM ट्रिगर्स को नीचे दिए गए इवेंट नामों से मेल खाते Custom Event ट्रिगर के रूप में कॉन्फ़िगर करें।
| चरण | इवेंट | कब फायर होता है |
|---|---|---|
| 1 | view_item_list | होटल इन्वेंटरी ग्रिड या सूची लोड होती है |
| 2 | view_item | मेहमान किसी विशिष्ट प्रॉपर्टी पेज को देखता है |
| 3 | add_to_cart | मेहमान शॉपिंग कार्ट में एक कमरा जोड़ता है |
| 4 | begin_checkout | चेकआउट / भुगतान पेज लोड होता है |
| 5 | add_payment_info | मेहमान भुगतान विधि चुनता है |
| 6 | login | मेहमान SSO के माध्यम से प्रमाणित होता है |
| 7 | purchase | बुकिंग पुष्टि हो जाती है |
| 8 | refund | बुकिंग रद्द कर दी जाती है |
view_item_list
Section titled “view_item_list”जब होटल इन्वेंटरी ग्रिड या सूची प्रस्तुत की जाती है तब फायर होता है।
{ "event": "view_item_list", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_item
Section titled “view_item”जब मेहमान किसी विशिष्ट प्रॉपर्टी को देखता है तब फायर होता है।
{ "event": "view_item", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}add_to_cart
Section titled “add_to_cart”जब मेहमान अपने कार्ट में एक कमरा जोड़ता है तब फायर होता है।
{ "event": "add_to_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}begin_checkout
Section titled “begin_checkout”जब चेकआउट / भुगतान पेज लोड होता है तब फायर होता है।
{ "event": "begin_checkout", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "items": [ ] }}coupon केवल तब मौजूद होता है जब कोई डिस्काउंट कोड लागू किया गया हो।
add_payment_info
Section titled “add_payment_info”जब मेहमान भुगतान विधि चुनता या पुष्टि करता है तब फायर होता है।
{ "event": "add_payment_info", "ecommerce": { "currency": "USD", "value": 299.00, "coupon": "SUMMER10", "payment_type": "STRIPE", "items": [ ] }}payment_type भुगतान अधिग्रहक प्रकार से भरा जाता है। coupon केवल तब मौजूद होता है जब कोई डिस्काउंट कोड लागू किया गया हो।
जब मेहमान सिंगल साइन-ऑन के माध्यम से प्रमाणित होता है तब फायर होता है।
{ "event": "login", "ecommerce": { "method": "IAM" }}purchase
Section titled “purchase”जब बुकिंग पुष्टि हो जाती है तब फायर होता है।
{ "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 अद्वितीय बुकिंग अनुबंध पहचानकर्ता है। coupon, shipping, और tax केवल लागू होने पर मौजूद होते हैं।
refund
Section titled “refund”जब बुकिंग रद्द की जाती है तब फायर होता है।
{ "event": "refund", "ecommerce": { "currency": "USD", "transaction_id": "bc-a1b2c3d4", "value": 299.00, "coupon": "SUMMER10", "shipping": 0.00, "tax": 0.00, "items": [ ] }}transaction_id उसी बुकिंग के purchase इवेंट से मेल खाता है। coupon, shipping, और tax केवल लागू होने पर मौजूद होते हैं।
आइटम प्रॉपर्टीज़
Section titled “आइटम प्रॉपर्टीज़”सभी इवेंट्स जिनमें items एरे शामिल है, एक ही आइटम स्कीमा साझा करते हैं। हर प्रॉपर्टी वैकल्पिक होती है जब तक कि आवश्यक न हो।
मानक GA4 फ़ील्ड्स
Section titled “मानक GA4 फ़ील्ड्स”ये फ़ील्ड्स GA4 द्वारा स्वाभाविक रूप से समझे जाते हैं और मानक ईकॉमर्स रिपोर्टों में बिना किसी अतिरिक्त कॉन्फ़िगरेशन के दिखाई देते हैं।
| प्रॉपर्टी | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
item_id | string | हाँ | कमरे या उत्पाद के लिए अद्वितीय पहचानकर्ता |
item_name | string | — | कमरे या उत्पाद का नाम |
affiliation | string | — | संबद्ध या विक्रेता का नाम |
coupon | string | — | आइटम पर लागू कूपन कोड |
currency | string | — | ISO 4217 मुद्रा कोड (जैसे USD) |
creative_name | string | — | प्रचार में उपयोग किया गया क्रिएटिव नाम |
creative_slot | string | — | प्रचार क्रिएटिव की स्लॉट स्थिति |
discount | number | — | लागू छूट राशि |
index | number | — | सूची में स्थिति (1-आधारित) |
item_brand | string | — | होटल या ब्रांड का नाम |
item_category | string | — | उत्पाद प्रकार — जैसे GUEST_ROOM, ACTIVITY, ATTRACTION, MEETING_ROOM, RESTAURANT, SPA |
item_list_id | string | — | उस सूची का पहचानकर्ता जिसमें आइटम है |
item_list_name | string | — | सूची का प्रदर्शन नाम |
location_id | string | — | प्रॉपर्टी के भौगोलिक निर्देशांक |
price | number | — | इकाई मूल्य |
promotion_id | string | — | प्रचार का पहचानकर्ता |
promotion_name | string | — | प्रचार का प्रदर्शन नाम |
quantity | number | — | मात्रा (डिफ़ॉल्ट 1) |
कस्टम आइटम-स्कोप्ड पैरामीटर
Section titled “कस्टम आइटम-स्कोप्ड पैरामीटर”ये पैरामीटर Wink-विशिष्ट बुकिंग संदर्भ रखते हैं। GA4 इन्हें रिपोर्टों में स्वचालित रूप से नहीं दिखाता — आपको इन्हें GA4 प्रॉपर्टी में आइटम-स्कोप्ड कस्टम डाइमेंशन के रूप में पंजीकृत करना होगा ताकि वे एक्सप्लोरेशन या मानक रिपोर्टों में दिखाई दें। सेटअप निर्देशों के लिए नीचे Custom Dimensions in GA4 देखें।
| प्रॉपर्टी | प्रकार | विवरण |
|---|---|---|
property_id | string | Wink प्रॉपर्टी पहचानकर्ता |
property_name | string | प्रॉपर्टी प्रदर्शन नाम |
property_brand | string | प्रॉपर्टी का ब्रांड |
property_chain | string | प्रॉपर्टी की चेन |
property_url_name | string | प्रॉपर्टी के लिए URL-फ्रेंडली स्लग |
city_name | string | शहर जहाँ प्रॉपर्टी स्थित है |
country_code | string | ISO 3166-1 अल्फा-2 देश कोड |
start_date | string | चेक-इन तिथि YYYY-MM-DD फॉर्मेट में |
end_date | string | चेक-आउट तिथि YYYY-MM-DD फॉर्मेट में |
num_adults | number | बुकिंग में वयस्कों की संख्या |
num_children | number | बुकिंग में बच्चों की संख्या |
cancellation_policy | string | इनमें से एक: Refundable, Non-Refundable, Refundable-With-Restrictions, Non-Refundable-With-Restrictions |
rate_plan_id | string | रेट प्लान का पहचानकर्ता |
room_rate_id | string | विशिष्ट कमरे के रेट का पहचानकर्ता |
room_rate_name | string | कमरे के रेट का प्रदर्शन नाम |
num_perks | number | रेट के साथ शामिल लाभों की संख्या |
room_location | string | कमरे का स्थान विवरण (जैसे Overwater, Garden) |
room_view | string | कमरे का दृश्य विवरण (जैसे Ocean, City) |
room_classification | string | कमरे का वर्गीकरण या स्तर (जैसे Suite, Standard) |
bed_type | string | कमरे के लिए बिस्तर विन्यास (जैसे King, Twin) |
GA4 में कस्टम डाइमेंशन्स
Section titled “GA4 में कस्टम डाइमेंशन्स”GA4 रिपोर्टों में कस्टम आइटम पैरामीटर को तब तक नजरअंदाज करता है जब तक आप उन्हें स्पष्ट रूप से आइटम-स्कोप्ड कस्टम डाइमेंशन्स के रूप में पंजीकृत न करें। आपको केवल उन्हीं पैरामीटरों को पंजीकृत करना है जिन्हें आप रिपोर्टों में उपयोग करना चाहते हैं — आपको सभी 20 को पंजीकृत करने की आवश्यकता नहीं है।
-
कस्टम डिफ़िनिशन्स खोलें
GA4 में, Admin (नीचे-बाएँ गियर आइकन) → अपनी प्रॉपर्टी चुनें → Data display → Custom definitions पर जाएं।
-
नया कस्टम डाइमेंशन बनाएं
Create custom dimensions पर क्लिक करें।
-
डाइमेंशन विवरण भरें
- Dimension name — GA4 रिपोर्टों में दिखने वाला मानव-पठनीय लेबल (नीचे तालिका देखें)
- Scope — Item चुनें
- Event parameter — dataLayer में जैसा दिखता है वैसा ही नाम (नीचे तालिका देखें)
- Description — वैकल्पिक लेकिन अनुशंसित
-
सहेजें और दोहराएं
Save पर क्लिक करें, फिर प्रत्येक पैरामीटर के लिए दोहराएं जिसे आप ट्रैक करना चाहते हैं।
कस्टम डाइमेंशन्स बनाते समय नीचे दी गई तालिका का संदर्भ लें। Event parameter मान बिल्कुल मेल खाना चाहिए — GA4 केस-सेंसिटिव है।
| डाइमेंशन नाम | इवेंट पैरामीटर | प्रकार |
|---|---|---|
| Property ID | property_id | टेक्स्ट |
| Property name | property_name | टेक्स्ट |
| Property brand | property_brand | टेक्स्ट |
| Property chain | property_chain | टेक्स्ट |
| Property URL name | property_url_name | टेक्स्ट |
| City name | city_name | टेक्स्ट |
| Country code | country_code | टेक्स्ट |
| Check-in date | start_date | टेक्स्ट |
| Check-out date | end_date | टेक्स्ट |
| Number of adults | num_adults | संख्या |
| Number of children | num_children | संख्या |
| Cancellation policy | cancellation_policy | टेक्स्ट |
| Rate plan ID | rate_plan_id | टेक्स्ट |
| Room rate ID | room_rate_id | टेक्स्ट |
| Room rate name | room_rate_name | टेक्स्ट |
| Number of perks | num_perks | संख्या |
| Room location | room_location | टेक्स्ट |
| Room view | room_view | टेक्स्ट |
| Room classification | room_classification | टेक्स्ट |
| Bed type | bed_type | टेक्स्ट |
अतिरिक्त उपलब्ध इवेंट्स
Section titled “अतिरिक्त उपलब्ध इवेंट्स”निम्नलिखित इवेंट्स Wink के dataLayer में उपलब्ध हैं लेकिन मानक बुकिंग फनल का हिस्सा नहीं हैं। इन्हें प्लेटफ़ॉर्म पर अन्य इंटरैक्शन द्वारा फायर किया जा सकता है।
add_to_wishlist
Section titled “add_to_wishlist”{ "event": "add_to_wishlist", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}remove_from_cart
Section titled “remove_from_cart”{ "event": "remove_from_cart", "ecommerce": { "currency": "USD", "value": 299.00, "items": [ ] }}select_item
Section titled “select_item”{ "event": "select_item", "ecommerce": { "item_list_id": "featured_hotels", "item_list_name": "Featured Hotels", "items": [ ] }}view_cart
Section titled “view_cart”{ "event": "view_cart"}इस इवेंट के साथ कोई ecommerce पेलोड शामिल नहीं है।
view_promotion
Section titled “view_promotion”{ "event": "view_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}select_promotion
Section titled “select_promotion”{ "event": "select_promotion", "ecommerce": { "creative_name": "Summer Banner", "creative_slot": "hero", "promotion_id": "promo_001", "promotion_name": "Summer Sale", "items": [ ] }}search
Section titled “search”{ "event": "search", "ecommerce": { "search_term": "beachfront resort" }}select_content
Section titled “select_content”{ "event": "select_content", "ecommerce": { "content_type": "hotel", "content_id": "prop_12345" }}{ "event": "share", "ecommerce": { "method": "copy_link", "content_type": "hotel", "item_id": "prop_12345" }}sign_up
Section titled “sign_up”{ "event": "sign_up", "ecommerce": { "method": "email" }}generate_lead
Section titled “generate_lead”{ "event": "generate_lead", "ecommerce": { "currency": "USD", "value": 0.00 }}join_group
Section titled “join_group”{ "event": "join_group", "ecommerce": { "group_id": "group_abc" }}earn_virtual_currency
Section titled “earn_virtual_currency”{ "event": "earn_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 100 }}spend_virtual_currency
Section titled “spend_virtual_currency”{ "event": "spend_virtual_currency", "ecommerce": { "virtual_currency_name": "WinkPoints", "value": 50, "item_name": "Room Upgrade" }}level_start
Section titled “level_start”{ "event": "level_start", "ecommerce": { "level_name": "Gold" }}level_end
Section titled “level_end”{ "event": "level_end", "ecommerce": { "level_name": "Gold", "success": true }}level_up
Section titled “level_up”{ "event": "level_up", "ecommerce": { "level": 2, "character": "traveler" }}post_score
Section titled “post_score”{ "event": "post_score", "ecommerce": { "score": 980, "level": 2, "character": "traveler" }}unlock_achievement
Section titled “unlock_achievement”{ "event": "unlock_achievement", "ecommerce": { "achievement_id": "first_booking" }}tutorial_begin
Section titled “tutorial_begin”{ "event": "tutorial_begin", "ecommerce": {}}tutorial_complete
Section titled “tutorial_complete”{ "event": "tutorial_complete", "ecommerce": {}}virtualPageView
Section titled “virtualPageView”यह एक कस्टम Wink इवेंट है — मानक GA4 इवेंट सेट का हिस्सा नहीं। यह हर पेज नेविगेशन पर पुश होता है और डिवाइस तथा सेशन संदर्भ रखता है। इसमें कोई ecommerce ऑब्जेक्ट शामिल नहीं होता।
{ "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"}| प्रॉपर्टी | विवरण |
|---|---|
device | पता चला डिवाइस प्रकार — Desktop, Android, iPhone, iPad, या समान |
deviceAgent | कच्चा उपयोगकर्ता एजेंट स्ट्रिंग |
os | पता चला ऑपरेटिंग सिस्टम — Windows, MacOS, Linux, UNIX |
path | वर्तमान पेज पथ |
title | वर्तमान पेज शीर्षक |
userId | प्रमाणित उपयोगकर्ता पहचानकर्ता (लॉग इन न होने पर छोड़ा गया) |
startDate | वर्तमान खोज सेशन से चेक-इन तिथि |
endDate | वर्तमान खोज सेशन से चेक-आउट तिथि |
guests | वर्तमान खोज सेशन से मेहमानों की संख्या |
rooms | वर्तमान खोज सेशन से कमरों की संख्या |
