SHX-Theme/snippets/pagefly-main-js.liquid

112 lines
4.2 KiB
Plaintext

{% if shop.metafields.pagefly.acceptTracking and shop.metafields.pagefly.measurementId %}
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id={{ shop.metafields.pagefly.measurementId }}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '{{ shop.metafields.pagefly.measurementId }}', { groups: 'pagefly' });
window.pfPageInfo = Object.assign(window.pfPageInfo || {})
window.addEventListener("load", () => {
let pageId = window.__pagefly_setting__?.pageId
let pageTitle = window.__pagefly_setting__?.pageTitle
let pageType = window.__pagefly_setting__?.pageType
if(window.__pagefly_page_setting__) {
pageId = window.__pagefly_page_setting__.pageId
pageTitle = window.__pagefly_page_setting__.pageTitle
pageType = window.__pagefly_page_setting__.pageType
}
window.pfPageInfo = Object.assign(window.pfPageInfo || {}, {
pf_page_id: pageId,
pf_page_name: pageTitle,
pf_page_type: pageType,
pf_page_subject_id: '{{ page.id }}',
{% if template.name == 'product' %}
{% assign initial_image_url = product.featured_image | img_url %}
{% assign dynamic_image_path = initial_image_url %}
{% assign BASE_URL = "//cdn.shopify.com/s/files/" %}
{% if initial_image_url and initial_image_url contains BASE_URL %}
{% assign image_paths = initial_image_url | split: BASE_URL %}
{% assign dynamic_image_path = image_paths[1] | default: "" %}
{% endif %}
pf_product_name: '{{ product.title }}',
pf_product_id: '{{ product.id }}',
pf_product_page_image: '{{ dynamic_image_path }}',
{% endif %}
{% if template.name == 'collection' %}
{% assign initial_image_url = collection.featured_image | img_url %}
{% assign dynamic_image_path = initial_image_url %}
{% assign BASE_URL = "//cdn.shopify.com/s/files/" %}
{% if initial_image_url and initial_image_url contains BASE_URL %}
{% assign image_paths = initial_image_url | split: BASE_URL %}
{% assign dynamic_image_path = image_paths[1] | default: "" %}
{% endif %}
pf_collection_name: '{{ collection.title }}',
pf_collection_id: '{{ collection.id }}',
pf_collection_page_image: '{{ dynamic_image_path }}',
{% endif %}
});
setTimeout(function() {
gtag('event', 'pf_view_page', Object.assign({
pf_view_page: 1,
send_to: 'pagefly',
pf_event: 'view_page'
}, window.pfPageInfo))
}, 500);
{% if template.name == 'product' %}
setTimeout(() => {
gtag('event', 'pf_view_product', Object.assign(
{
send_to: 'pagefly',
pf_view_product: 1,
pf_event: 'view_product',
},
window.pfPageInfo)
)
}, 500)
{% endif %}
window.__pagefly_analytics_settings__={
acceptNewTracking: true,
enableTrackingRevenue: {{shop.metafields.pagefly.enableTrackingRevenue | default: false}},
sessionTimeout: {{ shop.metafields.pagefly.sessionTimeout | default: 30 }},
timezoneOffset: {{ shop.metafields.pagefly.timezoneOffset | default: 0 }}
};
if(typeof analyticsSrc === 'undefined'){
let analyticsSrc = "https://cdn.pagefly.io/pagefly/core/analytics.js";
const scriptPFAnalytic = document.createElement('script');
scriptPFAnalytic.src = analyticsSrc;
scriptPFAnalytic.async = true;
scriptPFAnalytic.defer = false;
scriptPFAnalytic.onload = () => {
console.log("load analytics new version successfully")
};
scriptPFAnalytic.onerror = () => {
console.log("load analytics new version unsuccessfully")
};
document.body.appendChild(scriptPFAnalytic);
}
});
</script>
{% endif %}
<script>
window.addEventListener('load', () => {
// fallback for gtag when not initialized
if(typeof window.gtag !== 'function') {
window.gtag = (str1, str2, obj) => {
}
}
})
</script>