and runs during HTML parse, but hubspotutk is set by js.hs-analytics.net, measured loading at ~834ms. On a first visit the cookie does not exist yet, so a single read returns nothing and the visitor gets no external ID at all — and a first visit is exactly what an ad click is. So poll briefly until HubSpot sets it. The SDK loads lazily (~4.5s) and replays a queue, so an init queued a second or two in still lands before any events are transmitted. */ (function attachExternalId() { var attempts = 0; var MAX_ATTEMPTS = 40; /* 40 x 200ms = 8s, then give up quietly */ var timer = null; function tryAttach() { var raw = getExternalId(); if (!raw) { if (++attempts >= MAX_ATTEMPTS && timer) clearInterval(timer); return; } if (timer) clearInterval(timer); sha256Hex(raw).then(function (hash) { oaiq("init", { user: { external_id_sha256: hash } }); }).catch(function () {}); } tryAttach(); /* returning visitor: immediate */ if (!getExternalId()) timer = setInterval(tryAttach, 200); })(); /* --------------------------------------------------------------------------- 2. Load the SDK off the critical path Whichever comes first: the main thread going idle after load, or the first sign of real user intent. No preconnect on purpose — a TLS handshake during LCP for a script we deliberately deferred is a net loss. Measured on clickpost.ai: load event 3614ms, SDK fetched 4508ms. ------------------------------------------------------------------------ */ var loaded = false; var INTENT = ["pointerdown", "keydown", "scroll"]; function loadSdk() { if (loaded) return; loaded = true; INTENT.forEach(function (t) { removeEventListener(t, loadSdk, { passive: true }); }); var s = document.createElement("script"); s.src = SDK; s.async = true; s.fetchPriority = "low"; document.head.appendChild(s); } INTENT.forEach(function (t) { addEventListener(t, loadSdk, { passive: true, once: true }); }); addEventListener("load", function () { window.requestIdleCallback ? requestIdleCallback(loadSdk, { timeout: 2500 }) : setTimeout(loadSdk, 1500); }, { once: true }); /* --------------------------------------------------------------------------- 3. Conversion id sha256(lowercase(email) + "|" + formId + "|" + ISO-hour), first 20 hex, "lead_" prefix. - email lowercased/trimmed so casing does not fork the id - formId keeps two different forms in the same hour from colliding - the hour bucket is only the server's fallback; the id computed here is sent to the relay verbatim, so the two paths cannot disagree even when a submit straddles an hour boundary Ads Manager's own sample omits event_id. We send it so the pixel event and the relay event collapse into one conversion instead of counting twice. ------------------------------------------------------------------------ */ function buildEventId(email, formId) { var seed = [ String(email || "").trim().toLowerCase(), String(formId || ""), new Date().toISOString().slice(0, 13) ].join("|"); return crypto.subtle.digest("SHA-256", new TextEncoder().encode(seed)).then(function (buf) { var hex = Array.prototype.map.call(new Uint8Array(buf), function (b) { return b.toString(16).padStart(2, "0"); }).join(""); return "lead_" + hex.slice(0, 20); }); } /* Guards a re-fire from the history.pushState that book-a-demo-core.js runs after submit, and from back-navigation onto the same state. */ function firedOnce(id) { try { if (sessionStorage.getItem("oaiq_" + id)) return true; sessionStorage.setItem("oaiq_" + id, "1"); return false; } catch (e) { return false; /* private mode / blocked storage: fire rather than lose it */ } } /* Path 2. keepalive lets the request finish even if the page navigates away. Failures are swallowed deliberately: a reporting call must never surface an error to someone who just submitted a form. The relay hashes the email server-side into user.emails_sha256 and adds the caller's IP and user agent, so this event carries the same match signals the pixel gets for free. */ function sendToRelay(email, formId, eventType, eventId) { try { var payload = { token: RELAY_TOKEN, email: email, form_id: formId || "", event_type: eventType, event_id: eventId, /* verbatim, so both paths always match */ source_url: location.href }; var oppref = getOppref(); if (oppref) payload.oppref = oppref; var externalId = getExternalId(); if (externalId) payload.external_id = externalId; fetch(RELAY_URL, { method: "POST", keepalive: true, headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).catch(function () {}); } catch (e) {} } /* Capture the email while the form is still on the page. onFormSubmitted does not reliably carry submissionValues, and by then the form may be removed. */ var lastEmail = ""; document.addEventListener("submit", function (e) { var f = e.target; if (!f || !f.querySelector) return; var i = f.querySelector('input[name="email"], input[type="email"]'); if (i && i.value) lastEmail = i.value; }, true); /* Every HubSpot form on the site reports through this one message event, so no module or theme JS needs editing to add coverage. */ window.addEventListener("message", function (e) { var d = e.data; if (!d || d.type !== "hsFormCallback" || d.eventName !== "onFormSubmitted") return; var email = (d.data && d.data.submissionValues && d.data.submissionValues.email) || lastEmail; if (!email) return; /* without an email there is no stable id to dedupe on */ var eventType = EVENT_BY_FORM[d.id] || EVENT_DEFAULT; buildEventId(email, d.id).then(function (id) { if (firedOnce(id)) return; oaiq("measure", eventType, { type: DATA_TYPE }, { event_id: id }); /* path 1 */ sendToRelay(email, d.id, eventType, id); /* path 2 */ }); }); })();

91ÊÓƵ

See where your logistics stands on automation Start assessment

 

Cookie Policy

 

We, Felurian Technology Private Limited (“the Company”, “we”, “us”, “our”) generally use cookies and other similar tracking technologies to assess your activities on our website, www.clickpost.ai (“the Website”), and provide you with a better user experience.

The safety of your personal information is our first priority, and we are committed to protecting that at all costs. That’s why we request you to go through the entire Cookie Policy along with our Privacy Policy, so you can get clarity on how we use cookies without harming your private information.

 

What Are Cookies And How Do They Work?

Cookies (also known as internet cookies, browser cookies, or web cookies) are small alphanumeric files that are stored on your device by a website or web server. When you visit a website, it sends you these cookies. Cookies record information such as your preferences, search history, movements on that website, etc.

When you return to the site next time, your browser then sends those cookies back to the server. These cookies help websites like ours recognize your device, learn about users’ behavior, and personalize the whole website experience as per your needs and choices. 

 

What Types of Cookies Are Used by Us? 

Here is detailed information on the types of cookies we use: 

1) Permanent Cookies:

Permanent cookies, or persistent cookies are stored on your device for a predetermined period. We mainly use these permanent cookies to provide a personalized experience every time you visit our website. These cookies help us remember your sign-in details and your preferences. Hence, when you revisit our website after signing in, you won’t have to sign in again, and an individualized experience will be provided to you. 

2) Session Cookies:

Session cookies remain on your device only for the session duration. They automatically get erased once you close the browser. These session cookies help us keep you logged in and provide a seamless experience as you browse through various pages of our website. 

Based on their domain of origin, these cookies are classified into two categories:

3) First-party cookies:

This type of cookie is generated and stored by our web server when you visit the website. 

4) Third-party cookies:

These cookies are stored on your device by third-party domains or external sources (other than our website). The third-party cookies track your browsing behavior and may share information with us and other websites. 

5) Analytical Tools:

To analyze your activities on our site, we use two analytical tools:

1) Google Analytics:


Google Inc. (“Google”) offers a dedicated web analytics solution named Google Analytics. Google Analytics generates cookies and stores them on your computer to help us analyze your browsing behavior on our domain.

These may include page visits, links you click on, etc. These data are then transferred and stored by Google on servers in the US. Note that we don’t have direct control over these cookies.

However, you have the flexibility to disable this process of data collection by Google Analytics. Visit this link () and download the browser plugin for your operating web browser to prevent this activity.  

 

2) Hubspot:


We use the Hubspot analytics tool on our website. This solution is mainly used to manage traffic on our site and measure our site performance. 

 

Why Do We Use Cookies? 

Our main priority is to make your interaction with us more efficient and reliable. To attain this ultimate goal, we use the data collected through cookies for the following activities:

1. User preferences:

The retrieved data from cookies helps us and the website remember your interests, login credentials, and preferences like your selected language and region. Based on these, the website changes its behavior and looks. This information also may help show customized content and targeted advertisements. 

2. Website security & optimization:

These cookies help us verify authentic users, block unauthorized login attempts, and safeguard our users’ data from illegal parties. To prevent certain types of digital attacks, like data theft and content scraping, we may also use special cookies on our website.

3. Efficient site navigation & website experience:

Cookies can remember what a user wants from our website. Based on that information, they help the website function more efficiently and fulfill customers' needs, like helping them navigate the web pages, providing them access to the safest areas of the website, etc. 

