shopify

Shopify is an e-commerce platform that allows you to create, manage and expand online shops in a user-friendly way.

› Create data feed in Shopify

Instructions

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:

  • Wähle die Vorlage aus, die du erstellen möchtest: page
  • liquid
  • Dateiname: solute-feed

5. Insert the export template into the blank page:

Show export template for the feed configuration

***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.):

  • dlv_cost
  • dlv_time
  • dlv_cost_at (optional)

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

› Integration of conversion tracking

Instructions

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:

Show code for conversion tracking

***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".

Got any questions? Please contact us!

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".)

E-mail