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 */
});
});
})();
Track DB Schenker Packages with the ClickPost Tracking Page
Get the tracking numbers from DB Schenker.
Head over to the official tracking portal of ClickPost.
Fill in the bar with the tracking numbers.
Click on “Track Your Order” to get real-time updates.
Track DB Schenker Packages on the Official Page
Visit the official tracking portal of DB Schenker.
Enter the tracking ID in the given bar.
Hit “Track.”
The shipment status will appear on the screen shortly.
List of DB Schenker APIs
API
Description
Manifestation and Label Generation API
Automate label printing and AWB generation for faster shipping.
Track Shipment API
Monitor shipments across multiple carriers, including DB Schenker, in one place.
Cancellation API
Trigger cancellations instantly with this API.
EDD API
Show EDD across product, checkout, and tracking pages.
NDR Action Update
Push NDR reports directly to carriers and automate NDR management.
Return Webhooks
Monitor returns and refunds through DB Schenker-integrated webhooks.
API & Description
Manifestation and Label Generation API
Automate label printing and AWB generation for faster shipping.
Track Shipment API
Monitor shipments across multiple carriers, including DB Schenker, in one place.
Cancellation API
Trigger cancellations instantly with this API.
EDD API
Show EDD across product, checkout, and tracking pages.
NDR Action Update
Push NDR reports directly to carriers and automate NDR management.
Return Webhooks
Monitor returns and refunds through DB Schenker-integrated webhooks.
Frequently asked questions
Everything you need to know about ClickPost’s Carriers Integration
What are the key advantages of consolidating DB Schenker’s data with ClickPost’s multi-carrier tracking?
Once you consolidate DB Schenker’s data with ClickPost's tracking system, you will have real-time visibility of shipments across multiple carriers on a unified dashboard, including those of DB Schenker. This centralized approach eliminates the constant juggling of portals and makes the process more streamlined. Plus, your team can respond faster to delivery delays and exceptions. At the same time, you can benchmark DB Schenker’s delivery performance against other carriers to optimize shipping strategy.
How frequently does ClickPost update DB Schenker’s shipment status for accurate tracking?
Typically, ClickPost uses tracking APIs and webhooks to pull real-time tracking updates from the DB Schenker portal. The tracking APIs fetch checkpoint-specific updates periodically with zero to minimal latency. In case you configure the webhooks on ClickPost's platform, the shipping updates will be pushed directly to your system in real time.
Can ClickPost automate customer notifications regarding the status of DB Schenker deliveries?
Without a doubt! ClickPost sends automated notifications to shoppers at every milestone throughout the delivery process. These notifications are sent to customers via multiple channels, such as e-mail, SMS, and WhatsApp, and can be customized with personalized content, brand details, and local languages.
Does ClickPost optimize performance for DB Schenker shipments through data-driven insights?
Yes! ClickPost offers data-driven insights into the delivery performance of DB Schenker. It offers insights into various aspects such as RTO reports, on-time delivery reports, SLA breach reports, OFD reports, NPS reports, and so on.
What is DB Schenker ?
Founded in 1972 and headquartered in Germany, DB Schenker is a global logistics company. This company is known for its comprehensive shipping solutions and robust logistics infrastructure. It boasts of having an extensive land transport network and offers various solutions under its land transportation service. These mostly include parcel shipping, groupage shipping, PTL & FTL services, and express shipping. DB Schenker’s air freight solution is ideal for businesses looking to ship time-sensitive goods. Its air freight network covers 700 locations in 130 countries worldwide. The air freight option also offers a range of solutions, including express shipping, in-house flight operations, intercontinental supply chain service, and so on. With its ocean freight option, you will benefit from solutions such as FCL & LCL shipping, temperature-sensitive goods shipping, etc. So far, it has over 5,500 ocean freight containers, working daily to ship products worldwide. In addition, DB Schenker also offers warehousing, contract logistics, and supply chain solutions. To support the logistics and supply chain processes, DB Schenker has introduced various technology solutions. Recently, it has collaborated with DSV to expand its global transportation and logistics footprint.