# Shopify Integration
To install Backtracks Attribution in Shopify, just follow the steps below. If your Shopify theme happens to have a custom method to add third-party JavaScript, ask your Shopify administrator or developer to adapt these steps to your theme or custom method.
# Theme Install
In the Shopify admin area, open the Online Store settings from Sales Channels > Online Store.
Select Edit Code from Sales Channels > Online Store > Themes for your theme.

From the list of template files, select/open the theme.liquid file. Add the Backtracks Attribution installation code just before the </body> tag and the end of the theme.liquid file. Be sure to add your BT KEY.

Save your changes and that's it!
# Purchase Event
To record the purchase event, you will need to add the code at a different location. From the Shopify admin area, edit your Checkout settings from Settings > Checkout.

In the Order Processing section of the Checkout Settings, locate the Additional Scripts section.

Add the following code and be sure to replace YOUR BT KEY with your key then Save your changes and that's it!
<script>
(function(b,a,c,k,t,r,s,f){b['BacktracksAttributionName']=r;b[r]=b[r]||function(){
(b[r].q=b[r].q||[]).push(arguments)},b[r].l=1*new Date();s=a.createElement(c),
f=a.getElementsByTagName(c)[0];s.async=1;s.src=k;f.parentNode.insertBefore(s,f);
b['BacktracksAttributionConfig']=t
})(window,document,'script','https://c.backtracks.fm/bt-attribution.min.js',
{key: 'YOUR BT KEY'},'bta');
{% assign discount_code = '' %}
{% for discount in checkout.discounts %}
{% assign discount_code = discount.code %}
{% endfor %}
var btaLineItems = [];
{% for line_item in line_items %}
btaLineItems.push({
id: "{{ line_item.id }}",
sku: "{{ line_item.sku}}",
name: "{{ line_item.title }}",
brand: "{{ line_item.vendor }}",
category: "{{ line_item.product.type }}",
quantity: {{ line_item.quantity }},
variant: "{{ line_item.variant.title }}",
price: {{ line_item.final_price}}/100
});
{% endfor %}
{% if first_time_accessed %}
bta("purchase", {
transactionId: "{{checkout.order_id}}",
value: {{checkout.total_price}}/100,
tax: {{checkout.tax_price}}/100,
shipping: {{checkout.shipping_price}}/100,
storefrontId: "{{ shop.id }}",
storefrontName: "{{ shop.name }}",
currency: "{{ currency }}",
locale: Shopify.locale,
{% if discount_code != '' %}discountCode: "{{discount_code}}",{% endif %}
{% if line_items and line_items.size > 0 %}items: btaLineItems{% endif %}
});
{% endif %}
</script>
# View Item Event
If you wish to record details of an item/product view (the purchase event is the most important to track), use the following code sample.
In the Shopify admin area, open the Online Store settings from Sales Channels > Online Store.
Select Edit Code from Sales Channels > Online Store > Themes for your theme.

From the list of template files, select/open the product-template.liquid file. Ensure that you have added the Backtracks Attribution installation code to your storefront's theme.

Save your changes and that's it!
{% unless product == empty %}
{% assign current_variant = product.selected_or_first_available_variant %}
<script>
var btaLineItems = [];
btaLineItems.push({
id: "{{ product.id }}",
sku: "{{ current_variant.sku}}",
name: "{{ product.title }}",
brand: "{{ product.vendor }}",
category: "{{ product.type }}",
variant: "{{ current_variant.title }}",
price: {{ current_variant.price}}/100
});
bta("viewitem", {
storefrontId: "{{ shop.id }}",
storefrontName: "{{ shop.name }}",
currency: Shopify.currency["active"],
locale: Shopify.locale,
items: btaLineItems
});
</script>
{% endunless %}