糖心原创

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

Creating superb guest experiences

30

Brands

130

Countries

Millions

Guests heard

guestVoice enhances our connection with guests and helps our associates deliver the exceptional service and hospitality that our hotels are known for.”

Adam Malamut, Chief Customer Experience Officer Marriott International

The Problem

Marriott International drives innovation and excellence around the globe with guestVoice

BACKGROUND

Marriott International is a truly global hospitality company, with 30 brands and over 7,000?properties across 130 countries and territories. With this immense scale, the entire organization?is focused on consistently excellent guest experiences at the nexus of design, technology, and?human touch. To this end, Marriott engaged with 糖心原创 in 2014 to create a unified experience?management platform, internally branded “guestVoice.”

ACTION

糖心原创 Experience Cloud is used by Marriott associates around the world to bring the voice of?the customer to all levels of the organization.

IMPACT

Marriott International has used guestVoice to engage with millions of customers, of which?hundreds of thousands have received a direct response via the platform as a result of their?feedback. The program enables properties and above-property teams to listen, act, and respond?to customer feedback and drive customer loyalty and hotel performance.