该代码需要搭配谷歌代码管理器
使用。
datalayer-product.js
{% comment %} Product view data layer v2.1 - part of "Shopify GA4 Kit" by Analyzify Visit https://analyzify.app/shopify-google-analytics/ga4 for complete tutorial {% endcomment %} {% assign template_name = template.name %} <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.appStart = function(){ window.productPageHandle = function(){ var productName = "{{ product.title | remove: "'" | remove: '"' }}"; var productId = "{{ product.id }}"; var productPrice = "{{ product.price | money_without_currency }}"; var productBrand = "{{ product.vendor | remove: "'" | remove: '"' }}"; var productCollection = "{{ product.collections.first.title | remove: "'" | remove: '"' }}"; var productType = "{{ product.type | remove: "'" | remove: '"' }}"; var productSku = "{{ product.selected_or_first_available_variant.sku | remove: "'" | remove: '"' }}"; var productVariantId = "{{ product.selected_variant.id | default: product.variants[0].id }}"; var productVariantTitle = "{{ product.selected_variant.title | default: product.variants[0].title }}"; window.dataLayer.push({ event: "analyzify_productDetail", productId: productId, productName: productName, productPrice: productPrice, productBrand: productBrand, productCategory: productCollection, productType: productType, productSku: productSku, productVariantId: productVariantId, productVariantTitle: productVariantTitle, currency: "{{ shop.currency }}", }); }; window.allPageHandle = function(){ window.dataLayer.push({ event: "sh_info", contentGroup: "{{ template_name }}", {% if customer %} userType: "member", customer: { id: "{{- checkout.customer.id | json -}}", lastOrder: "{{- customer.last_order.created_at | date: '%B %d, %Y %I:%M%p' -}}", orderCount: "{{- checkout.customer.orders_count | json -}}", totalSpent: "{{- checkout.customer.total_spent | times: 0.01 | json -}}", tags: {{- checkout.customer.tags | json -}} } {% else %} userType: "visitor", {% endif %} }); }; allPageHandle(); {% case template_name %} {% when "product" %} productPageHandle(); {% endcase %} } appStart(); </script>
datalayer-purchase.js
{% comment %} Purchase data layer v2.1 - part of "Shopify GA4 Kit" by Analyzify Visit https://analyzify.app/shopify-google-analytics/ga4 for complete tutorial {% endcomment %} {% assign template_name = template.name %} <script type="text/javascript"> window.dataLayer = window.dataLayer || []; window.appStart = function(){ window.allPageHandle = function(){ window.dataLayer.push({ event: "sh_info", contentGroup: "{{ template_name }}", {% if customer %} userType: "member", customer: { id: "{{- checkout.customer.id | json -}}", lastOrder: "{{- customer.last_order.created_at | date: '%B %d, %Y %I:%M%p' -}}", orderCount: "{{- checkout.customer.orders_count | json -}}", totalSpent: "{{- checkout.customer.total_spent | times: 0.01 | json -}}", tags: {{- checkout.customer.tags | json -}} } {% else %} userType: "visitor", {% endif %} }); }; allPageHandle(); {% if first_time_accessed and post_purchase_page_accessed != true %} var shippingPrice = "{{shipping_price | money_without_currency }}".replace(",", "."); var totalPrice = "{{checkout.total_price | money_without_currency }}".replace(",", "."); var taxPrice = "{{tax_price | money_without_currency }}".replace(",", "."); var orderItemsName = []; var orderItemsId = []; var orderItemsCategory = []; var orderItemsBrand = []; var orderItemsType = []; var orderItemsPrice = []; var orderItemsSku = []; var orderItemsvariantId = []; var orderItemsQuantity = []; var orderItemsvariantTitle = []; var totalQuantity = 0; {% for line_item in checkout.line_items %} orderItemsName.push("{{ line_item.product.title | remove: "'" | remove: '"'}}"); orderItemsId.push("{{ line_item.product_id }}"); orderItemsPrice.push("{{ line_item.price | times: 0.01 }}"); orderItemsSku.push("{{ line_item.sku | remove: "'" | remove: '"' }}"); orderItemsQuantity.push("{{ line_item.quantity }}"); orderItemsvariantId.push("{{ line_item.variant_id }}"); orderItemsvariantTitle.push("{{ line_item.variant.title }}"); orderItemsCategory.push("{{ line_item.product.collections.last.title | remove: "'" | remove: '"' }}"); orderItemsBrand.push("{{ line_item.vendor | remove: "'" | remove: '"' }}"); orderItemsType.push("{{ line_item.product.type | remove: "'" | remove: '"' }}"); totalQuantity += {{ line_item.quantity }}; {% endfor %} window.dataLayer.push({ page_type: "purchase", event: "analyzify_purchase", currency: "{{ shop.currency }}", totalValue: totalPrice, totalValueStatic: totalPrice, currencyRate: window.Shopify.currency.rate, shipping: shippingPrice, tax: taxPrice, payment_type: "{{order.transactions[0].gateway}}", {% if order.name %} transaction_id: "{{order.name | remove: "'" | remove: '"'}}", {% else %} transaction_id: "{{checkout.id | remove: "'" | remove: '"'}}", {% endif %} productName: orderItemsName, productId: orderItemsId, productBrand: orderItemsBrand, productCategory: orderItemsCategory, productVariantId: orderItemsvariantId, productVariantTitle: orderItemsvariantTitle, productSku: orderItemsSku, productType: orderItemsSku, productPrice: orderItemsPrice, productQuantity: orderItemsQuantity, }); {% endif %} } appStart(); </script>
enhanced-conversions.js
customer: { id: "{{- checkout.customer.id | json -}}", email: "{{- checkout.email -}}", email_eh: "{{- checkout.email | sha1 -}}", lastOrder: "{{- customer.last_order.created_at | date: "%B %d, %Y %I:%M%p" -}}", firstName: {{- checkout.billing_address.first_name | json -}}, lastName: {{- checkout.billing_address.last_name | json -}}, city: {{- checkout.billing_address.city | json -}}, zip: {{- checkout.billing_address.zip | json -}}, address1: {{- checkout.billing_address.address1 | json -}}, address2: {{- checkout.billing_address.address2 | json -}}, country: {{- checkout.billing_address.country | json -}}, province: {{- checkout.billing_address.province | json -}}, provinceCode: {{- checkout.billing_address.province_code | json -}}, orderCount: "{{- checkout.customer.orders_count | json -}}", totalSpent: "{{- checkout.customer.total_spent | times: 0.01 | json -}}", tags: {{- checkout.customer.tags | json -}} }
转载于:https://github.com/analyzify/shopify-ga4-kit/tree/main