Google Tag Manager कस्टम पिक्सेल बनाएं

आप अपने थर्ड-पार्टी पिक्सेल को मैनेज करने के लिए, Google Tag Manager (GTM) का इस्तेमाल कस्टम पिक्सेल के रूप में कर सकते हैं।

जब आप अपने GTM कस्टम पिक्सेल को टेस्ट करने के लिए तैयार हों, तो यह पक्का करने के लिए Shopify Pixel Helper का इस्तेमाल करें कि जिन सभी इवेंट को आप ट्रैक करना चाहते हैं, वे बिना किसी गड़बड़ी के सैंडबॉक्स में जोड़े जा रहे हैं।

पेज पर कौन से Google टैग लोड हो रहे हैं, यह टेस्ट करने के लिए आप Google Tag Assistant पेज एक्सटेंशन का भी इस्तेमाल कर सकते हैं। हालांकि, Google Tag Assistant का Troubleshoot tag फ़ीचर कस्टम पिक्सेल के साथ काम नहीं करता है और यह कस्टम पिक्सेल में किसी भी Google टैग या GTM द्वारा लोड किए जा रहे अन्य पिक्सेल का पता नहीं लगाता है।

कस्टम पिक्सेल बनाने की तैयारी करना

Google Tag Manager का इस्तेमाल करके कस्टम पिक्सेल बनाने से पहले, यह पक्का करने के लिए नीचे दी गई जानकारी की समीक्षा करें कि आप अपने पिक्सेल को कॉन्फ़िगर करने का तरीका समझते हैं:

  • एक Google Tag Manager खाता बनाएं या खोलें और GTM कंटेनर आईडी पाएं।
  • सुरक्षा के लिए, हमारे सैंडबॉक्स में लोड किए गए टैग मैनेजर पर किसी भी अन्य पिक्सेल की तरह ही पाबंदियां होती हैं। पिक्सेल सैंडबॉक्स की सीमाओं के बारे में ज़्यादा जानें।

Google Tag Manager कस्टम पिक्सेल बनाएं

आप अपने थर्ड-पार्टी पिक्सेल को मैनेज करने के लिए Google Tag Manager कस्टम पिक्सेल बना सकते हैं।

चरण:

  1. अपना Google Tag Manager खाता खोलें और वह खाता चुनें, जिसके साथ आप कस्टम पिक्सेल सेट अप करना चाहते हैं।
  2. एडमिन पर क्लिक करें और फिर इंस्टॉलेशन कोड खोलने के लिए Google Tag Manager इंस्टॉल करें पर क्लिक करें।
  3. उस कोड ब्लॉक को कॉपी करें जो पेज के head सेक्शन का है।
  4. कोड ब्लॉक से HTML टैग हटाएं। उदाहरण के लिए, <script></script>
  5. बचे हुए कोड को एक नए Shopify Custom Pixel में डालें।
  6. ग्राहक इवेंट को सब्सक्राइब करें और GTM के dataLayer में पुश करें
  7. यह देखने के लिए कि कोड कैसा दिखना चाहिए, Google Tag Manager कस्टम पिक्सेल का उदाहरण देखें।
  8. अपने कस्टम पिक्सेल से इवेंट स्वीकार करने के लिए Google Tag Manager को कॉन्फ़िगर करें
  9. वैकल्पिक: अगर आपकी checkout.liquid फ़ाइल में पहले से dataLayer.push(event) कॉल मौजूद हैं, तो उन्हें analytics.publish() से बदलें

ग्राहक इवेंट को सब्सक्राइब करें और GTM के डेटा लेयर में पुश करें.

आप अपने कस्टम पिक्सेल कोड में GTM dataLayer का उपयोग करके ग्राहक इवेंट को सब्सक्राइब कर सकते हैं।

डिफ़ॉल्ट रूप से, स्टैंडर्ड इवेंट का एक सेट होता है, जिसे आप सब्सक्राइब कर सकते हैं। हालांकि, अगर आप ऐसे ग्राहक इवेंट ट्रैक करना चाहते हैं, जो स्टैंडर्ड इवेंट ऑफ़रिंग का हिस्सा नहीं हैं, तो आप Liquid टेम्पलेट फ़ाइल से अपने खुद के कस्टम इवेंट पब्लिश कर सकते हैं

