Shopify is an e-commerce platform that allows you to create, manage and expand online shops in a user-friendly way.
1. In the Shopify backend on the left-hand side Sales channels > Online Store > Themes
2. In the current theme click on the 3 dots > Edit code
3. On the left-hand side click templates > Add a new template
4. Create the template as follows:
5. Insert the export template into the blank page:
***Disclaimer of liability***
solute GmbH accepts no liability for the programmes installed on your computer or for their protective equipment (virus scanner or firewall).
The customer is solely responsible for his own data security.
solute GmbH accepts no liability for faults not caused by solute gmbh, even if they are close in time to the support provided.
***By installing the plug-in software, you recognise solute gmbh's disclaimer ***.
***PLEASE COPY THE TEMPLATES BELOW (FROM THE FIRST "{" TO THE LAST "}" CURLY BRACKETS INTO THE CORRESPONDING TABS OF THE EXPORT MODULE***
{%- layout none -%}{%- paginate collections.all.products by 1000 -%}{%- if paginate.current_page <= paginate.pages -%}
{%- for product in collections.all.products -%}{%- for variant in product.variants -%}{%- if variant.available -%}
{"item_group_id":{{ variant.product.id | json }}{%- comment -%}{%- endcomment -%}
,"aid":{{ variant.id | json }}{%- comment -%}{%- endcomment -%}
{%- if variant.title != 'Default Title'-%}{%- assign name = product.title - variant.title -%}{%- else -%}{%- assign name = product.title -%}{%- endif -%},"name":{{ name | strip | strip_html | strip_newlines | truncate: 200 | json }}{%- comment -%}{%- endcomment -%}
{%- if product.vendor -%},"brand":{{ product.vendor | strip | strip_html| strip_newlines | truncate: 70 | json }}{%- endif -%}
{%- if product.type -%},"product_type":{{ product.type | strip | strip_html| strip_newlines | json }}{%- endif -%}
{%- assign shop_cat = '' -%}{%- for collection in product.collections -%}{%- if collection.title -%}{%- assign shop_cat = shop_cat | append: collection.title -%}{%- unless forloop.last -%}{%- assign shop_cat = shop_cat | append:' > ' -%}{%- endunless -%}{%- endif -%}{%- endfor -%}{%- if shop_cat -%},"shop_cat":{{ shop_cat | json }}{%- endif -%}
{%- if product.tags.size > 0 -%}{%- assign tags = '' -%}{%- for tag in product.tags -%}{%- assign tags = tags | append: tag -%}{%- unless forloop.last -%}{%- assign tags = tags | append:"," -%}{%- endunless -%}{%- endfor -%},"tags":{{ tags | json }}{%- endif -%}
{%- if variant.barcode -%},"ean":{{ variant.barcode | json }}{%- endif -%}
{%- if variant.sku -%},"mpnr":{{ variant.sku | json }}{%- endif -%}
{%- if product.description -%},"desc":{{ product.description | strip | strip_html| strip_newlines | truncate: 4000 | json }}{%- endif -%}
{%- if variant.image -%}{%- assign image = variant.image | image_url: width: 1000 -%}{%- else -%}{%- assign image = product.featured_image | image_url: width: 1000 -%}{%- endif -%}{%- if image -%},"image":{{ image | replace: "//", "https://" | json }}{%- endif -%}
{%- if product.images.size > 1 -%}{%- assign images = '' -%}{%- for image in product.images -%}{%- if forloop.first -%}{%- continue -%}{%- endif -%}{%- assign img = image | image_url: width: 1000 -%}{%- assign images = images | append: img -%}{%- unless forloop.last -%}{%- assign images = images | append:',' -%}{%- endunless -%}{%- endfor -%},"images":{{ images | replace: "//", "https://" | json }}{%- endif -%}
{%- assign link = shop.url | append: product.url -%}{%- if variant.id -%}{%- assign link = link | append:'?variant=' %}{%- assign link = link | append: variant.id %}{%- assign link = link | append: '&utm_source=web&utm_medium=cpc&utm_campaign=billiger' -%}{%- else -%}{%- assign link = link |append: '?utm_source=web&utm_medium=cpc&utm_campaign=billiger'-%}{%- endif -%},"link":{{ link | json}}{%- comment -%}{%- endcomment -%}
{%- assign availability = 'in stock' -%},"availability":{{ availability | json }}{%- comment -%}{%- endcomment -%}
{%- if variant.compare_at_price and variant.price < variant.compare_at_price -%},"old_price":{{ variant.compare_at_price | divided_by: 100.0 | json }}{%- endif -%}
{%- assign price=variant.price | divided_by: 100.0 -%},"price":{{ price | json }}{%- comment -%}{%- endcomment -%}
{%- if variant.inventory_policy == 'continue' and variant.inventory_quantity > 1 -%}{%- assign stock = 42 -%}{%- elsif variant.inventory_management -%}{%- assign stock = variant.inventory_quantity -%}{%- else -%}{%- assign stock = 42 -%}{%- endif -%},"stock_quantity":{{ stock | json }}{%- comment -%}{%- endcomment -%}
{%- if variant.unit_price_measurement -%}{%- assign upm = variant.unit_price_measurement.quantity_value | append: variant.unit_price_measurement.quantity_unit -%},"upm":{{ upm | json }}{%- comment -%}{%- endcomment -%}
{%- assign upbm = variant.unit_price_measurement.reference_value | append: variant.unit_price_measurement.reference_unit -%},"upbm":{{ upbm | json }}{%- endif -%}
{%- assign weight=variant.weight | weight_in_unit | divided_by: 1000.0 -%},"dlv_cost":{%- if price >= 39 -%}0{%- else -%}4.90{%- endif -%}
{%- assign dlvCostAT = 14.90 -%},"dlv_cost_AT":{{ dlvCostAT | json }}{%- comment -%}{%- endcomment -%}
{%- assign dlv = '2-4 Werktage' -%},"dlv_time":{{ dlv | json }}{%- comment -%}{%- endcomment -%}
{%- if variant.weight > 0 -%},"weight":{{ variant.weight | weight_with_unit | json }}{%- endif -%}{%- comment -%}{%- endcomment -%}
{%- for product_option in product.options_with_values -%}{%- if product_option.name != 'Title' -%},{{ product_option.name | json }}:{%- for option in variant.options -%}{%- if product_option.values contains option -%}{{ option | strip | strip_html| strip_newlines | json }}{%- endif -%}{%- endfor -%}{%- endif -%}{%- endfor -%}{%- comment -%}{%- endcomment -%}
{%- if product.metafields.custom.size > 0 -%}{%- for field in product.metafields.custom -%},"meta_{{ field.first }}":"{{ field.last | strip | strip_html| strip_newlines | replace: '"','' | replace: '[','' | replace: ']','' }}"{%- endfor -%}{%- endif -%}{%- comment -%}{%- endcomment -%}
}
{% endif %}{% endfor %}{% endfor %}{% endif %}{% endpaginate %}
?>
The following data fields cannot be read out directly, but must be stored permanently (or with rules depending on price, weight, etc.):
6. Adjust the fields that cannot be read according to the information in the shop. In the upper template, the delivery costs are determined based on the price (DE: up to €50: 4,90 € shipping costs, over 50€: Free shipping; AT: up to 100 €: 6,90 € shipping costs, over 100 €: Free shipping). Then save the template at the top right and click the button at the top left to return to the Shopify backend.
7. In the Shopify backend on the left side on pages
8. On the top right at add page
9. Enter "solute-feed" as the title and select solute-feed as the theme template. The page must also be visible. After save, the feed can be accessed at the following URL: https://IhrShop.myshopify.de/pages/solute-feed
1. Under "Settings > Customer events" in the top right-hand corner, select "Add custom pixel"
2. Assign a suitable name (e.g. "Solute Tracking") and the "Add pixel"
3. Insert the following code:
***Disclaimer of liability***
solute gmbh accepts no liability for the programmes installed on your computer or for their protective equipment (virus scanner or firewall).
The customer is solely responsible for his own data security.
solute gmbh accepts no liability for faults not caused by solute gmbh, even if they are close in time to the support provided.
***By installing the plug-in software, you recognise solute gmbh's disclaimer ***.
***PLEASE COPY THE TEMPLATES BELOW (FROM THE FIRST "{" TO THE LAST "}" CURLY BRACKETS INTO THE CORRESPONDING TABS OF THE EXPORT MODULE***
analytics.subscribe('product_viewed', (event) => {
(function soluteLandingTracking(){
if (event.context.document.location.href.indexOf("soluteclid") < 0) return;
browser.localStorage.setItem("soluteclid", (new Date()).getTime()+" "+event.context.document.location.href);
var url = "https://cmodul.solutenetwork.com/landing";
url += "?url=" + encodeURIComponent(event.context.document.location.href);
var req = new XMLHttpRequest();
req.open("GET", url);
req.send();
})();
});
analytics.subscribe('checkout_completed', async (event) => {
const val = event.data.checkout.subtotalPrice.amount;
const oid = event.data.checkout.order.id;
const sclid = await getSclid();
soluteConversionTracking({
SCLID: sclid,
VALUE: val,
ORDER_ID: oid,
FACTOR: "1",
});
});
function getSclid() {
var sclid = browser.localStorage.getItem('soluteclid');
return sclid;
}
function soluteConversionTracking(data) {
const ttl = 1000*60*60*24*30;
var a = data.SCLID;
if (!a) return;
const b = a.split(" ", 2);
if (parseInt(b[0])+ttl > (new Date()).getTime()) {
var url = "https://cmodul.solutenetwork.com/conversion";
url += "?val=" + encodeURIComponent(data.VALUE);
url += "&oid=" + encodeURIComponent(data.ORDER_ID);
url += "&factor=" + encodeURIComponent(data.FACTOR);
url += "&url=" + encodeURIComponent(b[1]);
var req = new XMLHttpRequest();
req.open("GET", url);
req.send();
} else {
browser.localStorage.removeItem("soluteclid");
}
}
4. Click on "Save" at the top right and then also on "Connect" at the top right
5. Confirm the connection by clicking "Connect".
Our Technical Shop Support will be happy to help you.
Tel: +49 721-98993-60
(For direct dialling, select "1" in the voice menu and then "2".)