UNPKG

@mntm/stats

Version:

A package for integrating analytics tools

49 lines (48 loc) 1.36 kB
import { safeWindow } from '../dom.js'; import { loadScript, thenable } from '../utils.js'; /** * Implement VK Pixel * * @param code VK-RTRG-XXXXXXX-YYYYY */ export const createPixelVK = (code) => { /* eslint-disable new-cap */ const context = safeWindow; const load = loadScript('https://vk.com/js/api/openapi.js?169'); const ready = load.then(() => { if (context.VK) { context.VK.Retargeting.Init(code); } else { throw new Error('net::ERR_BLOCKED_BY_CLIENT'); } }); const pixel = { hit() { return thenable(ready, () => { context.VK.Retargeting.Hit(); }); }, event(event) { return thenable(ready, () => { context.VK.Retargeting.Event(event); }); }, product(id, event, params) { return thenable(ready, () => { context.VK.Retargeting.ProductEvent(id, event, params || {}); }); }, audience(id) { return thenable(ready, () => { context.VK.Retargeting.Add(id); }); }, goal(goal, value) { return thenable(ready, () => { context.VK.Goal(goal, { value: value || 0 }); }); } }; return pixel; };