4. Personalized advertising:

Cookies capture your tastes and preferences from your browser activities. These may assist us in crafting hyper-personalized ads and setting targeted marketing campaigns. In addition to that, the information gathered from cookies may also be helpful to improve our campaign performance and prevent us from displaying recurring ads on your feed.  

5. Effective communication

We use the information captured through cookies to improve our communication with you. This can be in the form of sending personalized newsletters, collecting your feedback and opinions, and providing you with customized services. 

6. Analysis and Research:

We always try to improve our users’ experience. That’s why we use the cookie information to better analyze our visitors’ interactions with our products. As a result, this further helps us eliminate any loopholes and provide a better experience to our customers. 

 

Can You Disable the Cookies Offered by Us? 

Whether you want to disable these cookies or keep them operating completely depends on your choice. You’ll have the flexibility to block the cookies. Irrespective of the browser you’re using (Google Chrome, Safari, Microsoft, and more),

you’ll find a “Settings” section. You can adjust the settings as per the browser’s policy to block the cookies. Please be aware of the fact that if you disable cookies, you won’t be able to access certain functionalities of our website, and your experience might be affected.  

 

How Long Do We Retain Your Personal Data?

We will safely store your private details as long as they are needed to achieve the purposes we mentioned above in this cookie policy.

Our company is obliged to store your data for the timeframe necessary to adhere to the regulatory obligations (for instance, if some of our applicable laws require us to keep your personal information for legal purposes), mitigate any disagreements or disputes, and implement our legal contracts and policies. Moreover, we will retain your data until our internal analysis purposes are fulfilled. 

Most of the time, we retain your private details for a shorter period. But, in certain cases like when data is stored for security reasons and legal requirements, or for improving our website functionality, your personal data safely remains with us for a longer period. 

 

Do We Transfer Your Personal Information?

Your data is often handled and processed at our offices and in other locations where our official parties (who are involved in the data processing) are located. Because of that, the information may be passed and stored on different devices located outside your state, region, country, and governance area.

In those locations, the data protection laws and regulations might differ from those in your own administration. When you agree with this cookie policy and submit your details, we consider it your consent to this data transfer. 

Please note that we value your privacy. That's why we’ll take every possible action to keep your details safe and secure. If adequate measures in terms of data security are not taken by any parties, organizations, or countries, we won’t transfer your data to them.

 

Will We Change This Cookie Policy?

We may make changes (if we add or remove cookies and technologies) to this cookie policy in the future. If we do so, we’ll update this policy and make it available on this website. We request you to visit this page periodically for the latest information. 

 

Have Any Further Queries? 

If you have any doubts or concerns regarding this policy, or if you want to know more details, please reach out to us at security@clickpost.in. 

