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

Home > Blog >

TMRW's Logistics Transformation: How ClickPost Streamlined Their Growth

TMRW's Logistics Transformation: How ClickPost Streamlined Their Growth

Rohan Ganguly
By Rohan Ganguly

Ready to ship smarter? Talk to our logistics experts.

Trusted by 600+ brands

In this blog

    From Humble Beginnings to Reimagining the Future

    , the Aditya Birla Group’s House of Brands is a tech-led online marketplace that is on a mission to empower young founders and build India’s largest portfolio of digital-first fashion and lifestyle brands. 

    TMRW has offered a platform for brands like , , , Veirdo and many more to showcase their products. From design and sourcing to marketing and e-commerce, TMRW gives new-age entrepreneurs the tools to dream big and scale fast.

    Rising Demand and Operational Challenges

    As TMRW’s popularity surged, so did its order volumes. It more than doubled its revenue in FY25, reporting in Q2 and INR 318 crore in H1, a 101% year-on-year increase.

    Despite rapid growth, TMRW faced operational bottlenecks:

    1. Inefficient carrier allocation slowing dispatches

    2. Fragmented tracking making visibility difficult

    3. Cumbersome returns management increasing manual workload

    Manual processes couldn’t keep up with rising demand, leading to delivery delays, missed SLAs, and frustrated customers.

    Seeking Seamless Automation: The Ultimate Upgrade!

    To scale without hurting customer experience, TMRW needed smarter logistics with automated carrier allocation, real-time tracking, and streamlined returns. ClickPost delivered outstandingly by transforming operations and setting a new benchmark for efficiency. It took up the following challenges:

    Challenges TMRW Faced Before ClickPost

    1. Manual Courier Allocation

    • Time-consuming and error-prone delivery operations.

    • Inefficient routing and delayed dispatches.

    • Inconsistent delivery times during peak periods

    2. Manual Tracking

    • Fragmented spreadsheets and multiple portals

    • Lack of real-time visibility

    • Missed updates and increased WISMO queries

    3. Manual Returns Management

    • Slow inventory reconciliation and refunds

    • Higher risk of errors

    • Prolonged resolution time and added operational overhead

    TMRW’s Path to Intelligent Logistics

    TMRW was struggling with manual courier allocation, fragmented tracking, and cumbersome returns management. ClickPost stepped in to simplify and automate their logistics operations.

    In the words of the TMRW’s Project Manager, :

    "ClickPost helped us with courier allocation ,tracking, and returns management. We also appreciate the accuracy and smart allocation through the EDD app."

    With ClickPost’s unified platform, TMRW gained:

    • Smarter courier allocation to optimize dispatches

    • Real-time tracking across all shipments and carriers

    • Automated returns management to reduce errors and speed up resolutions

    By addressing these key pain points, ClickPost transformed TMRW’s logistics, enabling faster deliveries, fewer missed SLAs, and improved customer satisfaction. Today, ClickPost powers TMRW’s operations, ensuring every order is tracked, managed, and delivered smoothly.

    How ClickPost Made Logistics Smarter for TMRW

    ClickPost didn’t just automate TMRW’s operations, it restructured the entire delivery workflow, combining real-time intelligence, AI, and seamless integrations to tackle operational bottlenecks.

    Amit Singh, the Project Manager mentioned: “ClickPost has been a great partner for our logistics operations at TMRW house of Brands. The integration is seamless and the support team is fantastic�. Here’s how logistics intelligence made all the difference:

    1. Smarter Courier Allocation

    Instead of spending hours figuring out which courier to pick, ClickPost’s AI takes the call. It weighs speed, cost, and serviceability in real time — and assigns the best partner for each order.

    What it meant for TMRW: Less manual work, faster dispatches, lower costs, and most importantly, customers getting their packages on time, even during peak rushes.

    2. Unified Dashboard for Tracking

    Forget hopping between courier dashboards or updating spreadsheets. ClickPost gave TMRW one clean dashboard that shows where every shipment is, across 500+ carriers. Customers now get live updates on WhatsApp, SMS, and email without asking.

    What it meant for TMRW: Better visibility for the team, fewer “Where’s my order?� calls, and a big trust boost from customers.

    3. Hassle-Free Returns

    Returns are never fun, but they’re a part of e-commerce. With ClickPost, the returns process is fully automated from generating return requests to self-serve returns portal.

    What it meant for TMRW: Returns stopped being an operational headache. The team saves hours every day, errors dropped, and customers get faster resolutions.

    4. Predicting Problems Before They Happen

    ClickPost doesn’t just monitor deliveries, it predicts delays using past data and real-time signals. If a shipment looks at risk, the system alerts TMRW so action can be taken early.

    What it meant for TMRW: Missed deliveries went down, customers got timely heads-ups, and the brand looked more reliable.

    5. One API to Rule Them All

    Instead of juggling multiple systems, ClickPost’s universal API became the central nervous system for TMRW’s logistics. Every brand and courier is connected in one place.

    What it meant for TMRW: New brands or couriers can be onboarded quickly, processes are automated, and the entire delivery network runs in sync.

    Key Takeaways: TMRW x ClickPost

    With ClickPost, TMRW transformed its logistics from a manual, fragmented process into a smart, automated, and scalable system. Orders are routed intelligently, tracked in real time, and returns handled seamlessly allowing TMRW to scale its brand portfolio without compromising on customer experience.

    Highlights:

     

    • Smarter Courier Allocation: AI-driven routing ensures faster, cost-effective deliveries and reduces manual effort.

    • Unified Tracking: One dashboard consolidates all shipments with automated notifications, boosting transparency and customer trust.

    • Automated Returns: Streamlined returns management reduces errors, speeds up resolution, and frees operational bandwidth.

    • Predictive SLA Monitoring: Early alerts on at-risk shipments prevent delays and missed deliveries.

    • Seamless Integrations: Centralized API connects all carriers and brands, simplifying operations and enabling easy scalability.

    • Operational Efficiency & Customer Satisfaction: Automation turns logistics into a growth enabler, enhancing both team productivity and the end-customer experience.

    Bottom Line: With ClickPost, TMRW can now focus on growing its brands, delighting customers, and scaling smarter, turning logistics from a challenge into a competitive advantage.

    The Logistics Automation Platform for E-commerce

    Momentum Leader - G2 Users Most Likely To Recommend - G2 Best Results Mid-Market - G2
    . 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(); } })();