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 >

10 Ecommerce Email Marketing Softwares in 2026

10 Ecommerce Email Marketing Softwares in 2026

Sathish Loganathan
By Sathish Loganathan
Tarunya Shankar
Reviewed by This article has been thoroughly reviewed, fact-checked, and compiled using comprehensive, up-to-date information provided by ClickPost — a trusted authority in logistics and eCommerce shipping solutions. Our editorial process ensures accuracy, relevance, and reliability for our readers. Tarunya Shankar

Ready to ship smarter? Talk to our logistics experts.

Trusted by 600+ brands

In this blog

    TL;DR: Best Ecommerce Email Marketing Software in 2026

    Ecommerce email marketing software has moved far beyond batch newsletters. The strongest email marketing platforms now combine email marketing, SMS marketing, and web push notifications with marketing automation and predictive analytics to help ecommerce brands grow profitably.

    Key takeaways for ecommerce businesses

    • Omnisend, Klaviyo, and Drip offer some of the best email marketing services for data-driven ecommerce, with advanced segmentation, dynamic content, and clear revenue attribution.

    • ActiveCampaign, GetResponse, and Brevo are better suited for broader marketing software for ecommerce, combining email campaigns, landing pages, and other marketing tools in one place.

    • MailerLite and Mailchimp remain strong, user-friendly options for small businesses that want a generous free plan and a straightforward drag-and-drop email builder.

    • Encharge and SmartrMail work well as focused marketing automation tools for behaviour-driven flows in ecommerce stores, especially when you need to combine customer data from major ecommerce platforms with simple visual workflows.

    • Growing stores looking for a may also consider platforms that offer usage-based pricing and built-in automation without contact list penalties.

    If you are choosing a new in 2026, shortlist based on your ecommerce store platform, required channels, and the level of automation you can realistically maintain. The right email marketing platform will feel less like a campaign sender and more like a long-term revenue engine that grows with your customers and your brand.

    Why Ecommerce Email Marketing Software Matters More Than Ever in 2026

    For most ecommerce brands, paid traffic is already expensive. The real leverage now lies in how well you convert and retain the people you have. That is where ecommerce email marketing software comes in. A professional, , and the right mix of email marketing, SMS marketing, and automation turns one-off visitors into repeat buyers and helps small businesses compete with much larger players.

    Key highlights

    • Modern email marketing platforms matter more than ever for ecommerce stores in crowded categories.

    • Good combine customer data, automation, and creatives to drive measurable revenue.

    • Infrastructure security is now a prerequisite for growth, as a properly configured protects your brand from spoofing and ensures your emails actually hit the inbox.
    • Look for several key features in ecommerce email marketing software beyond basic newsletters and simple email campaigns.

    • Free plans, predictive analytics, and advanced features change the economics for ecommerce businesses at different stages.

    Top 10 Ecommerce Email Marketing Tools in 2026: Compared by Features and 91ÊÓÆµ

    The right email marketing platforms below focus on ecommerce email marketing, leveraging marketing automation and other channels to drive customer lifetime value rather than just more sends.

     

    Tool

    Primary focus

    Best fit for

    Channels supported

    91ÊÓÆµ snapshot*

    Omnisend

    Omnichannel ecommerce automation

    Ecommerce brands wanting email + SMS + push

    Email, SMS, web push

    Free plan, then scalable paid plans

    Klaviyo

    Data-rich ecommerce personalisation

    Ecommerce stores needing advanced segmentation

    Email, SMS, push

    Free tier, usage-based pricing

    ActiveCampaign

    Automation-led marketing + light CRM

    Brands needing CRM plus email marketing

    Email, SMS

    No free plan, tiered contact-based plans

    GetResponse

    Funnels, webinars, and email in one suite

    Content-heavy ecommerce businesses

    Email, SMS, webinars

    Free plan and multiple paid tiers

    MailerLite

    Simple, affordable email + landing pages

    Small companies and newer ecommerce stores

    Email

    Generous free plan, low-cost upgrades

    Drip

    E-commerce-focused automation and attribution

    Growth-stage ecommerce brands

    Email, SMS

    14-day trial, pricing by contact volume

    Mailchimp

    Broad small-business marketing platform

    Early-stage brands and generalist teams

    Email, postcards, and some ads

    Free plan, Essentials/Standard/Premium

    Brevo

    All-in-one messaging with CRM

    Ecommerce businesses wanting volume-based pricing

    Email, SMS, chat, push

    Free plan with daily cap, email-based tiers

    Encharge

    Behaviour-driven automation

    Ecommerce and SaaS that need product triggers

    Email

    Tiered pricing, formerly lifetime deals

    SmartrMail

    E-commerce-specific campaigns and flows

    Shopify and WooCommerce-focused ecommerce stores

    Email, SMS

    Free plan for small lists, then paid plans

    *91ÊÓÆµ details change frequently and should be checked at the time of evaluation.

    1. Omnisend: Best Omnichannel Email Marketing Platform for Ecommerce Brands

    Omnisend stands out for its ecommerce email marketing software that is omnichannel from day one, combining email, SMS marketing, and web push notifications in a single interface. It is designed for ecommerce brands that want pre-built flows for abandoned cart recovery, welcome emails, and post-purchase journeys without having to wire everything manually.

    Key features

    • Drag and drop editor with ecommerce-specific blocks

    • Pre-built automation workflows for key customer journey stages

    • Audience segmentation using customer data and purchase history

    • Product feed blocks and dynamic content for recommendations

    • Web push notifications and SMS marketing automation

    • Clear attribution to show precisely how much revenue flows from each workflow

    • Free plan plus paid plans as contact lists grow

    2. Klaviyo: Best Email Marketing Software for Data-Driven Ecommerce Segmentation

    Enterprises often see Klaviyo as the best email marketing platform for data-driven ecommerce brands that want granular control. It pulls in rich customer data from major ecommerce platforms and point-of-sale systems, then uses that data to drive advanced segmentation and predictive analytics. The result is targeted messaging rather than batch-and-blast email marketing services. This makes it especially useful for improving the post-purchase experience through highly personalised flows.

    Key features

    • Deep integrations with major ecommerce platforms and payment tools

    • Advanced segmentation and audience modelling

    • Predictive analytics for churn, spend, and customer lifetime value

    • Drag and drop email and drag and drop editor for fast creative work

    • Built-in SMS marketing and mobile push for multiple marketing channels

    • Strong support for transactional emails and event-driven flows

    • Free plans for early-stage ecommerce brands, with scalable paid plans

    3. ActiveCampaign: How to Combine Email Marketing Automation with a Built-In CRM

    ActiveCampaign is a marketing automation-led email marketing platform that many ecommerce businesses use when they need CRM-style context around subscribers. It combines email marketing, sales automation, and customer relationship management into a single digital marketing platform. For brands managing a post-purchase platform alongside outbound campaigns, ActiveCampaign's unified database makes it easier to keep messaging consistent across every stage.

    Key features

    • Visual workflow builder for complex automation tools

    • Email automation and SMS triggers tied to site and purchase events

    • Audience segmentation with lead and deal scoring

    • Landing pages and forms that plug into the same database

    • Native CRM for sales teams alongside marketing efforts

    • B testing for subject lines, content, and send times

    • Tiered paid plans with more marketing automation features at higher levels

    4. GetResponse: What Is GetResponse and Is It Good for Ecommerce Email Marketing?

    GetResponse offers ecommerce email marketing and marketing automation in a single suite, with strong support for funnels and webinars. It is a fit for ecommerce businesses that want lead generation tools, landing pages, and email in one system rather than stitching together several marketing tools. Brands that rely on content marketing to drive traffic will find that GetResponse's funnel and webinar tools pair naturally with their ecommerce supply chain and customer retention efforts.

    Key features

    • Drag and drop email builder with modern email templates

    • Workflow automation for abandoned carts and post-purchase journeys

    • Landing pages and full sales funnels linked to email campaigns

    • Webinars and live events are built into the same email marketing platform

    • Basic automation plus more advanced automation tools on higher tiers

    • Free email marketing software tier for small lists and testing

    • Paid plans that scale by list size and feature set

    5. MailerLite: Best Affordable Email Marketing Tool for Small Ecommerce Stores in 2026

    MailerLite is known as an affordable email marketing tool that still offers a clean interface and sensible ecommerce integrations. It suits ecommerce stores and small businesses that want a user-friendly experience, good email marketing features, and a generous free plan before committing to a budget. The emphasis is on simplicity without sacrificing core automation, making it a practical starting point for D2C brands that are just beginning to formalise their retention marketing.

    Key features

    • User-friendly drag and drop editor and landing page builder

    • Email automation for welcomes, post-purchase, and review requests

    • Integrations with major ecommerce platforms and other tools

    • Audience segmentation and tagging for targeted sends

    • Simple, modern email templates with mobile-friendly layouts

    • Free plan for early-stage shops, then transparent paid plans

    • Support for digital products, upsells, and basic ecommerce email marketing

    6. Drip: How Drip Helps Growth-Stage Ecommerce Brands Attribute Revenue to Email Campaigns

    Drip positions itself as marketing software for ecommerce with a strong focus on customer journey design. It is built for ecommerce brands that want a visual workflow builder and advanced segmentation without hiring an email marketing agency. Drip heavily leans on revenue attribution to ensure teams can see which flows and campaigns actually move the needle. Because Drip tracks individual purchase events, it integrates naturally with order management software and can trigger timely follow-ups based on fulfilment status.

    Key features

    • Visual workflow builder tailored to ecommerce events

    • Advanced segmentation using behaviour and purchase data

    • Dynamic content and product feeds for personalised email campaigns

    • Email marketing automation and SMS in the same interface

    • B testing inside flows for subject lines and timing

    • Detailed revenue attribution and cohort reporting

    • 91ÊÓÆµ that scales with contacts, with all the features on each tier

    7. Mailchimp for Ecommerce: Is It Still One of the Best Email Marketing Tools in 2026?

    Mailchimp remains one of the best email marketing tools for general use, but it has steadily improved its ecommerce email marketing features. It helps ecommerce brands run broadcast campaigns, implement basic automation, and create simple customer journey maps, while also serving as an entry-level marketing automation platform. For Shopify stores getting started with email, Mailchimp's native integration means order data flows in with minimal setup.

    Key features

    • Drag and drop email builder and drag and drop editor

    • Pre-built customer journey templates for ecommerce stores

    • Landing pages, forms, and simple lead generation tools

    • Audience management that feels close to lightweight customer relationship management

    • B testing and send time optimisation for email marketing efforts

    • Integrations with major ecommerce platforms and other email marketing platforms

    • Free plans with caps, plus several paid plans as the list grows

    8. Brevo (Formerly Sendinblue): Best Volume-Based Email Marketing Service for Ecommerce in 2026

    Brevo (formerly Sendinblue) is an email marketing service that treats email, SMS marketing, live chat, and CRM as parts of one stack. It is attractive for ecommerce businesses that need marketing software and basic service tools without juggling multiple logins. Its pricing is mainly tied to send volume, which makes it cost-efficient for brands with large contact lists but lower send frequency. Businesses that also use WhatsApp for ecommerce customer engagement will find Brevo's multi-channel approach aligns well with that strategy.

    Key features

    • Email marketing platform with transactional emails and campaigns

    • Drag and drop email and landing page builders

    • Automation workflows for ecommerce email marketing and lead nurturing

    • Web push notifications, SMS, chat, and a lightweight CRM

    • Audience segmentation and simple predictive analytics

    • Free email marketing tier with daily limits and then usage-based paid plans

    • Clear upgrade path for small businesses as volumes increase

    9. Encharge: How to Use Behaviour-Driven Email Automation for Ecommerce and SaaS

    Encharge is a behaviour-focused marketing automation platform that many teams use alongside product analytics. It helps ecommerce brands and SaaS companies combine customer data from the product, site, and ads, then trigger email marketing workflows based on real events. The interface is geared toward marketers who want a visual workflow builder without writing code. For ecommerce brands investing in supply chain automation and operational efficiency, Encharge adds a complementary layer of marketing automation that keeps customer communications just as responsive as fulfilment operations.

    Key features

    • Behavioural flows based on user events and traits

    • Visual workflow builder with branching logic

    • Audience segmentation across lifecycle stages and cohorts

    • Integrations with major ecommerce platforms, CRMs, and analytics tools

    • Support for dynamic content and personalised messaging

    • Strong focus on automation tools rather than design-heavy extras

    • Flexible pricing based on contacts and email volume

    10. SmartrMail: Best Email Marketing App for Shopify and WooCommerce Stores

    SmartrMail is explicitly built as ecommerce email marketing software for Shopify, WooCommerce, and other major ecommerce platforms. It focuses on making it very quick to launch ecommerce email marketing flows, such as abandoned cart sequences, product recommendations, and winback series. Merchants who already use Shopify apps for other functions will find SmartrMail slots in quickly alongside their existing tech stack.

    Key features

    • One-click product feeds that pull images and details into campaigns

    • Automated abandoned cart, review request, and winback sequences

    • Dynamic content blocks for recommended and related products

    • SMS marketing add-ons for coordinated messaging

    • Easy-to-use drag and drop email editor and templates

    • Clear revenue reporting for each email marketing campaign

    • Free plan for testing and accessible paid plans for growing ecommerce brands

    How to Turn Ecommerce Email Broadcasts Into Long-Term Revenue Programmes

    Most email marketing apps can send a newsletter. What separates the best email marketing software for ecommerce from the rest is how well it integrates with your data, supports automation, and helps you design a cohesive post-purchase customer journey across channels. The tools on this list range from simple, free email marketing to advanced automation tools suitable for complex ecommerce brands.

    For decision-makers, the real question is not which has the longest feature list, but which email marketing platform fits your current marketing strategy and data maturity. Start with one or two use cases that move the needle most, such as reducing post-purchase enquiries or post-purchase education, and ensure the platform executes those reliably before layering on more complexity. Pairing your email platform with a strong branded tracking page experience is one of the fastest ways to convert transactional touchpoints into retention moments that your email flows can then build on.

    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(); } })();