إنشاء بكسل مخصص لـ Google Tag Manager

يمكنك استخدام Google Tag Manager (GTM) كبكسل مخصص لإدارة بكسلات الأطراف الخارجية الخاصة بك.

عندما تكون جاهزاً لاختبار بكسل GTM المخصص الخاص بك، استخدم Shopify Pixel Helper لضمان إضافة جميع الأحداث التي ترغب في تتبعها إلى بيئة الاختبار (sandbox) دون أي أخطاء.

يمكنك أيضاً استخدام إضافة الصفحة Google Tag Assistant لاختبار علامات Google التي يتم تحميلها على الصفحة. ومع ذلك، فإن ميزة Troubleshoot tag الخاصة بـ Google Tag Assistant غير متوافقة مع البكسلات المخصصة، ولا تكتشف أي علامات Google في البكسل المخصص، أو البكسلات الأخرى التي يتم تحميلها بواسطة GTM.

التحضير لإنشاء بكسل مخصص

قبل إنشاء بكسل مخصص باستخدام Google Tag Manager، راجع المعلومات التالية للتأكد من فهمك لكيفية إعداد البكسل الخاص بك:

  • أنشئ حساب Google Tag Manager أو افتحه واحصل على مُعرّف الحاوية (Container ID) لـ GTM.
  • لأسباب تتعلق بالأمان، تخضع برامج إدارة العلامات (tag managers) المحملة في بيئة الاختبار (sandbox) الخاصة بنا لنفس القيود التي تخضع لها أي بكسلات أخرى. تعرّف على المزيد حول قيود بيئة الاختبار (sandbox) للبكسلات.

إنشاء بكسل مخصص لـ Google Tag Manager

يمكنك إنشاء بكسل مخصص لـ Google Tag Manager لإدارة بكسلات الأطراف الخارجية الخاصة بك.

الخطوات:

  1. افتح حسابك في Google Tag Manager، وحدد الحساب الذي ترغب في إعداد بكسل مخصص باستخدامه.
  2. انقر على المسؤول، ثم انقر على تثبيت Google Tag Manager لفتح رمز التثبيت.
  3. انسخ كتلة الرمز التي تنتمي إلى قسم head (رأس الصفحة) في الصفحة.
  4. أزل علامات HTML من كتلة الرمز. على سبيل المثال، <script></script>.
  5. أدخل الرمز المتبقي في بكسل مخصص في Shopify جديد.
  6. اشترك في أحداث العميل وادفعها إلى dataLayer الخاصة بـ GTM.
  7. لمراجعة كيفية عرض الرمز، ارجع إلى مثال البكسل المخصص لـ Google Tag Manager.
  8. قم بتهيئة Google Tag Manager لقبول الأحداث من البكسل المخصص الخاص بك.
  9. اختياري: إذا كانت لديك استدعاءات dataLayer.push(event) حالية في ملف checkout.liquid الخاص بك، فاستبدلها بـ analytics.publish().

الاشتراك في أحداث العميل ودفعها إلى طبقة البيانات (data layer) في GTM

يمكنك الاشتراك في أحداث العميل باستخدام dataLayer الخاصة بـ GTM في رمز البكسل المخصص الخاص بك.

بشكل افتراضي، هناك مجموعة من الأحداث القياسية التي يمكنك الاشتراك فيها. ومع ذلك، إذا كنت ترغب في تتبع أحداث العميل التي ليست جزءاً من عروض الأحداث القياسية، فيمكنك نشر أحداثك المخصصة من ملفات قوالب Liquid.

فيما يلي مثال على الاشتراك في الحدث القياسي "product_viewed"، والذي يشير إلى وقت عرض شخص ما لمنتج. عندما يتم تشغيل الحدث (trigger)، فإنه يدفع الحدث إلى dataLayer.

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

في هذا المثال، يتم تمرير عنوان المنتج في حمولة الحدث (event payload). يمكنك استخدام متغير 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 لقبول الأحداث من البكسل المخصص. للقيام بذلك، تحتاج إلى علامة، ومُشغّل، ومتغيرات dataLayer في Google Tag Manager.

يدرج الجدول التالي بعض الأمثلة على أحداث عملاء قياسية محددة وما يعادلها في 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) المكافئة لها هي كالتالي:

قائمة بأحداث dataLayer للبكسل المخصص باستخدام اصطلاح تسمية GA4
أحداث 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 لالتقاط البيانات من الحدث. يمكن تعيينها لمتغير dataLayer في Google Tag Manager. يتطلب كل متغير حدث متغير 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، في قسم التخطيط بمحرر القوالب.

ستحتاج أيضًا إلى استبدال استدعاءات dataLayer.push في checkout.liquid. ولكن، نظرًا لأن checkout.liquid غير متوافق مع Shopify Extensions، فأنت بحاجة إلى استخدام ملحق واجهة مستخدم لدفع البيانات إلى وحدات بكسل الويب.

أدناه مثال مبسط لحدث تسجيل بالبريد الإلكتروني مخصص يتم تتبعه باستخدام dataLayer في ملفات theme.liquid:

<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 ذي حالة عند كل حدث. وعلى الرغم من أن بيئة اختبار البكسل المعزولة (sandbox) في Shopify لا تتضمن ميزة مماثلة، يمكنك تحقيق النتيجة نفسها عن طريق إنشاء كائن البيانات الخاص بك وتمريره إلى الأحداث المخصصة.

على سبيل المثال، حدّد كائن "customData"، قبل نشر أيّ من أحداثك المخصصة:

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

بعد ذلك، متى أردت تضمين بياناتك المخصصة، مرّرها إلى أسلوب النشر الخاص بك:

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

نصائح لإعداد Google Analytics 4

ضع في اعتبارك النصائح التالية لإعداد Google Analytics 4 (GA4) عند استخدام Google Tag Manager كبكسل مخصص.

عناوين 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، يمكنك إنشاء علامة page_view في GA4 والتي يتم تشغيلها عند حدث page_viewed. في أغلب الأحيان، يمكنك استخدام نوع العلامة Google Analytics: GA4 Event، وتعيين اسم الحدث إلى page_view. بعد تعيين نوع العلامة واسم الحدث، يجب عليك إضافة معلمة لـ page_location وتعيين القيمة إلى نفس القيمة التي مررتها إلى dataLayer من البكسل المخصص الخاص بك.

القياس المحسّن

عند تحميل GA4 داخل بيئة اختبار البكسل المعزولة في Shopify، ستحتاج بعض الأحداث التي يُستدَل عليها عادةً تلقائيًا إلى الإعداد يدويًا. على سبيل المثال، لا يمكن تشغيل نقرات الروابط الصادرة، كجزء من إعداد القياس المحسّن في 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 لضمان إضافة جميع الأحداث التي ترغب في تتبعها إلى بيئة الاختبار (sandbox) دون أي أخطاء.

يمكنك أيضاً استخدام إضافة الصفحة Google Tag Assistant لاختبار علامات Google التي يتم تحميلها على الصفحة. ومع ذلك، فإن ميزة Troubleshoot tag الخاصة بـ Google Tag Assistant غير متوافقة مع البكسلات المخصصة، ولا تكتشف أي علامات Google في البكسل المخصص، أو البكسلات الأخرى التي يتم تحميلها بواسطة GTM.