Skip to content

Instantly share code, notes, and snippets.

@Exellin
Last active November 19, 2018 18:41
Show Gist options
  • Save Exellin/8535bc2422cbe9fe09ffee97734e031f to your computer and use it in GitHub Desktop.
Save Exellin/8535bc2422cbe9fe09ffee97734e031f to your computer and use it in GitHub Desktop.
ClickHook Event Submission
<script>
var apiKey = 'ad82728d7b4c01b7273b46907ef82fe8648c268e05c074ca37f86bb0xxxxx';
var apiAccessToken = '3f89b57564d6aa0c952de57ad58afcf7xxxxx';
function setCookie(name, value) {
document.cookie = name + '=' + value + '; domain=' + location.hostname + '; path=/';
}
function createUid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : r & 0x3 | 0x8;
return v.toString(16);
});
};
function getEventDetails() {
return {
time: new Date().getTime() / 1000.0,
url: window.location.pathname,
params: getQueryParams()
};
}
function getQueryParams() {
var result = {};
var params = new URLSearchParams(location.search);
var _iteratorNormalCompletion = true;
var _didIteratorError = false;
var _iteratorError = undefined;
try {
for (var _iterator = params[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
var param = _step.value;
result[param[0]] = param[1];
}
} catch (err) {
_didIteratorError = true;
_iteratorError = err;
} finally {
try {
if (!_iteratorNormalCompletion && _iterator.return) {
_iterator.return();
}
} finally {
if (_didIteratorError) {
throw _iteratorError;
}
}
}
return result;
}
var uid = {{UID}} || createUid();
if (!{{UID}}) {
setCookie('ch_uid', uid);
}
var xhr = new XMLHttpRequest();
var data = {
type: 'pageview',
uid: uid,
api_key: apiKey,
api_access_token: apiAccessToken,
details: getEventDetails()
}
xhr.open('POST', 'https://leads.clickhook.io/api/tracker/', true);
xhr.setRequestHeader('Content_Type', 'application/json');
xhr.send(JSON.stringify(data));
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment