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 में लॉग इन करें, अपना अकाउंट चुनें, और Customizations टैब पर जाएं। अपना GTM कंटेनर ID GTM फ़ील्ड में पेस्ट करें और सेव करें। आपकी इंटीग्रेशन अब लाइव है।
-
(वैकल्पिक) GA4 मापन ID + API सीक्रेट सर्वर-साइड खरीद के लिए जोड़ें
GTM कंटेनर पूरी तरह से मेहमान के ब्राउज़र में चलते हैं, इसलिए यदि मेहमान भुगतान रीडायरेक्ट के दौरान टैब बंद कर देता है तो पूरी हुई बुकिंग मिस हो सकती है। यदि आपका कंटेनर एक GA4 प्रॉपर्टी लोड करता है और आप पूरी हुई बुकिंग को विश्वसनीय रूप से रिकॉर्ड करना चाहते हैं, तो GTM सेक्शन में उस GA4 की Measurement ID और Measurement Protocol API secret भी दर्ज करें। Wink तब उस प्रॉपर्टी के लिए
purchaseको सर्वर-साइड भेजेगा, जैसा कि GA4 Analytics Integration गाइड में वर्णित है। यदि आपको केवल ब्राउज़र में ट्रैकिंग चाहिए तो इन्हें खाली छोड़ दें। -
अपने प्रदाता से पुष्टि करें
यदि आपका कंटेनर Sojern जैसे पार्टनर से आता है, तो अपने अकाउंट मैनेजर को बताएं कि इंटीग्रेशन सक्रिय है। वे अपनी ओर से सत्यापित कर सकते हैं कि
wink.travelपर आपके प्रॉपर्टी के लिए टैग सही ढंग से फायर हो रहे हैं और डेटा आपके अकाउंट में प्रवाहित हो रहा है।
Wink हमारी ओर से क्या करता है
Section titled “Wink हमारी ओर से क्या करता है”पारदर्शिता के लिए, यहां बताया गया है कि Wink इस इंटीग्रेशन को काम करने के लिए क्या कॉन्फ़िगर करता है:
- एक GTM कंटेनर ID फ़ील्ड आपके Wink पोर्टल के Customizations टैब में उपलब्ध है। जब आप अपना कंटेनर ID दर्ज करते हैं, तो Wink फॉर्मेट (
GTM-XXXXXXX) को मान्य करता है और इसे आपके प्रॉपर्टी के खिलाफ सुरक्षित रूप से संग्रहीत करता है। - Wink पर आपके प्रॉपर्टी के सक्रिय होने वाले हर पेज पर आपका कंटेनर सीधे पेज में इंजेक्ट किया जाता है — Wink के अपने
window.dataLayerको साझा करते हुए — ताकि यह Wink के अपने कंटेनर के साथ बिना किसी अतिरिक्त कॉन्फ़िगरेशन के लोड हो सके। यह स्वचालित रूप से होता है, Wink टीम की ओर से किसी प्रॉपर्टी-विशिष्ट काम के बिना। - आपका कंटेनर असिंक्रोनस रूप से लोड होता है, इसलिए यह आपके मेहमानों के लिए पेज-लोड प्रदर्शन को प्रभावित नहीं करता।
- Wink का अपना ट्रैकिंग और आपका कंटेनर समानांतर चलते हैं, और एक ही साझा
dataLayerसे पढ़ते हैं। Wink द्वारा ट्रैक किए गए हर बुकिंग इवेंट को आपके कंटेनर के लिए भी तुरंत उपलब्ध कराया जाता है। - जब आपका प्रॉपर्टी देखा नहीं जा रहा होता — उदाहरण के लिए, जब कोई मेहमान Wink पर किसी अन्य होटल को ब्राउज़ कर रहा होता है — तो आपका कंटेनर लोड नहीं होता, इसलिए यह केवल आपके प्रॉपर्टी से संबंधित डेटा प्राप्त करता है।
- यदि आपने GA4 मापन ID + API सीक्रेट प्रदान किया है (ऊपर चरण 3), तो पूरी हुई बुकिंग के लिए
purchaseअतिरिक्त रूप से GA4 मापन प्रोटोकॉल के माध्यम से सर्वर-साइड भेजा जाता है, ताकि बिक्री रिकॉर्ड हो जाए भले ही मेहमान पुष्टि पेज पर वापस न आए।
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 प्रॉपर्टी में आइटम-स्कोप्ड कस्टम डाइमेंशन्स के रूप में पंजीकृत करना होगा ताकि वे एक्सप्लोरेशन या मानक रिपोर्टों में दिखाई दें। सेटअप निर्देशों के लिए नीचे 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 alpha-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 | वर्तमान खोज सेशन से कमरों की संख्या |
