Sha256: 9bcaeb26c1c2e03c0fcc0df7bcb6a80c51cdeac593234af583c32d6bda118be1

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

<%
return if ENV['GOOGLE_ANALYTICS_ID'].present? || ENV['GOOGLE_TAG_MANAGER_ID'].blank?

if just_purchased
    order_data = {
        id: order.number,
        revenue: order.total,
        coupon: '', # TODO: Add coupon code if present

        affiliation: current_store.name,
        currency: order.currency,
        tax: order.tax_total,
        shipping: order.ship_total
    }

    purchased_items = order.line_items.map do |line_item|
        next unless line_item.variant

        {
          id: line_item.variant.sku,
          name: line_item.variant.name,
          price: line_item.total,
          variant: line_item.variant.options_text,
          quantity: line_item.quantity
        }
    end.compact
end
%>
<script type="text/javascript" data-tag="google-tag-manager">
    window.dataLayer = window.dataLayer || [];

    <% if just_purchased %>
        window.dataLayer.push({
            'ecommerce': {
                'purchase': {
                    'actionField': <%== order_data.to_json %>,
                    'products': <%== purchased_items.to_json %>
                }
            }
        });

        window.solidusSeoDataLayer('google-tag-manager', 'purchase');
    <% end %>

    (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','<%= ENV['GOOGLE_TAG_MANAGER_ID'] %>');
</script>

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
solidus_seo-1.0.10 app/views/solidus_seo/_google-tag-manager.html.erb
solidus_seo-1.0.8 app/views/solidus_seo/_google-tag-manager.html.erb