नीचे स्टैंडर्ड “product_viewed” इवेंट को सब्सक्राइब करने का एक उदाहरण दिया गया है, जो यह बताता है कि किसी व्यक्ति ने कोई प्रोडक्ट देखा है। जब इवेंट ट्रिगर होता है, तो वह इवेंट को dataLayer में पुश कर देता है।

analytics.subscribe("product_viewed", (event) => {
  window.dataLayer.push({
    event: "product_viewed",
    product_title: event.data?.productVariant?.title,
  });
});

इस उदाहरण में, इवेंट पेलोड में प्रोडक्ट का टाइटल पास किया जा रहा है। आप अपनी पसंद के टैग में इवेंट पेलोड से प्रोडक्ट का टाइटल कैप्चर करने के लिए Google Tag Manager वैरिएबल का उपयोग कर सकते हैं।

Google Tag Manager कस्टम पिक्सेल का उदाहरण.

नीचे दिया गया उदाहरण, Google Tag Manager कस्टम पिक्सेल का एक सरल वर्शन है जो यह दिखाता है कि Google Tag Manager को डेटा कैसे भेजा जाए। अपने dataLayer में ज़्यादा इवेंट पुश करने के लिए, आप और ज़्यादा स्टैंडर्ड और कस्टम इवेंट को सब्सक्राइब कर सकते हैं।

// Define dataLayer and the gtag function.
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}

//Initialize GTM tag
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer', 'GTM-XXXXXXX');

//Google Consent Mode v2
gtag('consent', 'update', {
  'ad_storage': 'granted',
  'analytics_storage': 'granted',
  'ad_user_data': 'granted',
  'ad_personalization': 'granted',
});

