http://lichtetgiare.vn/tracking/event"
};
function postJson(url, data) {
var body = JSON.stringify(data);
if (navigator.sendBeacon) {
try {
var blob = new Blob([body], {type: 'application/json'});
if (navigator.sendBeacon(url, blob)) return Promise.resolve();
} catch (e) {}
}
return fetch(url, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: body,
credentials: 'same-origin',
keepalive: true
}).catch(function () {});
}
function eventDedupe(type, extra) {
return [type, location.href, extra || '', Math.floor(Date.now() / 60000)].join('|');
}
function trackEvent(type, extra) {
extra = extra || {};
extra.event_type = type;
extra.page_url = extra.page_url || location.href;
extra.dedupe_key = extra.dedupe_key || eventDedupe(type, extra.order_id || extra.href || '');
return postJson(endpoints.event, extra);
}
document.addEventListener('DOMContentLoaded', function () {
trackEvent('page_view', {dedupe_key: eventDedupe('page_view', document.referrer || '')});
});
document.addEventListener('click', function (e) {
var phoneLink = e.target.closest('a[href^="tel:"]');
if (phoneLink) {
trackEvent('click_phone', {
href: phoneLink.href,
metadata: {href: phoneLink.href},
dedupe_key: eventDedupe('click_phone', phoneLink.href)
});
return;
}
var zaloLink = e.target.closest('a[href*="zalo.me"]');
if (!zaloLink) return;
trackEvent('click_zalo', {
href: zaloLink.href,
metadata: {href: zaloLink.href},
dedupe_key: eventDedupe('click_zalo', zaloLink.href)
});
}, true);
document.addEventListener('submit', function (e) {
var form = e.target;
if (!form || !form.action) return;
var action = form.action.toLowerCase();
if (action.indexOf('/home/contact') !== -1 || action.indexOf('/lien-he') !== -1) {
trackEvent('submit_contact_form', {dedupe_key: eventDedupe('submit_contact_form', action)});
} else if (action.indexOf('quote') !== -1 || action.indexOf('bao-gia') !== -1) {
trackEvent('submit_quote_form', {dedupe_key: eventDedupe('submit_quote_form', action)});
}
}, true);
})();