112 lines
4.2 KiB
Plaintext
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>
|
|
|