//subscribe to events
analytics.subscribe("checkout_completed", (event) => {
  window.dataLayer.push({
    event: "checkout_completed",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("payment_info_submitted", (event) => {
  window.dataLayer.push({
    event: "payment_info_submitted",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("checkout_shipping_info_submitted", (event) => {
  window.dataLayer.push({
    event: "checkout_shipping_info_submitted",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("checkout_address_info_submitted", (event) => {
  window.dataLayer.push({
    event: "checkout_address_info_submitted",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("checkout_contact_info_submitted", (event) => {
  window.dataLayer.push({
    event: "checkout_contact_info_submitted",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("checkout_started", (event) => {
  window.dataLayer.push({
    event: "checkout_started",
    timestamp: event.timestamp,
    id: event.id,
    token: event.data?.checkout?.token,
    url: event.context.document.location.href,
    client_id: event.clientId,
    email: event.data?.checkout?.email,
    phone: event.data?.checkout?.phone,
    first_name: event.data?.checkout?.shippingAddress?.firstName,
    last_name: event.data?.checkout?.shippingAddress?.lastName,
    address1: event.data?.checkout?.shippingAddress?.address1,
    address2: event.data?.checkout?.shippingAddress?.address2,
    city: event.data?.checkout?.shippingAddress?.city,
    country: event.data?.checkout?.shippingAddress?.country,
    countryCode: event.data?.checkout?.shippingAddress?.countryCode,
    province: event.data?.checkout?.shippingAddress?.province,
    provinceCode: event.data?.checkout?.shippingAddress?.provinceCode,
    zip: event.data?.checkout?.shippingAddress?.zip,
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    subtotal: event.data?.checkout?.subtotalPrice?.amount,
    shipping: event.data?.checkout?.shippingLine?.price?.amount,
    value: event.data?.checkout?.totalPrice?.amount,
    tax: event.data?.checkout?.totalTax?.amount,
  });
});

analytics.subscribe("product_added_to_cart", (event) => {
  window.dataLayer.push({
    event: "product_added_to_cart",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    price: event.data?.cartLine?.merchandise?.price?.amount,
    currency: event.data?.cartLine?.merchandise?.id,
    product_title: event.data?.cartLine?.merchandise?.product?.title,
    quantity: event.data?.cartLine?.quantity,
    total_cost: event.data?.cartLine?.cost?.totalAmount?.amount,
  });
});

analytics.subscribe("cart_viewed", (event) => {
  window.dataLayer.push({
    event: "cart_viewed",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    total_cost: event.data?.cart?.cost?.totalAmount?.amount,
    quantity: event.data?.cart?.totalQuantity,
    cart_id: event.data?.cart?.id,
  });
});

analytics.subscribe("page_viewed", (event) => {
  window.dataLayer.push({
    event: "page_viewed",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    page_title: event.context.document.title,
  });
});

analytics.subscribe("product_viewed", (event) => {
  window.dataLayer.push({
    event: "product_viewed",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    product_id: event.data?.productVariant?.product?.id,
    product_title: event.data?.productVariant?.title,
    product_sku: event.data?.productVariant?.sku,
  });
});

analytics.subscribe("search_submitted", (event) => {
  window.dataLayer.push({
    event: "search_submitted",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    query: event.data?.searchResult?.query,
  });
});

analytics.subscribe("collection_viewed", (event) => {
  window.dataLayer.push({
    event: "collection_viewed",
    timestamp: event.timestamp,
    id: event.id,
    client_id: event.clientId,
    url: event.context.document.location.href,
    collection_id: event.data?.collection?.id,
    collection_title: event.data?.collection?.title,
  });
});

अपने कस्टम पिक्सेल से इवेंट स्वीकार करने के लिए Google Tag Manager कॉन्फ़िगर करें.

अपना कस्टम पिक्सेल बनाने के बाद, आपको अपने कस्टम पिक्सेल से इवेंट स्वीकार करने के लिए Google Tag Manager को कॉन्फ़िगर करना होगा। ऐसा करने के लिए, आपको Google Tag Manager में एक टैग, एक ट्रिगर और dataLayer वैरिएबल की ज़रूरत होगी।

कुछ चुनिंदा स्टैंडर्ड ग्राहक इवेंट और उनके Google Tag Manager समकक्षों के उदाहरण, नीचे दी गई तालिका में दिए गए हैं:

पिक्सेल के साथ उपयोग करने के लिए स्टैंडर्ड Shopify ग्राहक इवेंट की सूची, जिसकी तुलना Google Tag Manager में उनके समकक्ष ग्राहक इवेंट से की गई है, साथ ही इवेंट को फायर करने के लिए ज़रूरी ट्रिगर भी शामिल है।
Shopify इवेंट.ट्रिगर.GTM इवेंट.
payment_info_submittedपेमेंट संबंधी जानकारी सबमिट करनाadd_payment_info
checkout_address_info_submittedशिपिंग जानकारी सबमिट करनाadd_shipping_info
product_added_to_cartशॉपिंग कार्ट में आइटम जोड़नाadd_to_cart
checkout_startedचेकआउट शुरू करनाbegin_checkout
checkout_completedचेकआउट पूरा करनाpurchase
product_removed_from_cartकार्ट से आइटम हटानाremove_from_cart
cart_viewedशॉपिंग कार्ट देखनाview_cart
product_viewedप्रोडक्ट विवरण पेज देखनाview_item
collection_viewedआइटम की सूची देखनाview_item_list

GTM टैग इवेंट पैरामीटर को अपेक्षित नामकरण परिपाटियों से मेल खाना चाहिए, ताकि आपके कस्टम पिक्सेल dataLayer इवेंट प्रोसेस किए जा सकें।

कुछ चुनिंदा कस्टम पिक्सेल dataLayer इवेंट प्रॉपर्टी और उनके बराबर Google Analytics 4 (GA4) इवेंट पैरामीटर के कुछ उदाहरण इस प्रकार हैं:

GA4 नामकरण परिपाटी का उपयोग करके कस्टम पिक्सेल dataLayer इवेंट की सूची।
कस्टम पिक्सेल dataLayer इवेंटGA4 इवेंट पैरामीटर
event.data?.checkout?.currencyCodecurrency
event.data?.checkout?.totalPrice?.amountvalue
event.data?.checkout?.order?.idtransaction_id
event.data?.checkout?.discountAllocationscoupon
event.data?.checkout?.shippingLine?.price?.amountshipping
event.data?.checkout?.totalTaxtax
event.data?.checkout?.lineItemsitems

यहां निम्नलिखित checkout_completed इवेंट का उपयोग करके एक उदाहरण दिया गया है:

analytics.subscribe("checkout_completed", (event) => {
  window.dataLayer.push({
    event: "checkout_completed",
    orderId: event.data?.checkout?.order?.id,
    currency: event.data?.checkout?.currencyCode,
    price: event.data.checkout.totalPrice.amount,
    shippingLine: event.data.checkout.shippingLine.price.amount,
    totalTax: event.data.checkout.totalTax,
  });
});

Google Tag Manager ट्रिगर, checkout_completed इवेंट नाम वाला एक कस्टम इवेंट प्रकार है। ट्रिगर में इवेंट का नाम फ़ील्ड, आपके कस्टम पिक्सेल में इवेंट की से मेल खाना चाहिए।

orderId और currency वे वैरिएबल हैं जिनका उपयोग आप इवेंट से डेटा कैप्चर करने के लिए Google Tag Manager में करते हैं। उन्हें Google Tag Manager में dataLayer वैरिएबल पर मैप किया जा सकता है। हर इवेंट वैरिएबल के लिए अपने dataLayer वैरिएबल की ज़रूरत होती है। सभी कस्टम इवेंट पर फ़ायर करने के लिए ट्रिगर सेट करें।

एक टैग बनाएं जो आपके द्वारा अभी-अभी बनाए गए ट्रिगर का उपयोग करता है। इवेंट पैरामीटर के अंतर्गत, वे वैरिएबल जोड़ें जिन्हें आप कैप्चर करना चाहते हैं। ऊपर दिए गए उदाहरण में, orderId, currency, price, shippingLine और totalTax को dataLayer वैरिएबल के रूप में सेट किया जाएगा। हर बार जब टैग फ़ायर होता है, तो यह इवेंट के साथ इन dataLayer वैरिएबल को कैप्चर करेगा।

ध्यान दें कि डेटा ट्रांसफ़र होने के लिए Google Tag Manager में कम से कम एक टैग और ट्रिगर सेट अप किया जाना चाहिए।

पुराने dataLayer.push(event) कॉल को analytics.publish() से बदलना.

अगर आपने पहले Google Tag Manager सेट अप किया है, तो आपको अपने dataLayer.push कॉल को Shopify.analytics.publish() कॉल से बदलना होगा। आप अपने dataLayer.push कॉल को अपने थीम एडिटर के लेआउट सेक्शन में, अपनी theme.liquid फ़ाइल में ढूंढ सकते हैं।

आपको checkout.liquid में dataLayer.push कॉल को भी बदलना होगा। हालांकि, चूंकि checkout.liquid, Shopify Extensions के साथ कम्पैटिबल नहीं है, इसलिए आपको वेब पिक्सेल पर डेटा पुश करने के लिए UI एक्सटेंशन का उपयोग करना होगा।

नीचे एक कस्टम ईमेल साइन अप इवेंट का एक सरल उदाहरण दिया गया है, जिसे theme.liquid फ़ाइलों में dataLayer का उपयोग करके ट्रैक किया जा रहा है:

<script>
  dataLayer.push({ event: 'email_signup', email: customer.email });
</script>

Shopify का समकक्ष इस तरह से दिखाई देता है, जो डेटा को आपके कस्टम पिक्सेल में पुश करता है:

<script>
  Shopify.analytics.publish('email_signup', {email: customer.email });
</script>

फिर, अपने कस्टम पिक्सेल कोड में आप कुछ इस तरह जोड़ेंगे:

analytics.subscribe("email_signup", (event) => {
  window.dataLayer.push({
   'event': 'email_signup',
   'email': event.customData.email,
  });
});

पुराने dataLayer.push(data) को बदलें.

Google Tag Manager में एक ऐसी सुविधा है जो आपको हर इवेंट पर एक स्टेटफ़ुल dataLayer ऑब्जेक्ट पुश करने की सुविधा देती है। हालांकि Shopify के पिक्सेल सैंडबॉक्स में इसके समान सुविधा शामिल नहीं है, लेकिन आप अपना डेटा ऑब्जेक्ट बनाकर और उसे कस्टम इवेंट में पास करके वही परिणाम हासिल कर सकते हैं।

उदाहरण के लिए, आपके किसी भी कस्टम इवेंट के प्रकाशित होने से पहले, एक “customData” ऑब्जेक्ट को परिभाषित करें:

<script>
  const customData = {email: customer.email}
</script>

फिर, जब भी आप अपना कस्टम डेटा शामिल करना चाहें, तो उसे अपने पब्लिश मेथड में पास करें:

<script>
  Shopify.analytics.publish('email_signup', customData);
</script>

Google Analytics 4 सेट अप करने के लिए सुझाव.

जब Google Tag Manager का उपयोग कस्टम पिक्सेल के रूप में किया जाता है, तो Google Analytics 4 (GA4) को सेट अप करने के लिए निम्नलिखित सुझावों पर विचार करें।

साफ़-सुथरे पेज URL.

जब GA4 सैंडबॉक्स में चल रहा हो, तो आप देख सकते हैं कि पेज URL में उस सैंडबॉक्स के बारे में जानकारी शामिल है जिसमें वह काम कर रहा है। अगर आप उन URL से सैंडबॉक्स की जानकारी हटाना चाहते हैं, तो आप GA4 की ऑटोमैटिक पेज ट्रैकिंग को बंद कर सकते हैं और इसके बजाय, मानक page_viewed इवेंट का उपयोग करके अपनी खुद की ट्रैकिंग लागू कर सकते हैं।

analytics.subscribe('page_viewed', (event) => {
  window.dataLayer.push({
   'event': 'page_viewed',
   'page_location': event.context.window.location.href,
   'page_title': event.context.document.title,
  });
});

dataLayer में अपना खुद का इवेंट प्रकाशित करने के बाद, आप GA4 page_view टैग बना सकते हैं, जो page_viewed इवेंट पर ट्रिगर होता है। आम तौर पर, आप Google Analytics: GA4 Event टैग प्रकार का इस्तेमाल कर सकते हैं और इवेंट का नाम page_view पर सेट कर सकते हैं। टैग प्रकार और इवेंट का नाम सेट करने के बाद, आपको page_location के लिए एक पैरामीटर जोड़ना चाहिए और उसका मान वही सेट करना चाहिए, जिसे आपने अपने कस्टम पिक्सेल से अपने dataLayer में पास किया है।

बेहतर माप.

Shopify के पिक्सेल सैंडबॉक्स के अंदर GA4 लोड करते समय, कुछ इवेंट जिन्हें आमतौर पर अपने-आप अनुमानित कर लिया जाता है, उन्हें मैन्युअल रूप से सेट अप करने की ज़रूरत होगी। उदाहरण के लिए, GA4 की बेहतर माप सेटिंग के हिस्से के रूप में आउटबाउंड लिंक क्लिक को, कस्टम पिक्सेल का उपयोग करते समय सुरक्षा कारणों से स्वचालित रूप से ट्रिगर नहीं किया जा सकता है। हालांकि, GA4 के बेहतर माप इवेंट को कस्टम इवेंट के रूप में खुद लागू करना संभव है।

नीचे दिए गए कोड में आउटबाउंड लिंक क्लिक को ट्रैक करने का एक सरल उदाहरण शामिल है:

<script>
  function detectOutboundLink() {
    // add your logic for determining if a link click is outbound

    // if the link click is outbound then publish it
    if (isOutboundLink) {
      Shopify.analytics.publish('outbound_link', { link_url: link_url });
    }
  }
</script>

अंत में, GTM में एक GA4 टैग बनाएं जो GA4 को लिंक क्लिक भेजता है। ऐसा करने के लिए, यह सुनिश्चित करें कि इवेंट का नाम click हो, ताकि यह GA4 के बेहतर इवेंट नामकरण से मेल खाए।

आप Google के किसी भी बेहतर माप मीट्रिक के लिए समान ट्रैकिंग प्राप्त कर सकते हैं।

अपने कस्टम पिक्सेल को टेस्ट और डीबग करें.

जब आप अपने GTM कस्टम पिक्सेल को टेस्ट करने के लिए तैयार हों, तो यह पक्का करने के लिए Shopify Pixel Helper का इस्तेमाल करें कि जिन सभी इवेंट को आप ट्रैक करना चाहते हैं, वे बिना किसी गड़बड़ी के सैंडबॉक्स में जोड़े जा रहे हैं।

पेज पर कौन से Google टैग लोड हो रहे हैं, यह टेस्ट करने के लिए आप Google Tag Assistant पेज एक्सटेंशन का भी इस्तेमाल कर सकते हैं। हालांकि, Google Tag Assistant का Troubleshoot tag फ़ीचर कस्टम पिक्सेल के साथ काम नहीं करता है और यह कस्टम पिक्सेल में किसी भी Google टैग या GTM द्वारा लोड किए जा रहे अन्य पिक्सेल का पता नहीं लगाता है।