. window.disableHubSpotCookieBanner = true; function killNative() { var n = document.getElementById("hs-eu-cookie-confirmation"); if (n && n.parentNode) { n.parentNode.removeChild(n); return true; } return false; } killNative(); if (window.MutationObserver) { var mo = new MutationObserver(function () { killNative(); }); mo.observe(document.documentElement, { childList: true, subtree: true }); setTimeout(function () { mo.disconnect(); }, 15000); } var COOKIE = "cp_cookie_consent"; var EU = ["at","be","bg","hr","cy","cz","dk","ee","fi","fr","de","gr","hu","ie","it","lv","lt","lu","mt","nl","pl","pt","ro","sk","si","es","se","gb","uk","is","li","no","ch"]; function readCookie(nm) { var m = document.cookie.match(new RegExp("(?:^|; )" + nm + "=([^;]*)")); return m ? decodeURIComponent(m[1]) : null; } function writeCookie(nm, val, days) { var d = new Date(); d.setTime(d.getTime() + (days * 864e5)); document.cookie = nm + "=" + encodeURIComponent(val) + ";expires=" + d.toUTCString() + ";path=/;SameSite=Lax" + (location.protocol === "https:" ? ";Secure" : ""); } function stored() { var raw = readCookie(COOKIE); if (!raw) return null; try { var o = JSON.parse(raw); if (typeof o.analytics === "boolean") return o; } catch (e) {} return null; } function apply(state, revoke) { window._hsp = window._hsp || []; window._hsp.push(["setHubSpotConsent", { analytics: !!state.analytics, advertisement: !!state.advertisement, functionality: !!state.functionality }]); if (revoke && !state.analytics && !state.advertisement && !state.functionality) { window._hsp.push(["revokeCookieConsent"]); } window.dataLayer = window.dataLayer || []; window.dataLayer.push({ event: "cp_cookie_consent", cp_consent_analytics: !!state.analytics, cp_consent_advertisement: !!state.advertisement, cp_consent_functionality: !!state.functionality }); document.documentElement.setAttribute("data-cp-consent", "set"); } function inScope(banner) { if (banner.getAttribute("data-scope") !== "eu_only") return true; var geo = (document.body.getAttribute("data-geo_location") || "").toLowerCase(); if (!geo) return true; return EU.indexOf(geo) !== -1; } function init(banner) { var days = parseInt(banner.getAttribute("data-days"), 10) || 180; var prefs = banner.querySelector("[data-cpcb-prefs]"); var compact = banner.querySelector('[data-cpcb-actions="compact"]'); var expanded = banner.querySelector('[data-cpcb-actions="expanded"]'); var toggles = banner.querySelectorAll("[data-cpcb-toggle]"); function show() { banner.hidden = false; requestAnimationFrame(function () { banner.classList.add("is-visible"); }); } function hide() { banner.classList.remove("is-visible"); setTimeout(function () { banner.hidden = true; }, 300); } function collapse() { if (!prefs) return; prefs.hidden = true; if (expanded) expanded.hidden = true; if (compact) compact.hidden = false; } function expand() { if (!prefs) return; prefs.hidden = false; if (compact) compact.hidden = true; if (expanded) expanded.hidden = false; } function paint(state) { Array.prototype.forEach.call(toggles, function (t) { var key = t.getAttribute("data-cpcb-toggle"); if (key === "necessary") { t.setAttribute("aria-checked", "true"); return; } t.setAttribute("aria-checked", state[key] ? "true" : "false"); }); } function fromToggles() { var state = { analytics: false, advertisement: false, functionality: false }; Array.prototype.forEach.call(toggles, function (t) { var key = t.getAttribute("data-cpcb-toggle"); if (key in state) state[key] = t.getAttribute("aria-checked") === "true"; }); return state; } function commit(state, revoke) { writeCookie(COOKIE, JSON.stringify({ analytics: !!state.analytics, advertisement: !!state.advertisement, functionality: !!state.functionality, v: 1, ts: Date.now() }), days); apply(state, revoke); hide(); } Array.prototype.forEach.call(toggles, function (t) { if (t.disabled) return; t.addEventListener("click", function () { t.setAttribute("aria-checked", t.getAttribute("aria-checked") === "true" ? "false" : "true"); }); }); banner.addEventListener("click", function (e) { if (!e.target || !e.target.closest) return; var btn = e.target.closest("[data-cpcb-action]"); if (!btn) return; var action = btn.getAttribute("data-cpcb-action"); if (action === "customise") { expand(); return; } if (action === "accept") { commit({ analytics: true, advertisement: true, functionality: true }, false); return; } if (action === "reject") { commit({ analytics: false, advertisement: false, functionality: false }, true); return; } if (action === "save") { commit(fromToggles(), true); return; } }); var existing = stored(); if (existing) { apply(existing, false); paint(existing); collapse(); } else if (!inScope(banner)) { // Out of the consent-required region: implied consent, banner never shown. commitSilently(); } else { collapse(); show(); } function commitSilently() { var all = { analytics: true, advertisement: true, functionality: true }; writeCookie(COOKIE, JSON.stringify({ analytics: true, advertisement: true, functionality: true, v: 1, ts: Date.now(), implied: true }), days); apply(all, false); } // Public re-open hook for a footer "Cookie settings" link. window.cpCookieBanner = window.cpCookieBanner || {}; window.cpCookieBanner.open = function () { var s = stored() || { analytics: false, advertisement: false, functionality: false }; paint(s); expand(); show(); }; } function boot() { var banners = document.querySelectorAll("[data-cpcb]"); if (!banners.length) return; init(banners[0]); document.addEventListener("click", function (e) { if (!e.target || !e.target.closest) return; var trigger = e.target.closest("[data-cp-cookie-settings]"); if (!trigger) return; e.preventDefault(); if (window.cpCookieBanner && window.cpCookieBanner.open) window.cpCookieBanner.open(); }); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", boot); } else { boot(); } })();