Responses are generated using AI and may contain mistakes.
IMPORTANT: We're updating product naming across our documentation. Engage is now Customer Engagement and Elevate is now Product Discovery. This doesn't change Voyado's services, functionality, or terms of your agreement. Be aware, as these changes happen, that you may see both the old and new names being used.
This guide is intended to be used alongside the core documentation for implementing the Customer Engagement to Product Discovery integration. For full reference on how discoveryKey works and how to implement it correctly, see here.
To identify why Product Discovery sessions are not matching Customer Engagement contacts, resulting in a low share of connected sessions. Typical symptoms include:
Very low share of connected sessions (less than 5%)
A session becomes connected when, in an Product Discovery session, a customerKey of X is matched to a Customer Engagement contact with a discoveryKey of the same value X.To summarise, these conditions must all be true:
The Product Discovery session contains a customerKey
The Customer Engagement contact has a discoveryKey
customerKey = discoveryKey
Some of the investigations below require access to Product Discovery Health Overview or Customer Engagement contact data. Depending on the access available to the developer or implementor, these steps can be carried out together with Voyado.
Checking the share of contacts in Customer Engagement with a discoveryKey assigned is the most important indicator and the right place to start. A well-implemented setup should have 90%+ coverage. If you are below this threshold, read more here about how to increase your share of contacts with a discoveryKey. If in-store registration is part of your model, see step 6 for guidance on how to handle this correctly.
Learn how to boost the amount of contacts with a discoveryKey
Share of customers with purchases without a discoveryKey
Whether all purchases are sent to Customer Engagement or only member purchases
Connected sessions typically range 5–40%. Where you sit in that range depends heavily on:
The share of contacts in Customer Engagement with a discoveryKey
How often visitors are identified, a loyalty-heavy retailer with mandatory login should be at the high end; a guest-checkout-heavy retailer will naturally sit lower.
Is discoveryKey being set, and is it set correctly? When a user is identified, customerKey in Product Discovery and discoveryKey in Customer Engagement must have the same value.Check:
Which identifier is used as customerKey
Whether the same value is used as discoveryKey in Customer Engagement
When discoveryKey is set (login, checkout, purchase, etc.)
Whether discoveryKey is included in all Customer Engagement API requests that support it — discoveryKey is supported on contact create, update and bulk endpoints only
Verify by inspecting the contact create/update API requests sent to Customer Engagement upon identification.Common issues:
discoveryKey not included in all Customer Engagement requests
discoveryKey set too late in the flow
customerKey and discoveryKey using different identifiers
A new customerKey generated instead of reusing the existing one
Is the same identifier used consistently everywhere? Even if discoveryKey is being set correctly, inconsistent identifiers across systems will prevent sessions from connecting.The same identifier must flow through:
The existing customerKey not being reused when a visitor is identified (e.g. at login), causing a mismatch with the discoveryKey in Customer Engagement
A new customerKey generated instead of reusing the existing one
Purchase events sent to Customer Engagement before discoveryKey has been applied in the same flow
Resolution:
Use one stable identifier for both customerKey and discoveryKey
When a visitor is identified (e.g. at login), reuse the existing customerKey — or if a known customerKey is retrieved from the user account, switch to that and update the client side accordingly
Ensure discoveryKey is set and purchase events are sent in the correct order within the identification flow
Product Discovery Health Overview can provide a sample of customerKeys for returning customers (purchase within last 6 months) that don’t match any discoveryKey in Customer Engagement. This step can be done together with Voyado if access to Health Overview is limited.For each customerKey in the sample, check:
Does the customerKey exist in the ecom system, and which contact does it belong to?
Does that contact exist in Customer Engagement?
Does the Customer Engagement contact have a discoveryKey?
Does the discoveryKey match the Product Discovery customerKey?
Are multiple contact profiles present for the same user?
Possible explanations:
discoveryKey is missing
discoveryKey is not equal to customerKey
Only member purchases sent to Customer Engagement
Incorrect identification at checkout
customerKey regenerated instead of reused
If the volume is large, consider a bulk update. If your system holds both the Product Discovery customerKey and the Customer Engagement contactId, a bulk import can backfill discoveryKeys for existing contacts quickly.
Visitors arriving via email links should be identified automatically via the soft ID (eclub) parameter. This is one of the highest-leverage identification touchpoints and a common gap.
Read more about soft identification
The following checks require Voyado’s involvement, raise these with your Voyado team:
Is soft identification enabled for this environment?
Does the decrypted soft ID payload include the discoveryKey field? (Not on by default — requires explicit activation by the Voyado team)
Depending on the configuration, identification works as follows:
If soft ID is active and discoveryKey is included in the payload, the website can use it directly as the customerKey in Product Discovery
If discoveryKey is missing from the payload, the website can still identify the visitor via the contactId and retrieve the associated customerKey from the e-com system
If soft ID is not used at all, identification relies on whether a customerKey is already available client-side, for example from a cookie
Members recruited in-store often have no discoveryKey because there is no browser session at the point of sign-up. This can be a significant source of unmatched contacts, particularly for retailers with large physical store networks.Resolution options:
Generate a customerKey at point of in-store registration and store it in Customer Engagement immediately
If that is not possible, send a verification SMS or email as a double opt-in. If email is used and soft ID is enabled, the visitor will be identified automatically on click. With SMS, add the contactId as a shortGUID in the URL and handle identification on landing.
A well-implemented setup typically delivers connected sessions in the 20–40% range for loyalty-driven retailers. Higher connected session rates directly enable:
More relevant product recommendations
Audience-based onsite personalisation
Behaviour-driven marketing in Customer Engagement
For retailers this typically results in improvements to conversion rate, average order value, and revenue per visitor.
Read more about the connected capabilities
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Voyado Docs","colors":{"primary":"#fe4a49","light":"#ffffff","dark":"#fe4a49"},"logo":{"light":"https://mintcdn.com/voyado/fiZZVymeDExCOKTK/logo/light.svg?fit=max\u0026auto=format\u0026n=fiZZVymeDExCOKTK\u0026q=85\u0026s=114e763881bcc646add31724b257f726","dark":"https://mintcdn.com/voyado/fiZZVymeDExCOKTK/logo/dark.svg?fit=max\u0026auto=format\u0026n=fiZZVymeDExCOKTK\u0026q=85\u0026s=68eaa3b1f64893ebcee4c7d65f20ecbc","href":"/docs"},"favicon":"https://mintcdn.com/voyado/_EinvHkwtU2pq43w/favicon.png?fit=max\u0026auto=format\u0026n=_EinvHkwtU2pq43w\u0026q=85\u0026s=4109ede7a6d04311c67ffa2f695ce527","appearance":{"default":"light"},"background":{"decoration":"grid"},"navbar":{"links":[{"icon":"/icons/help-center-link.png","href":"https://help.engage.voyado.com/hc/en-gb","label":"Help Center"}],"primary":{"type":"button","label":"Contact us","href":"https://voyado.com/about-voyado/contact-us/"}},"footer":{"socials":{"facebook":"https://www.facebook.com/voyado","linkedin":"https://www.linkedin.com/company/voyadoab"}},"fonts":{"heading":{"family":"Voyado Text","source":"https://mintlify-assets.b-cdn.net/VoyadoText-Medium.woff2","format":"woff2"},"body":{"family":"Voyado Regular","source":"https://mintlify-assets.b-cdn.net/VoyadoText-Regular.woff2","format":"woff2"}},"integrations":{"cookies":{"key":"mintlify_telemetry","value":"granted"}},"banner":{"content":"IMPORTANT: We're updating product naming across our documentation. **Engage** is now **Customer Engagement** and **Elevate** is now **Product Discovery**. This doesn't change Voyado's services, functionality, or terms of your agreement. Be aware, as these changes happen, that you may see both the old and new names being used.","dismissible":false},"errors":{"404":{"redirect":false,"title":"The page you are looking for can't be found. Search for it in the box above.","description":"Or press [here](https://developer.voyado.com/) to come to the start page and the menu."}},"contextual":{"options":["claude","chatgpt","assistant","copy","view","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"voyado","hasAudioNarration":false,"actualSubdomain":"voyado","customDomains":["developer.voyado.com"],"gitSource":{"type":"github","owner":"voyado","repo":"developer-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae1bb4a83326b7b15e9050b","collectionId":"97bdc92d-fe34-45d7-8595-921786581f7e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae1bb4a83326b7b15e9050b"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae1bb4a83326b7b15e9050b","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Integration","count":46},{"language":"default","tag":"Data access","count":26},{"language":"default","tag":"E-com and communication","count":19},{"language":"default","tag":"File based transfer","count":18},{"language":"default","tag":"Contacts","count":15},{"language":"default","tag":"BI export","count":14},{"language":"default","tag":"BI Exports available","count":13},{"language":"default","tag":"E-com and tracking","count":11},{"language":"default","tag":"Delta share","count":9},{"language":"default","tag":"Home","count":8}]},"assistantConfig":{"enableStarterQuestions":false},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"privacy":{"consentBanner":{"enabled":false}},"googleFontsInlined":false},"customCss":[{"filePath":"styles/style.css","content":".border-b{border-bottom-width:2px;border-color:rgb(var(--gray-200))}.prose-sm{font-size:.9rem;line-height:1.7}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:500;background-color:#f8f8f7;border:1px solid #c7dbe8;border-radius:4px}.py-1\\.5{padding-top:1px;padding-bottom:1px}@media (min-width:1024px){.lg\\:mt-8{margin-top:1rem}}.sidebar-title{margin-bottom:-.3rem;font-size:15px}#pagination{display:none!important}.prose table{border-collapse:collapse;width:100%}.prose table td,.prose table th{border:1px solid rgba(0,0,0,.15);padding:.6rem .75rem}html.dark .prose table td,html.dark .prose table th{border:1px solid rgba(255,255,255,.15)}.prose table thead tr{background-color:rgba(59,130,246,.12)}html.dark .prose table thead tr{background-color:rgba(59,130,246,.25)}.prose table thead th{font-weight:600}.prose table tbody tr:nth-child(odd) td{background-color:rgba(0,0,0,.03)}html.dark .prose table tbody tr:nth-child(odd) td{background-color:rgba(255,255,255,.05)}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.6em;margin-bottom:.7em}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)),.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.5em;margin-bottom:.6em}@media (min-width:1024px){.update h2{margin-top:-2px!important}}.update-container{padding-top:15px!important;padding-bottom:25px!important;gap:5px!important}"}],"page":{"pagePath":"docs/product-discovery/connected-sessions","slug":"/docs/product-discovery/connected-sessions","pageMetadata":{"title":"Troubleshooting connected sessions","sidebarTitle":"Troubleshooting connected sessions","description":null,"href":"/docs/product-discovery/connected-sessions"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,li:`li`,ol:`ol`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Card,Heading,Tip,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(Tip,{children:[`This guide is intended to be used alongside the core documentation for implementing the Customer Engagement to Product Discovery integration. For full reference on how discoveryKey works and how to implement it correctly, see `,_jsx(_components.a,{href:`/docs/product-discovery/integration`,children:`here`}),`.`]}),`\n`,_jsx(_components.p,{children:`To identify why Product Discovery sessions are not matching Customer Engagement contacts, resulting in a low share of connected sessions. Typical symptoms include:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Very low share of connected sessions (less than 5%)`}),`\n`,_jsx(_components.li,{children:`Returning customers not being recognised`}),`\n`,_jsx(_components.li,{children:`Limited personalisation impact`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`core-principle`,children:`Core principle`}),`\n`,_jsx(_components.p,{children:`A session becomes connected when, in an Product Discovery session, a customerKey of X is matched to a Customer Engagement contact with a discoveryKey of the same value X.`}),`\n`,_jsx(_components.p,{children:`To summarise, these conditions must all be true:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`The Product Discovery session contains a customerKey`}),`\n`,_jsx(_components.li,{children:`The Customer Engagement contact has a discoveryKey`}),`\n`,_jsx(_components.li,{children:`customerKey = discoveryKey`}),`\n`]}),`\n`,_jsx(Warning,{children:`Some of the investigations below require access to Product Discovery Health Overview or Customer Engagement contact data. Depending on the access available to the developer or implementor, these steps can be carried out together with Voyado.`}),`\n`,_jsx(Heading,{level:`2`,id:`1-establish-current-state`,children:`1. Establish current state`}),`\n`,_jsx(_components.p,{children:`Start by:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Checking the share of contacts in Customer Engagement with a discoveryKey assigned is the most important indicator and the right place to start. A well-implemented setup should have 90%+ coverage. If you are below this threshold, read more here about how to increase your share of contacts with a discoveryKey. If in-store registration is part of your model, see step 6 for guidance on how to handle this correctly.`}),`\n`]}),`\n`,_jsx(Card,{title:`Learn how to boost the amount of contacts with a discoveryKey`,href:`/docs/product-discovery/discovery-key`,icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=fbd08f956358ab12f664a7158e1a1399`,horizontal:true,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/developer-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=578148bc52109a62b81752b2bdcca681 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2db9fd1adc7070915fd141f27bbb394 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=90bd01623e630bdd7d6a9e4be36e588b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=bf680b4f85d26b755a76865c2cf85c63 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2fd6e9882691d17cd6e0f9f1fb164dd 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=0dce3c83fcfa177e7bd88d61bb4df03a 2500w`}),`\n`,_jsx(_components.p,{children:`Then check:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Share of connected sessions in `,_jsx(_components.a,{href:`https://help.elevate.voyado.com/hc/en-gb/articles/27612593730204-Health-overview-Connected-Engage`,children:`Product Discovery Health Overview`})]}),`\n`,_jsx(_components.li,{children:`Share of customers with purchases without a discoveryKey`}),`\n`,_jsx(_components.li,{children:`Whether all purchases are sent to Customer Engagement or only member purchases`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Connected sessions typically range 5–40%. Where you sit in that range depends heavily on:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The share of contacts in Customer Engagement with a discoveryKey`}),`\n`,_jsx(_components.li,{children:`How often visitors are identified, a loyalty-heavy retailer with mandatory login should be at the high end; a guest-checkout-heavy retailer will naturally sit lower.`}),`\n`]}),`\n`,_jsx(Card,{title:`Show me the contacts bulk API`,href:`/docs/contacts/bulk-contacts-api`,icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=fbd08f956358ab12f664a7158e1a1399`,horizontal:true,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/developer-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=578148bc52109a62b81752b2bdcca681 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2db9fd1adc7070915fd141f27bbb394 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=90bd01623e630bdd7d6a9e4be36e588b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=bf680b4f85d26b755a76865c2cf85c63 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2fd6e9882691d17cd6e0f9f1fb164dd 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=0dce3c83fcfa177e7bd88d61bb4df03a 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`2-assignment-of-discoverykey`,children:`2. Assignment of discoveryKey`}),`\n`,_jsx(_components.p,{children:`Is discoveryKey being set, and is it set correctly? When a user is identified, customerKey in Product Discovery and discoveryKey in Customer Engagement must have the same value.`}),`\n`,_jsx(_components.p,{children:`Check:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Which identifier is used as customerKey`}),`\n`,_jsx(_components.li,{children:`Whether the same value is used as discoveryKey in Customer Engagement`}),`\n`,_jsx(_components.li,{children:`When discoveryKey is set (login, checkout, purchase, etc.)`}),`\n`,_jsx(_components.li,{children:`Whether discoveryKey is included in all Customer Engagement API requests that support it — discoveryKey is supported on contact create, update and bulk endpoints only`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Verify by inspecting the contact create/update API requests sent to Customer Engagement upon identification.`}),`\n`,_jsx(_components.p,{children:`Common issues:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`discoveryKey not included in all Customer Engagement requests`}),`\n`,_jsx(_components.li,{children:`discoveryKey set too late in the flow`}),`\n`,_jsx(_components.li,{children:`customerKey and discoveryKey using different identifiers`}),`\n`,_jsx(_components.li,{children:`A new customerKey generated instead of reusing the existing one`}),`\n`,_jsx(_components.li,{children:`Existing Customer Engagement contacts missing discoveryKey entirely`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Resolution:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Send discoveryKey consistently in all Customer Engagement calls`}),`\n`,_jsx(_components.li,{children:`Set discoveryKey as soon as the user is identified`}),`\n`,_jsx(_components.li,{children:`Align customerKey and discoveryKey to the same identifier`}),`\n`,_jsx(_components.li,{children:`Reuse the existing customerKey for returning visitors`}),`\n`,_jsx(_components.li,{children:`Update existing contacts when they are next identified`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`3-id-consistency-across-systems`,children:`3. ID consistency across systems`}),`\n`,_jsx(_components.p,{children:`Is the same identifier used consistently everywhere? Even if discoveryKey is being set correctly, inconsistent identifiers across systems will prevent sessions from connecting.`}),`\n`,_jsx(_components.p,{children:`The same identifier must flow through:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Product Discovery session → customerKey`}),`\n`,_jsx(_components.li,{children:`Product Discovery events → customerKey`}),`\n`,_jsx(_components.li,{children:`Customer Engagement contact → discoveryKey`}),`\n`,_jsx(_components.li,{children:`Customer Engagement events (including purchase) → discoveryKey`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Common issues:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Different identifiers used across systems`}),`\n`,_jsx(_components.li,{children:`The existing customerKey not being reused when a visitor is identified (e.g. at login), causing a mismatch with the discoveryKey in Customer Engagement`}),`\n`,_jsx(_components.li,{children:`A new customerKey generated instead of reusing the existing one`}),`\n`,_jsx(_components.li,{children:`Purchase events sent to Customer Engagement before discoveryKey has been applied in the same flow`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Resolution:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Use one stable identifier for both customerKey and discoveryKey`}),`\n`,_jsx(_components.li,{children:`When a visitor is identified (e.g. at login), reuse the existing customerKey — or if a known customerKey is retrieved from the user account, switch to that and update the client side accordingly`}),`\n`,_jsx(_components.li,{children:`Ensure discoveryKey is set and purchase events are sent in the correct order within the identification flow`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`4-analyse-unmatched-customerkeys`,children:`4. Analyse unmatched customerKeys`}),`\n`,_jsx(_components.p,{children:`Product Discovery Health Overview can provide a sample of customerKeys for returning customers (purchase within last 6 months) that don’t match any discoveryKey in Customer Engagement. This step can be done together with Voyado if access to Health Overview is limited.`}),`\n`,_jsx(_components.p,{children:`For each customerKey in the sample, check:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Does the customerKey exist in the ecom system, and which contact does it belong to?`}),`\n`,_jsx(_components.li,{children:`Does that contact exist in Customer Engagement?`}),`\n`,_jsx(_components.li,{children:`Does the Customer Engagement contact have a discoveryKey?`}),`\n`,_jsx(_components.li,{children:`Does the discoveryKey match the Product Discovery customerKey?`}),`\n`,_jsx(_components.li,{children:`Are multiple contact profiles present for the same user?`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Possible explanations:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`discoveryKey is missing`}),`\n`,_jsx(_components.li,{children:`discoveryKey is not equal to customerKey`}),`\n`,_jsx(_components.li,{children:`Only member purchases sent to Customer Engagement`}),`\n`,_jsx(_components.li,{children:`Incorrect identification at checkout`}),`\n`,_jsx(_components.li,{children:`customerKey regenerated instead of reused`}),`\n`]}),`\n`,_jsx(_components.p,{children:`If the volume is large, consider a bulk update. If your system holds both the Product Discovery customerKey and the Customer Engagement contactId, a bulk import can backfill discoveryKeys for existing contacts quickly.`}),`\n`,_jsx(Card,{title:`Show me the contacts bulk API`,href:`/docs/contacts/bulk-contacts-api`,icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=fbd08f956358ab12f664a7158e1a1399`,horizontal:true,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/developer-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=578148bc52109a62b81752b2bdcca681 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2db9fd1adc7070915fd141f27bbb394 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=90bd01623e630bdd7d6a9e4be36e588b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=bf680b4f85d26b755a76865c2cf85c63 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2fd6e9882691d17cd6e0f9f1fb164dd 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=0dce3c83fcfa177e7bd88d61bb4df03a 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`5-verify-soft-id-/-email-channel-identification`,children:`5. Verify soft ID / email channel identification`}),`\n`,_jsx(_components.p,{children:`Visitors arriving via email links should be identified automatically via the soft ID (eclub) parameter. This is one of the highest-leverage identification touchpoints and a common gap.`}),`\n`,_jsx(Card,{title:`Read more about soft identification`,href:`/docs/contacts/identify-contact/soft-identification`,icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=fbd08f956358ab12f664a7158e1a1399`,horizontal:true,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/developer-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=578148bc52109a62b81752b2bdcca681 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2db9fd1adc7070915fd141f27bbb394 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=90bd01623e630bdd7d6a9e4be36e588b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=bf680b4f85d26b755a76865c2cf85c63 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2fd6e9882691d17cd6e0f9f1fb164dd 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=0dce3c83fcfa177e7bd88d61bb4df03a 2500w`}),`\n`,_jsx(_components.p,{children:`The following checks require Voyado’s involvement, raise these with your Voyado team:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Is soft identification enabled for this environment?`}),`\n`,_jsx(_components.li,{children:`Does the decrypted soft ID payload include the discoveryKey field? (Not on by default — requires explicit activation by the Voyado team)`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Depending on the configuration, identification works as follows:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`If soft ID is active and discoveryKey is included in the payload, the website can use it directly as the customerKey in Product Discovery`}),`\n`,_jsx(_components.li,{children:`If discoveryKey is missing from the payload, the website can still identify the visitor via the contactId and retrieve the associated customerKey from the e-com system`}),`\n`,_jsx(_components.li,{children:`If soft ID is not used at all, identification relies on whether a customerKey is already available client-side, for example from a cookie`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`6-check-in-store-recruits`,children:`6. Check in-store recruits`}),`\n`,_jsx(_components.p,{children:`Members recruited in-store often have no discoveryKey because there is no browser session at the point of sign-up. This can be a significant source of unmatched contacts, particularly for retailers with large physical store networks.`}),`\n`,_jsx(_components.p,{children:`Resolution options:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Generate a customerKey at point of in-store registration and store it in Customer Engagement immediately`}),`\n`,_jsx(_components.li,{children:`If that is not possible, send a verification SMS or email as a double opt-in. If email is used and soft ID is enabled, the visitor will be identified automatically on click. With SMS, add the contactId as a shortGUID in the URL and handle identification on landing.`}),`\n`]}),`\n`,_jsx(Card,{icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=3e7ca2ce0b8cfb9fbd27a4bdf53b2ce1`,horizontal:true,href:`/docs/product-discovery/discovery-key`,title:`Read about boosting discoveryKeys`,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/help-center-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=e0d8bb2afb39e9eec9ac2ef99bc3e076 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=186dbfe68eb972eb2e6156a337e922c3 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=daa7f71dbb1c8d8b817475cd16e3f05b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=2d4a246217df4a4aed0412826930ef48 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=14720bcc53f6426fab6d346c858e369d 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/help-center-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=058ad8e270036f3cae39247fc94e215b 2500w`}),`\n`,_jsx(Heading,{level:`2`,id:`7-verify-identification-logic`,children:`7. Verify identification logic`}),`\n`,_jsx(_components.p,{children:`A code-level review to confirm the implementation matches the expected behaviour described in steps 2 and 3.`}),`\n`,_jsx(_components.p,{children:`Check:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`On login or checkout, is customerKey aligned with discoveryKey?`}),`\n`,_jsx(_components.li,{children:`Is the updated identifier used in all subsequent events and purchases?`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Common issues:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`customerKey generated multiple times instead of reused`}),`\n`,_jsx(_components.li,{children:`customerKey not updated after identification`}),`\n`,_jsx(_components.li,{children:`discoveryKey not included in Customer Engagement events post-identification`}),`\n`,_jsx(_components.li,{children:`Purchase events sent before identification has been applied`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`expected-outcome`,children:`Expected outcome`}),`\n`,_jsx(_components.p,{children:`A well-implemented setup typically delivers connected sessions in the 20–40% range for loyalty-driven retailers. Higher connected session rates directly enable:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`More relevant product recommendations`}),`\n`,_jsx(_components.li,{children:`Audience-based onsite personalisation`}),`\n`,_jsx(_components.li,{children:`Behaviour-driven marketing in Customer Engagement`}),`\n`]}),`\n`,_jsx(_components.p,{children:`For retailers this typically results in improvements to conversion rate, average order value, and revenue per visitor.`}),`\n`,_jsx(Card,{title:`Read more about the connected capabilities`,href:`/docs/product-discovery/integration`,icon:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=fbd08f956358ab12f664a7158e1a1399`,horizontal:true,\"data-og-width\":`128`,width:`128`,\"data-og-height\":`128`,height:`128`,\"data-path\":`icons/developer-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=578148bc52109a62b81752b2bdcca681 280w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2db9fd1adc7070915fd141f27bbb394 560w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=90bd01623e630bdd7d6a9e4be36e588b 840w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=bf680b4f85d26b755a76865c2cf85c63 1100w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=f2fd6e9882691d17cd6e0f9f1fb164dd 1650w, https://mintcdn.com/voyado/Ns4bBcK3LNctK_Un/icons/developer-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=Ns4bBcK3LNctK_Un\u0026q=85\u0026s=0dce3c83fcfa177e7bd88d61bb4df03a 2500w`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Troubleshooting connected sessions","sidebarTitle":"Troubleshooting connected sessions","description":null,"href":"/docs/product-discovery/connected-sessions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Core principle","slug":"core-principle","depth":2,"children":[]},{"title":"1. Establish current state","slug":"1-establish-current-state","depth":2,"children":[]},{"title":"2. Assignment of discoveryKey","slug":"2-assignment-of-discoverykey","depth":2,"children":[]},{"title":"3. ID consistency across systems","slug":"3-id-consistency-across-systems","depth":2,"children":[]},{"title":"4. Analyse unmatched customerKeys","slug":"4-analyse-unmatched-customerkeys","depth":2,"children":[]},{"title":"5. Verify soft ID / email channel identification","slug":"5-verify-soft-id-/-email-channel-identification","depth":2,"children":[]},{"title":"6. Check in-store recruits","slug":"6-check-in-store-recruits","depth":2,"children":[]},{"title":"7. Verify identification logic","slug":"7-verify-identification-logic","depth":2,"children":[]},{"title":"Expected outcome","slug":"expected-outcome","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/voyado/e3b0c44298fc1c14/js/test.js","/_mintlify/custom/voyado/a093bfac3f8a0766/js/gtm.js"],"subdomain":"voyado","siteName":"Voyado Docs","title":"Troubleshooting connected sessions - Voyado Docs","navMaps":{"firstHrefInVersion":{"API version 3":{"href":"/docs/product-discovery/connected-sessions","matchLevel":0},"API version 2":{"href":"/docs-v2/api-v2","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T15:45:33.275Z","originalFileLocation":"docs/product-discovery/connected-sessions.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Voyado Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Troubleshooting connected sessions - Voyado Docs\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Voyado Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developer.voyado.com/docs/product-discovery/connected-sessions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://voyado.mintlify.app/_mintlify/api/og/v2?division=Product+Discovery\u0026amp;title=Troubleshooting+connected+sessions\u0026amp;theme=d6be399f515d3ce011325711\u0026amp;signature=0bfab469b24ea8f3110fa72498471a507f620b3ce59978fb66f37a7bd1926bea\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Troubleshooting connected sessions - Voyado Docs\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://voyado.mintlify.app/_mintlify/api/og/v2?division=Product+Discovery\u0026amp;title=Troubleshooting+connected+sessions\u0026amp;theme=d6be399f515d3ce011325711\u0026amp;signature=0bfab469b24ea8f3110fa72498471a507f620b3ce59978fb66f37a7bd1926bea\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/voyado/9fqQ87AEVqs68vAz/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Voyado Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fe4a49\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developer.voyado.com/docs/product-discovery/connected-sessions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/product-discovery/connected-sessions.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://developer.voyado.com/#organization\",\"name\":\"Voyado Docs\",\"url\":\"https://developer.voyado.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/voyado/fiZZVymeDExCOKTK/logo/light.svg?fit=max\u0026auto=format\u0026n=fiZZVymeDExCOKTK\u0026q=85\u0026s=114e763881bcc646add31724b257f726\"}},{\"@type\":\"WebSite\",\"@id\":\"https://developer.voyado.com#website\",\"name\":\"Voyado Docs\",\"url\":\"https://developer.voyado.com\",\"publisher\":{\"@id\":\"https://developer.voyado.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions#webpage\",\"url\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions\",\"name\":\"Troubleshooting connected sessions\",\"dateModified\":\"2026-10-26T15:45:33.275Z\",\"isPartOf\":{\"@id\":\"https://developer.voyado.com#website\"},\"breadcrumb\":{\"@id\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Product Discovery\",\"item\":\"https://developer.voyado.com/docs/product-discovery/integration\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Troubleshooting connected sessions\",\"item\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions#article\",\"headline\":\"Troubleshooting connected sessions\",\"name\":\"Troubleshooting connected sessions\",\"url\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions\",\"mainEntityOfPage\":{\"@id\":\"https://developer.voyado.com/docs/product-discovery/connected-sessions#webpage\"},\"dateModified\":\"2026-10-26T15:45:33.275Z\",\"publisher\":{\"@id\":\"https://developer.voyado.com/#organization\"},\"isPartOf\":{\"@id\":\"https://developer.voyado.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Voyado Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Voyado Docs","nav":{"global":null,"versions":[{"version":"API version 3","tag":"Latest","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/docs/introduction/about"}]},{"tab":"Integration","groups":[{"group":" ","pages":[{"title":"About integration","href":"/docs/integration/about-integration"},{"title":"Non-functional requirements","href":"/docs/api/non-functional-requirements"},{"title":"Custom triggers","sidebarTitle":"Custom triggers","href":"/docs/setup/custom-triggers"},{"title":"Stores","href":"/docs/setup/stores"}]},{"group":"Contacts","pages":[{"title":"Introduction to contacts","href":"/docs/contacts/about-contacts"},{"title":"Contact field definitions","href":"/docs/contacts/contact-field-definitions"},{"group":"Identify contact","pages":[{"title":"Find a contact","href":"/docs/contacts/identify-contact/find-contact"},{"title":"Get contact data","href":"/docs/contacts/identify-contact/get-contact-data"},{"title":"Get enriched profile","href":"/docs/contacts/identify-contact/get-enriched-profile"},{"title":"Soft identification","href":"/docs/contacts/identify-contact/soft-identification"},{"title":"Deep linking to contacts","href":"/docs/contacts/identify-contact/deep-linking"}]},{"title":"Create contact","href":"/docs/contacts/create-contact"},{"title":"Update contact","href":"/docs/contacts/update-contact"},{"title":"Delete contact","href":"/docs/contacts/delete-contact"},{"title":"Security best practices","href":"/docs/contacts/security-best-practices"},{"title":"Target audiences","href":"/docs/contacts/target-audiences"},{"title":"Consents","href":"/docs/setup/consents"},{"title":"Bulk contacts API","href":"/docs/contacts/bulk-contacts-api"},{"title":"NPS","href":"/docs/contacts/nps"}]},{"group":"Transactions","pages":[{"title":"Introduction to transactions","href":"/docs/transactions/introduction-to-transactions"},{"title":"Transaction field definitions","href":"/docs/transactions/transaction-field-definitions"},{"title":"Group currency","href":"/docs/transactions/group-currency"},{"title":"Register a purchase","href":"/docs/transactions/register-a-purchase"},{"title":"Register a return","href":"/docs/transactions/register-a-return"},{"title":"Discounts","href":"/docs/transactions/discounts"},{"title":"Purchase history summary","href":"/docs/transactions/purchase-history-summary"}]},{"group":"Orders","pages":[{"title":"Introduction to orders","sidebarTitle":"Introduction to orders","href":"/docs/orders/introduction-to-orders"},{"title":"Orders data structure","href":"/docs/orders/orders-data-structure"},{"title":"Orders API endpoints","href":"/docs/orders/orders-api-endpoints"},{"title":"Orders and actions","href":"/docs/orders/orders-and-actions"},{"title":"Order action schemas","href":"/docs/orders/order-action-schemas"}]},{"group":"Loyalty","pages":[{"title":"Introduction to loyalty","href":"/docs/loyalty/about-loyalty"},{"title":"Points","href":"/docs/loyalty/points"},{"title":"Point shop","href":"/docs/loyalty/point-shop"},{"title":"Vouchers","href":"/docs/loyalty/vouchers"},{"title":"Promotions","href":"/docs/loyalty/promotions"},{"title":"Challenges","href":"/docs/loyalty/challenges"},{"title":"Interactions","href":"/docs/loyalty/interactions"}]},{"group":"Product data","pages":[{"title":"Product feeds","href":"/docs/setup/product-feeds"},{"title":"Article register","href":"/docs/setup/article-register"}]},{"group":"Ratings and Reviews (BETA)","pages":[{"title":"Integrating Ratings and Reviews","sidebarTitle":"Ratings and Reviews","href":"/docs/ratings-and-reviews/ratings-and-reviews-integration"},{"title":"Migrating Ratings and Reviews","sidebarTitle":"Migrating reviews","href":"/docs/ratings-and-reviews/migrating-reviews"},{"title":"Ratings and Reviews product data","sidebarTitle":"Product data","href":"/docs/ratings-and-reviews/product-data"}]},{"group":"Product Discovery","pages":[{"title":"Integration with Product Discovery","href":"/docs/product-discovery/integration"},{"title":"Boosting discoveryKey use","description":null,"href":"/docs/product-discovery/discovery-key"},{"title":"Troubleshooting connected sessions","sidebarTitle":"Troubleshooting connected sessions","href":"/docs/product-discovery/connected-sessions"}]}]},{"tab":"File based transfer","pages":[{"title":"File based transfer","href":"/docs/file-based-transfer/about-file-based-transfer"}]},{"tab":"Data access","pages":[{"title":"Data access","href":"/docs/data-access/overview"}]},{"tab":"E-com and communication","pages":[{"title":"E-com and communication","href":"/docs/communication/communication"}]},{"tab":"Partner integrations","pages":[{"title":"Partner integrations","href":"/docs/introduction/about-partner-integrations"}]},{"tab":"What's new?","pages":[{"title":"What's new?","href":"/docs/introduction/whats-new"}]}]},{"version":"API version 2","tag":"Legacy","pages":[{"title":"API version 2","href":"/docs-v2/api-v2"}]}]},"title":"Troubleshooting connected sessions - Voyado Docs","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["10e4515597"],"chunks":["BannerMarkdown-B-Glu166.js","dist-zbf22OZA.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cs6nMGht.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}