Global-E

How To Set Up Elevar Tracking With Global-E

🚧

This guide is for the third party Global E international checkout!

If you are using the unified Shopify checkout no additional work needed!

Global-E is an international checkout that typically takes the user outside the normal Shopify checkout flow.

During your implementation you typically have a globale-tracking.liquid snippet created.

Depending on your implementation and what channels you need you may need to customize the below to your needs.

If you only need to add an Elevar Data Layer then it looks like this:

<!-- Global-e Script Elevar-->
<script>
var glegem = window["glegem"] || function() {(window["glegem"].q = window["glegem"].q || []).push(arguments);};
glegem("OnCheckoutStepLoaded", function(data) {
if (data.Steps.CONFIRMATION && data.IsSuccess) {
window.dataLayer = window.dataLayer || [];
console.log('ELEVAR - SUCCESS', data)     
 if(data.details.CustomerInfo) {
        // Push customer data
        window.dataLayer.push({
    "user_properties":{
          visitorId: data.details.CustomerInfo.MerchantUserId,
          customer_id: data.details.CustomerInfo.MerchantUserId,
          customer_email: data.details.customerEmail,
          customer_first_name: data.details.CustomerInfo.BillingAddress.FirstName,
          customer_last_name: data.details.CustomerInfo.BillingAddress.LastName,
          customer_phone: data.details.CustomerInfo.BillingAddress.Phone1,
          customer_city: data.details.CustomerInfo.BillingAddress.City,
          customer_zip: data.details.CustomerInfo.BillingAddress.ZipCode,
          customer_address_1: data.details.CustomerInfo.BillingAddress.Address1,
          customer_address_2: data.details.CustomerInfo.BillingAddress.Address2,
          customer_country: data.details.CustomerInfo.BillingAddress.CountryCode,
          customer_province: data.details.CustomerInfo.BillingAddress.StateProvinceRegion,
          customer_total_spent: data.details.customerTotalPrice,
        }});
        // End Push customer data

      } else {
        window.dataLayer.push({
         "user_properties":{
          customer_email: data.details.customerEmail,
          customer_first_name: data.details.customerName.split(" ")[0],
          customer_last_name: data.details.customerName.split(" ")[1],
          customer_country: data.details.country.name,
         customer_city: data.details.city,
          customer_province: data.details.region,
        }});
      }

      // Push order data
      window.dataLayer.push({
        pageType: "purchase",
        event_id: data.details.OrderReference,
        event: "dl_purchase",
        ecommerce: {
          currencyCode: data.details.customerCurrency,
          countryCode: data.details.country.code,
          purchase: {
            actionField: {
              id: data.details.OrderReference,
              order_name: data.details.OrderReference,
              revenue: data.details.customerTotalPrice,
              tax: data.details.customerTotalDuties,
              shipping: data.details.customerDiscountedShippingPrice,
              sub_total: data.details.customerTotalPrice - data.details.customerDiscountedShippingPrice - data.details.customerTotalDuties,
              affiliation: "Global-E",
              discountAmount: data.details.totalDiscountsPrice,
              coupon: data.details.discounts.filter(function(discount){
                return discount.couponCode
              }).map(function(discount){
                return discount.couponCode
              }).join(', ')
            },
            products: data.details.products.map(function(item) {
              return {
                name: item.name,
                id: item.sku,
                product_id: item.productGroupCode,
                variant_id: item.sku,
                price: item.price,
                brand: item.Brand ? item.Brand.Name : "",
                category: item.categories.filter(function(category){
                  return category.name
                }).map(function(category){
                  return category.name
                }).join(', '),
                variant: item.name,
                quantity: item.quantity
              }
            })}
        }
      });
    // End Push order data
    }
});
</script>

Or if you need to hardcode specific trackers into the file AND include the Elevar data layer then it may look like this:

<script>
var glegem = glegem || function(){(window["glegem"].q = window["glegem"].q || []).push(arguments)};
glegem("OnCheckoutStepLoaded",function(data){
 switch(data.StepId){
  case data.Steps.LOADED:
      break;
  case data.Steps.CONFIRMATION:
     if (data.IsSuccess && !data.IsPageReload){

        var totalCartDiscount = 0;
        var totalOriginalCartDiscount = 0;
        for(i=0;i<data.details.discounts.length;i++){
          if(data.details.discounts[i].discountTypeId == 1){
            totalCartDiscount = totalCartDiscount + data.details.discounts[i].customerPrice;
            totalOriginalCartDiscount = totalOriginalCartDiscount + data.details.discounts[i].price;
          }
        }
       // Start of GA Ecommerce
       (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
         (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
         m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
                               })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

       ga('create', 'UA-111111-1', 'auto');

       ga('require','ecommerce');

       ga('ecommerce:addTransaction', {
         'id': data.OrderId,
         'affiliation': 'Global-E',
         'revenue': data.details.totalProductsPrice - totalOriginalCartDiscount,
         'shipping': data.details.discountedShippingPrice ,
         'tax': data.details.totalVAT,
         'currency': data.details.currency
       });

       for(i=0;i<data.details.products.length;i++){
         ga('ecommerce:addItem', {
           'id': data.OrderId,
           'name': data.details.products[i].name,
           'sku':data.details.products[i].sku,
           'category': data.details.products[i].categories.length ? data.details.products[i].categories[0].name : '',
           'price': data.details.products[i].price,
           'quantity': data.details.products[i].quantity,
           'currency': data.details.currency
         });
       }
       ga('ecommerce:send');
       
       // FB pixel - checkout completed
        fbq('init', '111111');
        fbq('track', 'Purchase', {
        value: data.details.totalProductsPrice - totalOriginalCartDiscount,
        currency: data.details.currency
        });
       
            // TikTok pixel - purchase

                    ttq.instance('11111111111').track('Purchase', {
                        currency: data.details.currency,
                        value: data.details.totalProductsPrice - totalOriginalCartDiscount,
                      });
       
       // End of GA Ecommerce
       // Push order data
          window.dataLayer = window.dataLayer || [];
                    window.dataLayer.push({
            pageType: "purchase",
            event: "dl_globale_purchase",
            event_id: data.details.OrderReference,
                        user_properties:{
                                customer_id: data.details.CustomerInfo.MerchantUserId,
                                customer_email: data.details.customerEmail,
                                customer_first_name: data.details.CustomerInfo.BillingAddress.FirstName,
                                customer_phone: "",
                                customer_last_name: data.details.CustomerInfo.BillingAddress.LastName,
                                customer_city: data.details.CustomerInfo.BillingAddress.City,
                                customer_zip: data.details.CustomerInfo.BillingAddress.ZipCode,
                                customer_address_1: data.details.CustomerInfo.BillingAddress.Address1,
                                customer_address_2: data.details.CustomerInfo.BillingAddress.Address2,
                                customer_country: data.details.CustomerInfo.BillingAddress.CountryCode,
                                customer_province: data.details.CustomerInfo.BillingAddress.StateProvinceRegion
                                },
                        ecommerce: {
              currencyCode: data.details.currency,
              countryCode: data.details.country.code,
              purchase: {
                actionField: {
                  id: data.details.OrderReference,
                  sub_total: data.details.totalProductsPrice - totalOriginalCartDiscount,
                  revenue: data.details.totalProductsPrice - totalOriginalCartDiscount,
                  tax: data.details.customerTotalDuties,
                  shipping: data.details.customerDiscountedShippingPrice,
                  affiliation: "",
                  discountAmount: data.details.totalDiscountsPrice,
                  coupon: data.details.discounts.filter(function(discount){
                    return discount.couponCode
                  }).map(function(discount){
                    return discount.couponCode
                  }).join(', ')
                },
                products: data.details.products.map(function(item) {
                  return {
                    name: item.name,
                    id: item.sku,
                    product_id: item.productGroupCode,
                    variant_id: item.sku,
                    price: item.price,
                    brand: item.Brand ? item.Brand.Name : "",
                    category: item.categories.filter(function(category){
                      return category.name
                    }).map(function(category){
                      return category.name
                    }).join(', '),
                    variant: item.name,
                    quantity: item.quantity
                  }
                })}
            }
          });
        // End Push order data

     }}});
</script>

Please be sure to put GTM into Preview mode to validate your tracking works as expected.