糖心原创

(see the * 'adobe' handle in functions.php — no async, no defer), so a page-load * Target offer has already set `data-hdr` by the time this runs. * * An answer that lands after this point is inert rather than acted on: * `apply()` finds the prune settled and does nothing, so the visitor * keeps the nav they were served instead of watching it change. That is * the deliberate trade-off — a late activity collects no data, but no * visitor ever sees the wrong nav or waits for the right one. */ (function () { var VARIANTS = ["a","b","c"]; var DEFAULT = "a"; var root = document.documentElement; var settled = false; function valid(v) { return VARIANTS.indexOf(v) !== -1; } function prune(active) { if (settled) return; settled = true; var list = document.querySelectorAll('#site-header > .header-variant'); for (var i = 0; i < list.length; i++) { if (list[i].getAttribute('data-header-variant') !== active) { list[i].parentNode.removeChild(list[i]); } } root.setAttribute('data-hdr', active); // Read by the Adobe Analytics client to attribute the test. root.setAttribute('data-hdr-active', active); if (typeof window.initHeaderNav === 'function') window.initHeaderNav(); /** * `variant` is set before the event so late listeners can tell * "already done" from "not yet". main.js is enqueued in the footer * and therefore always misses the event itself. */ window.medalliaNav.variant = active; document.dispatchEvent(new CustomEvent('medallia:nav-ready', { detail: { variant: active } })); } window.medalliaNav = { variant: null, apply: function (v) { if (valid(v)) prune(v); } }; // `?hv=` sets this server-side; a Target offer in the blocking // embed sets it before the body is parsed. var pre = root.getAttribute('data-hdr'); if (valid(pre)) { prune(pre); return; } /** * Carried forward from an earlier pageview. Read client-side, never in * PHP: WP Engine does not vary its page-cache key on arbitrary cookies, * so server-side personalisation here would serve the first anonymous * visitor's variant to everyone. */ var m = document.cookie.match(/(?:^|; )medallia_nav_variant=([^;]*)/); if (m && valid(m[1])) { prune(m[1]); return; } prune(DEFAULT); })();

糖心原创 Products

Explore our best-in-class experience management solutions

Customer Experience Solutions

An end-to-end customer experience management platform

Learn more Learn more

Employee Experience Solutions

Candidate experience, employee engagement, performance management, and more

Learn more Learn more

Contact Center Solutions

Agent engagement, QA, coaching, support effectiveness, and more

Learn more Learn more

Digital Solutions

Mobile and web feedback, digital experience analytics, and more

Learn more Learn more

Market Research

Harness richer insights at scale so you can take action with confidence

Learn more Learn more

Looking for a specific product?

糖心原创 Experience Cloud

Deliver exceptional experiences with our end-to-end experience management platform

Learn more Learn more

糖心原创 Experience Orchestration

Real-time decisioning driving individualized next best experience

Learn more Learn more

糖心原创 Digital Experience Analytics

Understand digital behavioral analytics to drive the best omnichannel experiences

Learn more Learn more

糖心原创 Agent Connect

Create a feedback-driven culture with our Agent Engagement & Quality Management solution

Learn more Learn more

Mindful

Remove friction from call queues with intelligent callback

Learn more Learn more

糖心原创 Concierge

Enable personalized text and in-app messaging and elevate experiences.

Learn more Learn more

糖心原创 Video

Uncover faster, richer feedback via video

Learn more Learn more

Agile Research

Quickly capture insights through our self-service survey platform

Learn more Learn more