این راهنما نحوه پیادهسازی ویژگیهای Universal Analytics Enhanced Commerce را با استفاده از Google Tag Manager SDK برای Android شرح میدهد.
بررسی اجمالی
Google Analytics Enhanced Ecommerce به شما امکان میدهد دادههای نمایش، تبلیغات و فروش محصول را با هر یک از نمایشها و رویدادهای Google Analytics ارسال کنید.
قبل از اینکه شروع کنی
توصیه میکنیم بخش انواع دادهها و اقدامات تجارت الکترونیک پیشرفته در راهنمای توسعهدهندگان تجارت الکترونیک Google Analytics (وب) را مرور کنید تا به شما در برنامهریزی پیادهسازی کمک کند. این راهنما به شما کمک می کند بفهمید کدام فیلدها برای هر یک از تعاملات تجارت الکترونیکی که می خواهید اندازه گیری کنید، مورد نیاز و اختیاری هستند.
پیاده سازی
بخش های زیر به شما نشان می دهد که چگونه از لایه داده برای اندازه گیری فعالیت های تجارت الکترونیک پیشرفته زیر استفاده کنید:
- برداشت محصول
- کلیک ها/انتخاب های محصول
- برداشت جزئیات محصول
- افزودن/حذف از سبد خرید
- برداشت های تبلیغاتی
- کلیکها/انتخابهای تبلیغاتی
- وارسی
- خریدها
- بازپرداخت
اندازه گیری برداشت محصول
- اندازه گیری تجارت الکترونیک:
impressions
- داده ها را می پذیرد: آرایه
impressionFieldObjects
با استفاده از عمل impression
و یک یا چند impressionFieldObjects
نمایشهای محصول را اندازهگیری کنید. مثال زیر فرض می کند که جزئیات مربوط به محصولات نمایش داده شده در زمان نمایش صفحه مشخص است:
// Product impressions are sent by pushing an impressions object // containing one or more impressionFieldObjects. dataLayer.push("ecommerce", DataLayer.mapOf( "currencyCode", "EUR", // Local currency is optional. "impressions", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "list", "Search Results", "position", 1), DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "list", "Search Results", "position", 2))));
اندازه گیری کلیک/انتخابات محصول
- اندازه گیری تجارت الکترونیک:
click
- داده ها را می پذیرد:
list
، آرایه ای ازproductFieldObjects
انتخاب محصول را با فشار دادن یک click
روی لایه داده، به همراه productFieldObject
برای نمایش محصول انتخاب شده اندازه گیری کنید:
dataLayer.pushEvent("productClick", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "click", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Search Results"), // Optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray"))))));
اندازه گیری نماها از جزئیات محصول
- اندازه گیری تجارت الکترونیک:
detail
- داده ها را می پذیرد:
list
، آرایه ای ازproductFieldObjects
نمایی از جزئیات محصول را با فشار دادن یک اقدام detail
به لایه داده، به همراه یک یا چند productFieldObjects
که نشان دهنده محصولات در حال مشاهده هستند، اندازه گیری کنید:
// Measure a view of product details. dataLayer.push("ecommerce", DataLayer.mapOf( "detail", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Apparel Gallery"), // detail actions have an optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray")))));
اندازه گیری اضافه یا حذف از سبد خرید
- اندازه گیری تجارت الکترونیک:
add
،remove
- داده ها را می پذیرد:
list
، آرایه ای ازproductFieldObjects
با استفاده از add
یا remove
actionFieldObject
و لیستی از productFieldObjects
موارد اضافه یا حذف را از سبد خرید اندازه گیری کنید:
افزودن محصول به سبد خرید
// Measure adding a product to a shopping cart by using an "add" // actionFieldObject and a list of productFieldObjects. dataLayer.pushEvent("addToCart", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "currencyCode", "EUR", "add", DataLayer.mapOf( // 'add' actionFieldObject measures. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
حذف یک محصول از سبد خرید
// Measure the removal of a product from a shopping cart. dataLayer.pushEvent("removeFromCart", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "remove", DataLayer.mapOf( // 'remove' actionFieldObject measures. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
اندازه گیری تبلیغات
میتوانید هم میزان برداشتها و هم انتخابها را در تبلیغات داخلی برنامه اندازهگیری کنید، مانند بنرهای نمایش داده شده در برنامه برای تبلیغ فروش در زیرمجموعه خاصی از محصولات، یا پیشنهادی برای ارسال رایگان.
اندازه گیری تاثیرات تبلیغاتی
- اندازه گیری تجارت الکترونیک:
promoView
- داده ها را می پذیرد: آرایه ای از
promoFieldObjects
برای اندازهگیری نمایش تبلیغات، کلید promoView
را در لایه دادههای تجارت الکترونیک روی یک promoFieldObject
تنظیم کنید که تبلیغات نمایش داده شده برای کاربران روی صفحه را توصیف میکند:
// An example of measuring promotion views. This example assumes that // information about the promotions displayed is available when the screen is // displayed. dataLayer.push("ecommerce", DataLayer.mapOf( "promoView", DataLayer.mapOf( "promotions", DataLayer.listOf( // List of promoFieldObjects. DataLayer.mapOf( "id", "JUNE_PROMO13", // ID or Name is required. "name", "June Sale", "creative", "banner1", "position", "slot1"), DataLayer.mapOf( "id", "FREE_SHIP13", "name", "Free Shipping Promo", "creative", "skyscraper1", "position", "slot2")))));
اندازه گیری کلیک ها/انتخاب های تبلیغاتی
برای اندازهگیری یک انتخاب تبلیغاتی، عمل promoClick
را با آرایهای حاوی یک promoFieldObject
که تبلیغ انتخابشده را توصیف میکند، به لایه داده فشار دهید:
dataLayer.pushEvent("promotionClick", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "promoClick", DataLayer.mapOf( "promotions", DataLayer.listOf( DataLayer.mapOf( "id", "JUNE_PROMO13", // Name or ID is required. "name", "June Sale", "creative", "banner1", "position", "slot1"))))));
اندازه گیری پرداخت
برای اندازهگیری هر مرحله در فرآیند پرداخت، باید:
- هر مرحله از فرآیند پرداخت را با استفاده از عمل
checkout
اندازه گیری کنید. - در صورت وجود، گزینه های پرداخت را با استفاده از عملکرد
checkout_option
اندازه گیری کنید. - با پیکربندی تنظیمات تجارت الکترونیک در بخش مدیریت رابط وب، نامهای مرحله کاربرپسند را برای گزارش قیف پرداخت به صورت اختیاری تنظیم کنید.
1. اندازه گیری مراحل پرداخت
- اندازه گیری تجارت الکترونیک:
checkout
- داده ها را می پذیرد:
step
، آرایهproductFieldObjects
برای اندازهگیری فرآیند تسویهحساب، که ممکن است شامل یک دکمه تسویهحساب و یک یا چند صفحه پرداخت باشد که در آن کاربران اطلاعات حمل و نقل و پرداخت را وارد میکنند، از عمل checkout
و فیلد step
استفاده کنید تا مشخص کنید کدام مرحله از فرآیند پرداخت در حال اندازهگیری است. همچنین میتوانید از فیلد option
برای ارائه بخشی از دادههای اضافی درباره فرآیند پرداخت، مانند نوع پرداختی که توسط کاربر انتخاب شده است، استفاده کنید.
dataLayer.pushEvent("checkout", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "checkout", DataLayer.mapOf( "actionField", DataLayer.mapOf( "step", 1, "option", "Visa"), "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1))))));
2. اندازه گیری گزینه های پرداخت
- اندازه گیری تجارت الکترونیک:
checkout_option
- داده ها را می پذیرد:
step
،option
گزینه پرداخت در مواردی مفید است که قبلاً یک مرحله پرداخت را اندازهگیری کردهاید، اما میخواهید اطلاعات بیشتری در مورد همان مرحله پرداخت دریافت کنید. به عنوان مثال، روش ارسال توسط یک کاربر انتخاب شده است. برای اندازه گیری این، از عمل checkout_option
به همراه فیلدهای step
و option
استفاده کنید.
dataLayer.pushEvent("checkoutOption", DataLayer.mapOf( "ecommerce", DataLayer.mapOf( "checkout_option", DataLayer.mapOf( "products", DataLayer.listOf(), // checkout_option expects a list of products. The workaround is to provide an empty list. "actionField", DataLayer.mapOf( "step", 1, "option", "Express")))));
3. Checkout Funnel Configuration
به صورت اختیاری، میتوان به هر مرحله از فرآیند پرداخت شما یک نام توصیفی داد که در گزارشها استفاده میشود. برای پیکربندی این نامها، به بخش Admin در رابط وب Google Analytics مراجعه کنید، نمای (نمایه) را انتخاب کنید و روی تنظیمات تجارت الکترونیک کلیک کنید. دستورالعملهای راهاندازی تجارت الکترونیک را دنبال کنید تا هر مرحله تسویهحساب را که میخواهید دنبال کنید برچسب بزنید.
اندازه گیری خریدها
- اندازه گیری تجارت الکترونیک:
purchase
- داده ها را می پذیرد:
id
(شناسه تراکنش)، آرایهproductFieldObjects
با استفاده از اقدام purchase
، جزئیات تراکنش خود را به لایه داده وارد کنید، همراه با event
که یک تگ پیشرفته با قابلیت تجارت الکترونیک را فعال می کند. در این مثال، جزئیات تراکنش در زمان نمایش صفحه مشخص است:
// Send transaction data with a screenview if possible. // Otherwise, use an event when the transaction data becomes available. dataLayer.push("ecommerce", DataLayer.mapOf( "purchase", DataLayer.mapOf( "actionField", DataLayer.mapOf( "id", "T12345", // Transaction ID. Required for purchases and refunds. "affiliation", "Online Store", "revenue", "35.43", // Total transaction value (incl. tax and shipping) "tax", "4.90", "shipping", "5.99", "coupon", "SUMMER_SALE"), "products", DataLayer.listOf( // List of productFieldObjects. DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "quantity", 1, "coupon", ""), // Optional fields may be omitted or set to empty string. DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "quantity", 1)))));
اندازه گیری بازپرداخت
- اندازه گیری تجارت الکترونیک:
refund
- داده ها را می پذیرد:
id
(شناسه تراکنش)، آرایهproductFieldObjects
برای اندازه گیری بازپرداخت کامل تراکنش، یک refund
actionFieldObject
به همراه شناسه تراکنش تراکنش در حال بازپرداخت را فشار دهید:
// Refund an entire transaction by providing the transaction ID. This example // assumes the details of the completed refund are available when the screen // is displayed. dataLayer.push("ecommerce", DataLayer.mapOf( "refund", DataLayer.mapOf( "products", DataLayer.listOf(), // refund expects a list of products. The workaround is to provide an empty list. "actionField", DataLayer.mapOf( "id", "T12345")))); // Transaction ID. Required for refunds.
برای اندازهگیری بازپرداخت جزئی ، فهرستی از productFieldObjects
، از جمله شناسههای محصول و مقادیر بازپرداخت شده را اضافه کنید:
// Measure a partial refund by providing an array of productFieldObjects and // specifying the ID and quantity of each product being returned. This example // assumes the partial refund details are known at the time the screen is // displayed: dataLayer.push("ecommerce", DataLayer.mapOf( "refund", DataLayer.mapOf( "products", DataLayer.listOf( DataLayer.mapOf( "id", "P4567", "quantity", 1), // Product ID & quantity. Required for partial refunds. DataLayer.mapOf( "id", "P8901", "quantity", 2)), "actionField", DataLayer.mapOf( "id", "T12345")))); // Transaction ID.
ترکیب برداشت ها و اقدامات
در مواردی که هم نمایش محصول و هم یک اقدام دارید، میتوانید این را در یک ضربه ترکیب و اندازهگیری کنید.
مثال زیر نحوه اندازهگیری نمای جزئیات محصول با نمایش محصول از بخش محصولات مرتبط را نشان میدهد:
dataLayer.push("ecommerce", DataLayer.mapOf( "impressions", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray", "list", "Related Products", "position", 1), DataLayer.mapOf( "name", "Donut Friday Scented T-Shirt", "id", "67890", "price", "33.75", "brand", "Google", "category", "Apparel", "variant", "Black", "list", "Related Products", "position", 2)), "detail", DataLayer.mapOf( "actionField", DataLayer.mapOf( "list", "Apparel Gallery"), // 'detail' actions have an optional list property. "products", DataLayer.listOf( DataLayer.mapOf( "name", "Triblend Android T-Shirt", // Name or ID is required. "id", "12345", "price", "15.25", "brand", "Google", "category", "Apparel", "variant", "Gray")))));