<% return if ENV['FACEBOOK_PIXEL_ID'].blank? event_data = {} if order.present? if just_purchased event_data[:order] = { value: order.total, currency: order.currency, content_type: 'product', contents: order.line_items.map do |line_item| { id: line_item.variant.sku, quantity: line_item.quantity } end, # custom properties order_number: order.number, item_total: order.item_total, tax_total: order.tax_total, ship_total: order.ship_total, promo_total: order.promo_total } end if flash[:added_to_cart].present? event_data[:added_to_cart] = { currency: order.currency, content_type: 'product', contents: flash[:added_to_cart].map do |variant_sku, variant| { id: variant_sku, quantity: variant['quantity'] } end } end if flash[:checkout_initiated].present? event_data[:checkout_initiated] = { value: order.total, currency: order.currency, content_type: 'product', contents: order.line_items.map do |line_item| { id: line_item.variant.sku, quantity: line_item.quantity } end } end end if @product event_data[:current_product] = { content_type: 'product', content_name: @product.name, content_ids: [@product.master.sku] } end %> <script type="text/javascript" data-tag="facebook"> !function(f,b,e,v,n,t,s) {if (f.fbq) return;n = f.fbq = function() { n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments) };if (!f._fbq) f._fbq=n;n.push = n; n.loaded = !0; n.version = '2.0'; n.queue=[]; t = b.createElement(e); t.async = !0; t.src = v;s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s);}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '<%= ENV['FACEBOOK_PIXEL_ID'] %>'); fbq('track', 'PageView'); <% if event_data[:order].present? %> fbq('track', 'Purchase', <%== event_data[:order].to_json %>); window.solidusSeoDataLayer('facebook', 'purchase'); <% end %> <% if event_data[:added_to_cart].present? %> fbq('track', 'AddToCart', <%== event_data[:added_to_cart].to_json %>); window.solidusSeoDataLayer('facebook', 'addtocart'); <% end %> <% if event_data[:checkout_initiated].present? %> fbq('track', 'InitiateCheckout', <%== event_data[:checkout_initiated].to_json %>); window.solidusSeoDataLayer('facebook', 'initiatecheckout'); <% end %> <% if event_data[:current_product].present? %> fbq('track', 'ViewContent', <%== event_data[:current_product].to_json %>); window.solidusSeoDataLayer('facebook', 'viewcontent'); <% end %> </script> <noscript> <img height="1" width="1" src="https://www.facebook.com/tr?id=<%= ENV['FACEBOOK_PIXEL_ID'] %>&ev=PageView&noscript=1" /> </noscript>