Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.
To comply with privacy regulations such as GDPR and CCPA, your application must provide users with the ability to opt out of data tracking. The MoEngage Web SDK provides APIs to disable user-specific data collection while maintaining core functionality and anonymous analytics.
By default, data tracking is enabled.
When a user opts out, the SDK stops collecting personally identifiable information (PII) and behavior-specific data.
When you disable data tracking, the SDK performs the following actions to ensure compliance and privacy:
Data Erasure (Local): Deletes existing user attributes, events, session information, and batches from local storage.
State Persistence: Maintains the opt-out preference across browser sessions and user logouts.
Anonymous Tracking: Continues to track a limited set of “Permitted Events” (like Web Push subscriptions) without associating them with a specific user identity.
Cross-Subdomain Support: Synchronizes the opt-out state across subdomains (if configured).
Server Data NoticeData erasure occurs only locally within the browser’s storage. Disabling data tracking does not retroactively delete historical data that has already been sent to and stored on MoEngage servers.
After enabling data tracking, you must call identifyUser() to associate the current session and any prior anonymous events with a specific user profile.
Moengage.enableDataTracking().then(() = { // Re-identify user to link anonymous events to the profile Moengage.identifyUser("USER_UNIQUE_ID"); })
When data tracking is disabled, the SDK tracks standard events anonymously to maintain core functionality. For a full list of these interactions, refer to the Standard Events documentation. All standard events are tracked except for custom events and user attributes, which are restricted as listed below.
Does the opt-out state persist after a user logs out?
Yes. The tracking preference is stored in the browser’s storage and persists across app sessions and user logouts to ensure user privacy choices are respected.
Will I still see page view counts for opted-out users?
Yes. Viewed Web Page is a permitted event. However, these views are recorded anonymously and are not linked to a specific user profile or historical data.
disableSdk() takes precedence. If the SDK is disabled, SDK does not perform any operations. disableDataTracking() allows the SDK to remain active for anonymous features while stopping personalized data collection.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"MoEngage","colors":{"primary":"#2E69FF","light":"#6691FF","dark":"#2554CC"},"logo":{"light":"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/light.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=28ca5909311cb6ffe01738e1503b5e64","dark":"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/dark.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=728a767d8fb8d3434575a28de18d08c5","href":"https://www.moengage.com/docs/"},"favicon":"https://mintcdn.com/moengage/bJi_ZHRHKldZCdcW/logo/favicon.svg?fit=max\u0026auto=format\u0026n=bJi_ZHRHKldZCdcW\u0026q=85\u0026s=9d13744d3b616913967983f324947bb5","api":{"examples":{"languages":["curl"]}},"appearance":{"default":"system"},"background":{"decoration":"gradient","color":{"light":"#FFFFFF","dark":"#121212"}},"navbar":{"links":[{"href":"/user-guide/contact-support/raise-a-support-ticket-through-moengage-dashboard","label":"Support"},{"href":"https://www.moengage.com/request-demo","label":"Request Demo"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.moengage.com/"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/moengage","x":"https://x.com/i/flow/login?redirect_after_login=%2Fmoengage","youtube":"https://www.youtube.com/c/MoEngage_Global","facebook":"https://www.facebook.com/moengage","github":"https://github.com/moengage"},"links":[{"header":"Support","items":[{"label":"Contact Support","href":"https://www.moengage.com/docs/user-guide/contact-support/raise-a-support-ticket-through-moengage-dashboard"},{"label":"AIRA Support Bot","href":"https://www.moengage.com/docs/user-guide/contact-support/aira-support-bot/aira-overview"},{"label":"Suggest a Feature","href":"https://www.moengage.com/docs/user-guide/contact-support/suggest-a-feature"},{"label":"System Status","href":"https://status.moengage.com"}]},{"header":"Learn","items":[{"label":"MoEngage Academy","href":"https://academy.moengage.com/student/catalog"},{"label":"Use Cases","href":"https://www.moengage.com/docs/use-cases/introduction"},{"label":"Release Notes","href":"https://www.moengage.com/docs/release-notes/subscribe-to-release-notes"},{"label":"Blog","href":"https://www.moengage.com/blog"}]},{"header":"For AI Tools","items":[{"label":"Setup Guide","href":"https://www.moengage.com/docs/documentation-access-to-agents"},{"label":"llms.txt","href":"https://www.moengage.com/docs/llms.txt"},{"label":"llms-full.txt","href":"https://www.moengage.com/docs/llms-full.txt"}]}]},"seo":{"metatags":{"google-site-verification":"ICNaPDX9oefbF09W1b5_U9PDnlkyfyKSRbIap6_dW6o"},"indexing":"all"},"fonts":{"heading":{"family":"circular","source":"https://app-cdn.moengage.com/images/Fonts/CircularXXWeb-Regular.woff2","format":"woff2"},"body":{"family":"circular","source":"https://app-cdn.moengage.com/images/Fonts/CircularXXWeb-Regular.woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":true},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode"],"display":"header"},"interaction":{"drilldown":true},"navigation":{"languages":[{"language":"en","href":""},{"language":"ja","href":"ja"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"moengage","hasAudioNarration":false,"actualSubdomain":"moengage","customDomains":["moengage.com"],"gitSource":{"type":"github","owner":"moengage","repo":"moengage-documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":false,"contextualFeedback":{"allowEmail":true},"issues":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af46495c6574eb8dd279151","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"en","tag":"Guide","count":1187},{"language":"ja","tag":"ガイド","count":1180},{"language":"en","tag":"User Guide","count":798},{"language":"ja","tag":"ユーザーガイド","count":798},{"language":"en","tag":"Campaigns and Channels","count":437},{"language":"ja","tag":"キャンペーンとチャネル","count":437},{"language":"en","tag":"Partner Integrations","count":390},{"language":"ja","tag":"パートナー統合","count":383},{"language":"en","tag":"SDKs","count":340},{"language":"en","tag":"Developer Guide (SDKs)","count":329},{"language":"ja","tag":"SDK","count":308},{"language":"ja","tag":"開発者ガイド(SDK)","count":297},{"language":"en","tag":"Use Cases","count":218},{"language":"ja","tag":"ユースケース","count":218},{"language":"en","tag":"API Guide","count":183},{"language":"ja","tag":"APIガイド","count":183},{"language":"en","tag":"Endpoints","count":177},{"language":"ja","tag":"エンドポイント","count":177},{"language":"en","tag":"Release Notes","count":140},{"language":"ja","tag":"リリースノート","count":136}],"searchSettings":{"maxResults":8,"isFiltersEnabled":true}},"assistantConfig":{"enableStarterQuestions":true,"enableContextualStarterQuestions":true,"deflection":{"enabled":false,"type":"email"}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"starterQuestions":[{"_id":"69a03c84f0b21f38ae93fdfb","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"How do I track user events?","status":"active","generatedBy":"manual","createdAt":"2026-02-26T12:28:52.454Z","updatedAt":"2026-02-26T12:28:52.454Z","__v":0}],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/docs/_mintlify/custom/moengage/0a209f0cf9e21c6c/style.css"}],"page":{"pagePath":"developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","slug":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","pageMetadata":{"title":"Configure Data opt-out in Web SDK","description":"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.","href":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Info,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`To comply with privacy regulations such as GDPR and CCPA, your application must provide users with the ability to opt out of data tracking. The MoEngage Web SDK provides APIs to disable user-specific data collection while maintaining core functionality and anonymous analytics.`}),`\n`,_jsx(Info,{children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`By default, data tracking is enabled.`}),`\n`,_jsx(_components.li,{children:`When a user opts out, the SDK stops collecting personally identifiable information (PII) and behavior-specific data.`}),`\n`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-data-tracking-opt-out-works`,children:`How Data Tracking Opt-out Works`}),`\n`,_jsx(_components.p,{children:`When you disable data tracking, the SDK performs the following actions to ensure compliance and privacy:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Data Erasure (Local):`}),` Deletes existing user attributes, events, session information, and batches from local storage.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`State Persistence:`}),` Maintains the opt-out preference across browser sessions and user logouts.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Anonymous Tracking:`}),` Continues to track a limited set of “Permitted Events” (like Web Push subscriptions) without associating them with a specific user identity.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Cross-Subdomain Support:`}),` Synchronizes the opt-out state across subdomains (if configured).`]}),`\n`]}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Server Data Notice`})}),_jsx(_components.p,{children:`Data erasure occurs only locally within the browser’s storage. Disabling data tracking does not retroactively delete historical data that has already been sent to and stored on MoEngage servers.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`disable-data-tracking`,children:`Disable Data Tracking`}),`\n`,_jsxs(_components.p,{children:[`Call the `,_jsx(_components.code,{children:`disableDataTracking()`}),` method when a user rejects tracking cookies or requests to opt out.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`JavaScript`,lines:`true`,wrap:`true`,numberOfLines:`1`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Moengage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`disableDataTracking`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`what-happens-when-disabled`,children:`What happens when disabled?`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`New custom events and user attributes are not tracked.`}),`\n`,_jsx(_components.li,{children:`PII (Email, Mobile Number, Name, etc.) is blocked from being sent to the server.`}),`\n`,_jsxs(_components.li,{children:[`The SDK logs an error if you attempt to call `,_jsx(_components.code,{children:`disableDataTracking()`}),` when it is already disabled.`]}),`\n`,_jsxs(_components.li,{children:[`If the SDK itself is disabled via `,_jsx(_components.code,{children:`disableSdk()`}),`, calling `,_jsx(_components.code,{children:`disableDataTracking()`}),` will have no effect.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`enable-data-tracking`,children:`Enable Data Tracking`}),`\n`,_jsxs(_components.p,{children:[`Call the `,_jsx(_components.code,{children:`enableDataTracking()`}),` method when a user provides consent to be tracked.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`JavaScript`,lines:`true`,wrap:`true`,numberOfLines:`1`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Moengage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`enableDataTracking`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`3`,id:`re-identifying-users-after-consent`,children:`Re-identifying Users after Consent`}),`\n`,_jsxs(_components.p,{children:[`After enabling data tracking, you must call `,_jsx(_components.code,{children:`identifyUser()`}),` to associate the current session and any prior anonymous events with a specific user profile.`]}),`\n`,_jsx(CodeGroup,{children:_jsx(CodeBlock,{filename:`JavaScript`,lines:`true`,wrap:`true`,numberOfLines:`4`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Moengage`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`enableDataTracking`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`then`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(() `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // Re-identify user to link anonymous events to the profile`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` Moengage.identifyUser(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"USER_UNIQUE_ID\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`); `})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`})`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`supported-platforms`,children:`Supported Platforms`}),`\n`,_jsx(_components.p,{children:`The Data Tracking Opt-out feature is currently supported on the following platforms and frameworks:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Platform / Framework`}),_jsx(_components.th,{children:`Support Status`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Native Web SDK`}),_jsx(_components.td,{children:`✅ Supported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`NPM Module`}),_jsx(_components.td,{children:`✅ Supported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Google Tag Manager (GTM)`}),_jsx(_components.td,{children:`✅ Supported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shopify`}),_jsx(_components.td,{children:`✅ Supported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Flutter`}),_jsx(_components.td,{children:`✅ Supported`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Segment / VTEX / AMP`}),_jsx(_components.td,{children:`❌ Not Supported`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`data-collection-behavior`,children:`Data Collection Behavior`}),`\n`,_jsx(Heading,{level:`3`,id:`permitted-events`,children:`Permitted Events`}),`\n`,_jsxs(_components.p,{children:[`When data tracking is disabled, the SDK tracks standard events anonymously to maintain core functionality. For a full list of these interactions, refer to the `,_jsx(_components.a,{href:`https://www.moengage.com/docs/user-guide/data/event-data/derived-events-and-attributes`,children:`Standard Events documentation`}),`. All standard events are tracked except for custom events and user attributes, which are restricted as listed below.`]}),`\n`,_jsx(Heading,{level:`3`,id:`restricted-data-pii`,children:`Restricted Data (PII)`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:_jsx(_components.strong,{children:`Restricted Attributes`})}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Personal Identifiers: First Name, Last Name, Full Name.`}),`\n`,_jsx(_components.li,{children:`Contact Info: Email ID, Mobile Number.`}),`\n`,_jsx(_components.li,{children:`Demographics: Gender, Birth Date.`}),`\n`,_jsx(_components.li,{children:`All custom user attributes.`}),`\n`,_jsx(_components.li,{children:`All custom events.`}),`\n`]})]}),`\n`,_jsx(Heading,{level:`2`,id:`frequently-asked-questions`,children:`Frequently Asked Questions`}),`\n`,_jsx(Heading,{level:`3`,id:`does-the-opt-out-state-persist-after-a-user-logs-out`,children:`Does the opt-out state persist after a user logs out?`}),`\n`,_jsx(_components.p,{children:`Yes. The tracking preference is stored in the browser’s storage and persists across app sessions and user logouts to ensure user privacy choices are respected.`}),`\n`,_jsx(Heading,{level:`3`,id:`will-i-still-see-page-view-counts-for-opted-out-users`,children:`Will I still see page view counts for opted-out users?`}),`\n`,_jsxs(_components.p,{children:[`Yes. `,_jsx(_components.strong,{children:`Viewed Web Page`}),` is a permitted event. However, these views are recorded anonymously and are not linked to a specific user profile or historical data.`]}),`\n`,_jsx(Heading,{level:`3`,id:`can-i-use-this-alongside-disablesdk-`,children:`Can I use this alongside disableSdk()?`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`disableSdk()`}),` takes precedence. If the SDK is disabled, SDK does not perform any operations. `,_jsx(_components.code,{children:`disableDataTracking()`}),` allows the SDK to remain active for anonymous features while stopping personalized data collection.`]})]})}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":"Configure Data opt-out in Web SDK","description":"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.","href":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How Data Tracking Opt-out Works","slug":"how-data-tracking-opt-out-works","depth":2,"children":[]},{"title":"Disable Data Tracking","slug":"disable-data-tracking","depth":2,"children":[{"title":"What happens when disabled?","slug":"what-happens-when-disabled","depth":3,"children":[]}]},{"title":"Enable Data Tracking","slug":"enable-data-tracking","depth":2,"children":[{"title":"Re-identifying Users after Consent","slug":"re-identifying-users-after-consent","depth":3,"children":[]}]},{"title":"Supported Platforms","slug":"supported-platforms","depth":2,"children":[]},{"title":"Data Collection Behavior","slug":"data-collection-behavior","depth":2,"children":[{"title":"Permitted Events","slug":"permitted-events","depth":3,"children":[]},{"title":"Restricted Data (PII)","slug":"restricted-data-pii","depth":3,"children":[]}]},{"title":"Frequently Asked Questions","slug":"frequently-asked-questions","depth":2,"children":[{"title":"Does the opt-out state persist after a user logs out?","slug":"does-the-opt-out-state-persist-after-a-user-logs-out","depth":3,"children":[]},{"title":"Will I still see page view counts for opted-out users?","slug":"will-i-still-see-page-view-counts-for-opted-out-users","depth":3,"children":[]},{"title":"Can I use this alongside disableSdk()?","slug":"can-i-use-this-alongside-disablesdk-","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/moengage/992523b3cb2256cd/script.js"],"subdomain":"moengage","siteName":"MoEngage","title":"Configure Data opt-out in Web SDK - MoEngage","relatedPagesConfig":{"enabled":false,"limit":3,"mode":"manual"},"contextualStarterQuestions":[{"_id":"69ef0f2484426938ce92c39f","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"Does opt-out persist across sessions?","status":"active","generatedBy":"contextual","path":"developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","createdAt":"2026-04-27T07:24:20.873Z","updatedAt":"2026-04-27T07:24:20.873Z","__v":0},{"_id":"69ef0f2484426938ce92c39e","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"What data gets deleted on opt-out?","status":"active","generatedBy":"contextual","path":"developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","createdAt":"2026-04-27T07:24:20.873Z","updatedAt":"2026-04-27T07:24:20.873Z","__v":0},{"_id":"69ef0f2484426938ce92c39d","deploymentId":"68bea8f8fe02728a34cf2acf","questionText":"How do I disable data tracking?","status":"active","generatedBy":"contextual","path":"developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","createdAt":"2026-04-27T07:24:20.873Z","updatedAt":"2026-04-27T07:24:20.873Z","__v":0}],"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","matchLevel":0},"ja":{"href":"/ja/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk","matchLevel":1}}},"lastModified":"2026-04-27T07:24:03.561Z","originalFileLocation":"developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk.mdx","locale":"en"},"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=\"system\"}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=\"description\" content=\"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\">\u003cmeta data-mint-head name=\"application-name\" content=\"MoEngage\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_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=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Configure Data opt-out in Web SDK - MoEngage\">\u003cmeta data-mint-head property=\"og:description\" content=\"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"MoEngage\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://moengage.mintlify.site/docs/_mintlify/api/og/v2?division=Data+Tracking\u0026amp;title=Configure+Data+opt-out+in+Web+SDK\u0026amp;description=Disable+user+data+tracking+in+the+MoEngage+Web+SDK+to+comply+with+GDPR+and+CCPA+regulations.\u0026amp;theme=f5f8670d2a6207083c52605d\u0026amp;signature=b653b377193664efb5e243a661b062cace4cc1f2993e280c25209250de663dca\">\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=\"Configure Data opt-out in Web SDK - MoEngage\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://moengage.mintlify.site/docs/_mintlify/api/og/v2?division=Data+Tracking\u0026amp;title=Configure+Data+opt-out+in+Web+SDK\u0026amp;description=Disable+user+data+tracking+in+the+MoEngage+Web+SDK+to+comply+with+GDPR+and+CCPA+regulations.\u0026amp;theme=f5f8670d2a6207083c52605d\u0026amp;signature=b653b377193664efb5e243a661b062cace4cc1f2993e280c25209250de663dca\">\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=\"/docs/mintlify-assets/_mintlify/favicons/moengage/FFhO5ttvrbE72kxs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"MoEngage\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#2E69FF\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"ICNaPDX9oefbF09W1b5_U9PDnlkyfyKSRbIap6_dW6o\">\u003clink data-mint-head rel=\"canonical\" href=\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://moengage.com/docs/ja/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://moengage.com/#organization\",\"name\":\"MoEngage\",\"url\":\"https://moengage.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/moengage/VG5pJbeZsDUmdCZM/logo/light.svg?fit=max\u0026auto=format\u0026n=VG5pJbeZsDUmdCZM\u0026q=85\u0026s=28ca5909311cb6ffe01738e1503b5e64\"}},{\"@type\":\"WebSite\",\"@id\":\"https://moengage.com/docs#website\",\"name\":\"MoEngage\",\"url\":\"https://moengage.com/docs\",\"publisher\":{\"@id\":\"https://moengage.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk#webpage\",\"url\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\",\"name\":\"Configure Data opt-out in Web SDK\",\"description\":\"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\",\"dateModified\":\"2026-04-27T07:24:03.561Z\",\"isPartOf\":{\"@id\":\"https://moengage.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SDKs\",\"item\":\"https://moengage.com/docs/developer-guide/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Web SDK\",\"item\":\"https://moengage.com/docs/developer-guide/web-sdk/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Data Tracking\",\"item\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Configure Data opt-out in Web SDK\",\"item\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk#article\",\"headline\":\"Configure Data opt-out in Web SDK\",\"name\":\"Configure Data opt-out in Web SDK\",\"description\":\"Disable user data tracking in the MoEngage Web SDK to comply with GDPR and CCPA regulations.\",\"url\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk\",\"mainEntityOfPage\":{\"@id\":\"https://moengage.com/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk#webpage\"},\"dateModified\":\"2026-04-27T07:24:03.561Z\",\"publisher\":{\"@id\":\"https://moengage.com/#organization\"},\"isPartOf\":{\"@id\":\"https://moengage.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"MoEngage\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"MoEngage\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/docs/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk.md","siteName":"MoEngage","nav":{"global":null,"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"User Guide","pages":[{"title":"User Guide","href":"/user-guide/introduction"}]},{"tab":"Developer Guide (SDKs)","groups":[{"group":"SDKs","pages":[{"title":"SDK Integration Guide","href":"/developer-guide/introduction"},{"title":"Connect Your IDE to MoEngage Docs","href":"/developer-guide/connect-your-ide-to-moengage-docs"},{"group":"iOS SDK","root":{"title":"MoEngage iOS SDK","href":"/developer-guide/ios-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the iOS SDK","href":"/developer-guide/ios-sdk/sdk-integration/overview"},"pages":[{"group":"Basic","pages":[{"title":"SDK Integration","href":"/developer-guide/ios-sdk/sdk-integration/basic/sdk-integration"},{"title":"SDK Initialization","href":"/developer-guide/ios-sdk/sdk-integration/basic/sdk-initialization"},{"title":"Data Center","href":"/developer-guide/ios-sdk/sdk-integration/basic/data-center"},{"title":"Configuring Project for Architecture Compatibility","href":"/developer-guide/ios-sdk/sdk-integration/basic/Configuring-Project-for-Architecture-Compatibility"},{"title":"Integration through CocoaPods","href":"/developer-guide/ios-sdk/sdk-integration/basic/integration-through-cocoa-pods"}]},{"group":"Advanced","pages":[{"title":"Custom Proxy Domain - iOS","href":"/developer-guide/ios-sdk/sdk-integration/advanced/custom-proxy-domain-ios"},{"title":"JWT Authentication","href":"/developer-guide/ios-sdk/sdk-integration/advanced/jwt-authentication"},{"title":"Add-On Security","href":"/developer-guide/ios-sdk/sdk-integration/advanced/add-on-security"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking in iOS","href":"/developer-guide/ios-sdk/data-tracking/overview"},"pages":[{"group":"Basic","pages":[{"title":"Install/Update differentiation","href":"/developer-guide/ios-sdk/data-tracking/basic/install-update-differentiation"},{"title":"Tracking user attributes","href":"/developer-guide/ios-sdk/data-tracking/basic/tracking-user-attributes"},{"title":"Setting Unique Id for SDK versions below 9.23.0","href":"/developer-guide/ios-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-9-23-0"},{"title":"Tracking events","href":"/developer-guide/ios-sdk/data-tracking/basic/tracking-events"}]},{"group":"Advanced","pages":[{"title":"Tracking Locale","href":"/developer-guide/ios-sdk/data-tracking/advanced/tracking-locale"},{"title":"Session and Source Tracking","href":"/developer-guide/ios-sdk/data-tracking/advanced/session-and-source-tracking"},{"title":"Personalize Experience Events tracking","href":"/developer-guide/ios-sdk/data-tracking/advanced/personalize-experience-events-tracking"}]}]},{"group":"Push","root":{"title":"Push Notifications in iOS","href":"/developer-guide/ios-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"iOS Push Integration Tutorial","href":"/developer-guide/ios-sdk/push/basic/ios-push-integration-tutorial"},{"title":"Push Notifications","href":"/developer-guide/ios-sdk/push/basic/push-notifications"},{"title":"APNS Authentication Key","href":"/developer-guide/ios-sdk/push/basic/apns-authentication-key"},{"title":"APNS Certificate/PEM file (legacy)","href":"/developer-guide/ios-sdk/push/basic/apns-certificate-pem-file-legacy"},{"title":"Actionable Notifications","href":"/developer-guide/ios-sdk/push/basic/actionable-notifications"}]},{"group":"Optional","pages":[{"title":"Transactional Live Activity","href":"/developer-guide/ios-sdk/push/optional/transactional-live-activity"},{"title":"Broadcast Live Activity","href":"/developer-guide/ios-sdk/push/optional/broadcast-live-activity"},{"title":"Push templates","href":"/developer-guide/ios-sdk/push/optional/push-templates"},{"title":"Push Handled by Application","href":"/developer-guide/ios-sdk/push/optional/push-handled-by-application"},{"title":"Real-Time Triggers","href":"/developer-guide/ios-sdk/push/optional/real-time-triggers"},{"title":"iOS Notification Center","href":"/developer-guide/ios-sdk/push/optional/i-os-notification-center"},{"title":"Location triggered","href":"/developer-guide/ios-sdk/push/optional/location-triggered"}]},{"group":"Advanced","pages":[{"title":"Custom Notification Handling","href":"/developer-guide/ios-sdk/push/advanced/custom-notification-handling"}]}]},{"group":"In-App Messages","root":{"title":"In-App Messages in iOS","href":"/developer-guide/ios-sdk/in-app-messages/overview"},"pages":[{"title":"In-App Nativ","href":"/developer-guide/ios-sdk/in-app-messages/in-app-nativ"},{"title":"Custom Action Handling","href":"/developer-guide/ios-sdk/in-app-messages/custom-action-handling"}]},{"title":"Personalize SDK","sidebarTitle":"Personalize","href":"/developer-guide/ios-sdk/personalize/personalize-sdk"},{"title":"Recommendations","href":"/developer-guide/ios-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in iOS","href":"/developer-guide/ios-sdk/cards/overview"},"pages":[{"title":"Cards in iOS","href":"/developer-guide/ios-sdk/cards/cards-in-i-os"},{"title":"Self Handled Cards","href":"/developer-guide/ios-sdk/cards/self-handled-cards"}]},{"title":"Release Checklist","href":"/developer-guide/ios-sdk/checklist/release-checklist"},{"title":"Compliance","href":"/developer-guide/ios-sdk/compliance/compliance"},{"title":"Manual Integration","href":"/developer-guide/ios-sdk/manual-integration/manual-integration"},{"title":"iOS SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/ios-sdk/deprecated-versions/deprecated-versions"},{"group":"Migration","root":{"title":"iOS SDK Migration","href":"/developer-guide/ios-sdk/migration/overview"},"pages":[{"title":"Migration to SDK version 9.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-9-0-0"},{"title":"Migration to SDK version 8.2.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-8-2-0"},{"title":"Migration to SDK version 7.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-7-0-0"},{"title":"Migration to SDK version 6.0.0","href":"/developer-guide/ios-sdk/migration/migration-to-sdk-version-6-0-0"},{"title":"Migration Of MoEngage SDK From Cocoapods To SPM","href":"/developer-guide/ios-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"}]},{"title":"Framework Impact","href":"/developer-guide/ios-sdk/framework-size-impact/framework-size-impact"},{"title":"iOS 15","sidebarTitle":"OS Updates","href":"/developer-guide/ios-sdk/os-updates/i-os-15"},{"title":"Apple TV","href":"/developer-guide/ios-sdk/apple-tv/apple-tv"},{"title":"Troubleshooting and FAQs - iOS SDK","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/ios-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-ios"},{"title":"iOS Sample App","sidebarTitle":"Sample App","href":"/developer-guide/ios-sdk/sample-app/i-os-sample-app"}]},{"group":"Android SDK","root":{"title":"MoEngage Android SDK","href":"/developer-guide/android-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Android SDK","href":"/developer-guide/android-sdk/sdk-integration/overview"},"pages":[{"group":"Basic Integration","pages":[{"title":"Install Using BOM","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/Install-Using-BOM"},{"title":"Configuring Build Settings","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/configuring-build-settings"},{"title":"SDK Initialization","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/sdk-initialization"},{"title":"Exclude MoEngage Storage File from Auto-Backup","href":"/developer-guide/android-sdk/sdk-integration/basic-integration/exclude-mo-engage-storage-file-from-auto-backup"}]},{"group":"Advanced or Optional","pages":[{"title":"Custom Proxy Domain - Android","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/custom-proxy-domain-android"},{"title":"JWT Authentication","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/jwt-authentication"},{"title":"Installing SDK using Artifact Id","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/installing-sdk-using-artifact-id"},{"title":"Network Security Configuration","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/network-security-configuration"},{"title":"Add-On Security","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/add-on-security"},{"title":"SDK Build Specifications","href":"/developer-guide/android-sdk/sdk-integration/advanced-or-optional/sdk-configuration"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Android","href":"/developer-guide/android-sdk/data-tracking/overview"},"pages":[{"group":"Basic","pages":[{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/android-sdk/data-tracking/basic/enable-advertising-identifier-tracking"},{"title":"Track Install or Update","href":"/developer-guide/android-sdk/data-tracking/basic/track-install-or-update"},{"title":"Track User Attributes","href":"/developer-guide/android-sdk/data-tracking/basic/track-user-attributes"},{"title":"Setting Unique Id for SDK versions below 13.6.00","href":"/developer-guide/android-sdk/data-tracking/basic/setting-unique-id-for-sdk-versions-below-13-6-00"},{"title":"Track Events","href":"/developer-guide/android-sdk/data-tracking/basic/track-events"}]},{"group":"Advanced or Optional","pages":[{"title":"Tracking Locale","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/tracking-locale"},{"title":"Configuring Opt-outs","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/configuring-opt-outs"},{"title":"Device Identifier Tracking","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/device-identifier-tracking"},{"title":"Personalize Experience Events Tracking","href":"/developer-guide/android-sdk/data-tracking/advanced-or-optional/personalize-experience-events-tracking"}]}]},{"group":"Push","root":{"title":"Push Notifications in Android","href":"/developer-guide/android-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Push Configuration","href":"/developer-guide/android-sdk/push/basic/push-configuration"},{"title":"FCM Authentication","href":"/developer-guide/android-sdk/push/basic/fcm-authentication"},{"title":"Notification Runtime Permissions","href":"/developer-guide/android-sdk/push/basic/notification-runtime-permissions"},{"title":"Push Token Registration and Display","href":"/developer-guide/android-sdk/push/basic/push-token-registration-and-display"},{"title":"Push Token Registration and Display (Legacy)","href":"/developer-guide/android-sdk/push/basic/push-token-registration-and-display-legacy"}]},{"group":"Advanced","pages":[{"title":"Callbacks and Customisation","href":"/developer-guide/android-sdk/push/advanced/callbacks-and-customisation"},{"title":"Push Display Handled by Application","href":"/developer-guide/android-sdk/push/advanced/push-display-handled-by-application"}]},{"group":"Optional","pages":[{"group":"Push AMP+","pages":[{"title":"Push AMP Plus Integration","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/push-amp-plus-integration"},{"title":"Steps to Remove Mi SDK Dependency","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/steps-to-remove-mi-sdk-dependency"},{"title":"Configuring HMS Push Kit","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-hms-push-kit"},{"title":"Configuring Huawei Push on MoEngage","href":"/developer-guide/android-sdk/push/optional/push-amp-plus/configuring-huawei-push-on-mo-engage"}]},{"title":"Push Amplification","href":"/developer-guide/android-sdk/push/optional/push-amplification"},{"title":"Device Triggered","href":"/developer-guide/android-sdk/push/optional/device-triggered"},{"title":"Location Triggered","href":"/developer-guide/android-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/android-sdk/push/optional/notification-center"},{"title":"Push Templates","href":"/developer-guide/android-sdk/push/optional/push-templates"},{"title":"Heads Up Notification","href":"/developer-guide/android-sdk/push/optional/heads-up-notification"}]}]},{"title":"In-App NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/android-sdk/in-app-messages/in-app-nativ"},{"title":"Personalize SDK","sidebarTitle":"Personalize","href":"/developer-guide/android-sdk/personalize/personalize-sdk"},{"title":"Recommendations","href":"/developer-guide/android-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in Android","href":"/developer-guide/android-sdk/cards/overview"},"pages":[{"title":"Cards","href":"/developer-guide/android-sdk/cards/cards"},{"title":"Cards in Jetpack Compose","href":"/developer-guide/android-sdk/cards/cards-ui-compose"},{"title":"Self Handled Cards","href":"/developer-guide/android-sdk/cards/self-handled-cards"}]},{"title":"Release Checklist","href":"/developer-guide/android-sdk/checklist/release-checklist"},{"group":"Compliance","root":{"title":"Android Data Disclosure and Consent","href":"/developer-guide/android-sdk/compliance/overview"},"pages":[{"title":"Prepare for Google Play's data disclosure requirements","href":"/developer-guide/android-sdk/compliance/prepare-for-google-plays-data-disclosure-requirements"},{"title":"Compliance","href":"/developer-guide/android-sdk/compliance/compliance"}]},{"title":"Android SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/android-sdk/deprecated-versions/deprecated-versions"},{"group":"Migration","root":{"title":"Android SDK Migration","href":"/developer-guide/android-sdk/migration/overview"},"pages":[{"title":"Migrating to Firebase Installation ID","href":"/developer-guide/android-sdk/migration/migrating-to-firebase-installation-id"},{"title":"Updating to 12.x.xx from 11.x.xx","href":"/developer-guide/android-sdk/migration/updating-to-12xxx-from-11xxx"},{"title":"Updating to 11.x.xx from 10.x.xx","href":"/developer-guide/android-sdk/migration/updating-to-11xxx-from-10xxx"},{"title":"Migration to 10.x.xx","href":"/developer-guide/android-sdk/migration/migration-to-10xxx"},{"title":"Migration from 4.x to 5.x (One time activity)","href":"/developer-guide/android-sdk/migration/migration-from-4x-to-5x-one-time-activity"},{"title":"Moving from Manifest to Code based Integration","href":"/developer-guide/android-sdk/migration/moving-from-manifest-to-code-based-integration"},{"title":"Migration To Maven Central","href":"/developer-guide/android-sdk/migration/migration-to-maven-central"},{"title":"Migrating from addon-inbox 6.0.2","href":"/developer-guide/android-sdk/migration/migrating-from-addon-inbox-602"}]},{"title":"Android 12","sidebarTitle":"OS Updates","href":"/developer-guide/android-sdk/os-updates/android-12"},{"title":"Android TV","href":"/developer-guide/android-sdk/android-tv/android-tv"},{"group":"Performance","root":{"title":"Android SDK Performance and Size","href":"/developer-guide/android-sdk/performance/overview"},"pages":[{"title":"SDK Performance","href":"/developer-guide/android-sdk/performance/sdk-performance"},{"title":"SDK Size Impact","href":"/developer-guide/android-sdk/performance/sdk-size-impact"}]},{"group":"Troubleshooting and FAQs","root":{"title":"Android Troubleshooting and FAQs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/overview"},"pages":[{"title":"How To Use the MoEngage SDK Logger?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-use-the-moengage-sdk-logger"},{"title":"What Are the Scenarios Where the SDK Logger Is Not Usable?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/what-are-the-scenarios-where-the-sdk-logger-is-not-usable"},{"title":"Troubleshooting and FAQs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs"},{"title":"Troubleshooting Push Redirection","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-push-redirection"},{"title":"Troubleshooting Images","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-images"},{"title":"Troubleshooting In-App","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-in-app"},{"title":"Troubleshooting Exceptions","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/troubleshooting-exceptions"},{"title":"How to Fix Installation ID Drop?","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-fix-installation-id-drop"},{"title":"How to fix Token Drop? (Legacy)","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-fix-token-drop"},{"title":"How to share Android MoEngage SDK logs","href":"/developer-guide/android-sdk/troubleshooting-and-faqs/how-to-share-android-moengage-sdk-logs"}]},{"title":"Android Sample App","sidebarTitle":"Sample App","href":"/developer-guide/android-sdk/sample-app/android-sample-app"}]},{"group":"Web SDK","root":{"title":"MoEngage Web SDK","href":"/developer-guide/web-sdk/overview"},"pages":[{"group":"Web SDK Overview","root":{"title":"Web SDK Overview","href":"/developer-guide/web-sdk/web-sdk-overview/web-sdk-overview"},"pages":[{"title":"Web-SDK Browser Compatibility Matrix","href":"/developer-guide/web-sdk/web-sdk-overview/web-sdk-browser-compatibility-matrix"}]},{"group":"Web SDK Integration","root":{"title":"Integrating the Web SDK","href":"/developer-guide/web-sdk/web-sdk-integration/overview"},"pages":[{"group":"Basic Integration","pages":[{"title":"Web SDK Integration","href":"/developer-guide/web-sdk/web-sdk-integration/basic-integration/web-sdk-integration"}]},{"group":"Advanced Integration","pages":[{"title":"Content Security Policy (CSP) Nonce Support","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/content-security-policy-csp-nonce-support"},{"title":"Debugging Mode","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/debugging-mode"},{"title":"Cookies used by Web SDK","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/cookies-used-by-web-sdk"},{"title":"Web SDK Lifecycle Callbacks","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-lifecycle-callbacks"},{"title":"Custom Proxy Domain - Web","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/custom-proxy-domain-web"},{"title":"Bot Traffic Blocking","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/bot-traffic-blocking"},{"title":"Web SDK Opt-out","href":"/developer-guide/web-sdk/web-sdk-integration/advanced-integration/web-sdk-opt-out"}]},{"group":"Optional","pages":[{"title":"Native Browser API Support","href":"/developer-guide/web-sdk/web-sdk-integration/optional-integration/native-browser-api-support"}]}]},{"group":"Data Tracking","root":{"title":"Data Tracking on the Web","href":"/developer-guide/web-sdk/data-tracking/overview"},"pages":[{"title":"Web SDK Data Tracking Introduction","href":"/developer-guide/web-sdk/data-tracking/web-sdk-data-tracking-introduction"},{"title":"Setting Unique Id for SDK versions below 2.52.2","href":"/developer-guide/web-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-2-52-2"},{"title":"Web SDK User Attributes Tracking","href":"/developer-guide/web-sdk/data-tracking/web-sdk-user-attributes-tracking"},{"title":"Web SDK Events Tracking","description":"Track user actions and event attributes on your website using the MoEngage Web SDK.","href":"/developer-guide/web-sdk/data-tracking/web-sdk-events-tracking"},{"title":"Configure Data opt-out in Web SDK","href":"/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk"}]},{"group":"Web Push","root":{"title":"Web Push Notifications","description":"Set up web push with MoEngage, including the service worker, opt-in prompt behavior, Safari on iOS and iPadOS, and opt-out reporting.","href":"/developer-guide/web-sdk/web-push/overview"},"pages":[{"title":"Web Push Overview","href":"/developer-guide/web-sdk/web-push/web-push-overview"},{"title":"Safari Web Push for iOS and iPadOS","href":"/developer-guide/web-sdk/web-push/safari-web-push-for-i-os-and-i-pad-os"},{"title":"Configure and Integrate Web Push","href":"/developer-guide/web-sdk/web-push/configure-and-integrate-web-push"},{"title":"Configure Self-Handled Opt-In","href":"/developer-guide/web-sdk/web-push/configure-self-handled-opt-in"},{"title":"Opted Out Users","href":"/developer-guide/web-sdk/web-push/opted-out-users"}]},{"group":"Onsite Messaging","root":{"title":"On-Site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/overview"},"pages":[{"title":"Configure and Integrate On-site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/configure-and-integrate-on-site-messaging"},{"title":"Self Handled On-Site Messaging","href":"/developer-guide/web-sdk/onsite-messaging/self-handled-on-site-messaging"}]},{"group":"Cards","root":{"title":"Card Campaigns on the Web","href":"/developer-guide/web-sdk/cards/overview"},"pages":[{"title":"Cards","href":"/developer-guide/web-sdk/cards/cards"},{"title":"Self Handled Cards","href":"/developer-guide/web-sdk/cards/self-handled-cards"}]},{"title":"MoEngage Assist Chrome Extension","sidebarTitle":"Integration Validation","href":"/developer-guide/web-sdk/integration-validation/moengage-assist-chrome-extension"},{"title":"Web SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/web-sdk/deprecated-versions/deprecated-versions"},{"title":"Standardizing Web SDK APIs for Cross-Platform Consistency","sidebarTitle":"Migration","href":"/developer-guide/web-sdk/migration/standardizing-web-sdk-apis-for-cross-platform-consistency"},{"group":"Other Supported Web SDK Integration","root":{"title":"Other Web SDK Integrations","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/overview"},"pages":[{"title":"User Login in AMP (Older Process)","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/user-login-in-amp-older-process"},{"title":"WebView - WebSDK Support","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/web-view-web-sdk-support"},{"title":"SDK Support for Browser Extensions","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/sdk-support-for-browser-extensions"},{"title":"Google Tag Manager (GTM) Templates","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/google-tag-manager-gtm-templates"},{"title":"Smart TV integration","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/smart-tv-integration"},{"title":"Single Page App (SPA) Support","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/single-page-app-spa-support"},{"title":"Integrating with other Web Frameworks","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/integrating-with-other-web-frameworks"},{"title":"Configure and Integrate AMP Event Analytics","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-event-analytics"},{"title":"Configure and Integrate AMP Web Push","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/configure-and-integrate-amp-web-push"},{"title":"Integrate MoEngage with MCP UI Apps","href":"/developer-guide/web-sdk/other-supported-web-sdk-integration/integrate-moengage-with-mcp-ui-apps"}]}]},{"group":"Personalize SDK","root":{"title":"MoEngage Personalize SDK","href":"/developer-guide/personalize-sdk/overview"},"pages":[{"title":"Web Personalization - V2","href":"/developer-guide/personalize-sdk/sdk-integration/web-personalization-v2"},{"title":"Offerings events tracking","href":"/developer-guide/personalize-sdk/sdk-integration/offerings-events-tracking"},{"title":"Personalize API Experience events tracking","href":"/developer-guide/personalize-sdk/sdk-integration/personalize-api-experience-events-tracking"},{"title":"fetchExperiences - MoEngage Personalize SDK","href":"/developer-guide/personalize-sdk/sdk-integration/self-handled-personalize-api-experiences"},{"title":"Content Security Policy (CSP) and Impact on Personalize","href":"/developer-guide/personalize-sdk/sdk-integration/content-security-policy-csp-and-impact-on-personalize"},{"title":"Custom Attributes","href":"/developer-guide/personalize-sdk/sdk-integration/custom-attributes"}]},{"group":"Ecommerce Platforms","root":{"title":"Ecommerce Platform Integrations","href":"/developer-guide/ecommerce-platforms/overview"},"pages":[{"group":"Shopify","root":{"title":"Shopify Integration","href":"/developer-guide/ecommerce-platforms/shopify/overview"},"pages":[{"title":"Shopify 2.0","href":"/developer-guide/ecommerce-platforms/shopify/shopify-20"},{"title":"Events and User Data Tracking","href":"/developer-guide/ecommerce-platforms/shopify/events-and-user-data-tracking"},{"title":"User Data Sync","href":"/developer-guide/ecommerce-platforms/shopify/user-data-sync"},{"title":"Sync Your Product Catalog","href":"/developer-guide/ecommerce-platforms/shopify/sync-product-catalog"},{"title":"Validate Your Shopify Integration","href":"/developer-guide/ecommerce-platforms/shopify/validate-integration"},{"title":"User Profile Management with Shopify","href":"/developer-guide/ecommerce-platforms/shopify/user-profile-management-with-shopify"},{"title":"FAQs","href":"/developer-guide/ecommerce-platforms/shopify/faqs"}]},{"title":"WooCommerce","href":"/developer-guide/ecommerce-platforms/woo-commerce/woocommerce"},{"title":"Magento","href":"/developer-guide/ecommerce-platforms/magento/magento"}]},{"group":"React Native SDK","root":{"title":"MoEngage React Native SDK","href":"/developer-guide/react-native-sdk/overview"},"pages":[{"title":"Getting Started with React Native SDK","sidebarTitle":"Overview","href":"/developer-guide/react-native-sdk/overview/getting-started-with-react-native-sdk"},{"group":"SDK Integration","root":{"title":"Integrating the React Native SDK","href":"/developer-guide/react-native-sdk/sdk-integration/overview"},"pages":[{"group":"React Native","pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/framework-dependency"},{"title":"Android Build Configuration","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-installation/ios"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/file-based-initialization"},{"title":"Migration and Precedence","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/file-based-initialization/migration-and-precedence"}]},{"group":"Manual Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/framework-initialization"},{"title":"Android","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/sdk-integration/react-native/sdk-initialization/manual-initialization/ios"}]}]}]},{"group":"Expo","pages":[{"title":"Installation","href":"/developer-guide/react-native-sdk/sdk-integration/expo/installation"},{"title":"Configure the MoEngage Expo SDK","href":"/developer-guide/react-native-sdk/sdk-integration/expo/configure-the-moengage-expo-sdk"},{"title":"Initialization","href":"/developer-guide/react-native-sdk/sdk-integration/expo/initialization"}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/react-native-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/react-native-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in React Native","href":"/developer-guide/react-native-sdk/data-tracking/overview"},"pages":[{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/react-native-sdk/data-tracking/tracking-user-attributes-and-user-identity"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/react-native-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update","href":"/developer-guide/react-native-sdk/data-tracking/install-update"},{"title":"Setting Unique Id for SDK versions below 11.2.0","href":"/developer-guide/react-native-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-1120"},{"title":"Tracking Events","href":"/developer-guide/react-native-sdk/data-tracking/tracking-events"},{"title":"Delete User From MoEngage Server","href":"/developer-guide/react-native-sdk/data-tracking/delete-user-from-moengage-server"}]},{"group":"Push","root":{"title":"Push Notifications in React Native","href":"/developer-guide/react-native-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/react-native-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/react-native-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/react-native-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/react-native-sdk/push/basic/push-callback"},{"group":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","pages":[{"title":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","href":"/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking"},{"title":"Migrate To The Extension Integrator Tool","href":"/developer-guide/react-native-sdk/push/basic/integrating-moengage-service-and-content-extensions/migrating-to-the-extension-integrator-tool"}]}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/react-native-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/react-native-sdk/push/optional/notification-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/react-native-sdk/in-app-messages/inapp-nativ"},{"group":"Personalize","root":{"title":"Personalize in React Native","href":"/developer-guide/react-native-sdk/personalize/overview"},"pages":[{"title":"Personalize SDK","href":"/developer-guide/react-native-sdk/personalize/personalize-sdk"},{"title":"Personalize Data Payload","href":"/developer-guide/react-native-sdk/personalize/personalize-data-payload"}]},{"title":"Recommendations","href":"/developer-guide/react-native-sdk/recommendations/recommendations"},{"group":"Cards","root":{"title":"Card Campaigns in React Native","href":"/developer-guide/react-native-sdk/cards/overview"},"pages":[{"group":"Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/react-native-sdk/cards/installation/framework-dependency"},{"title":"Android","href":"/developer-guide/react-native-sdk/cards/installation/android"},{"title":"iOS","href":"/developer-guide/react-native-sdk/cards/installation/ios"}]},{"title":"Framework Initialization","href":"/developer-guide/react-native-sdk/cards/initialization/framework-initialization"},{"title":"Self Handled Cards","href":"/developer-guide/react-native-sdk/cards/self-handled-cards"},{"title":"Cards Data Payload","href":"/developer-guide/react-native-sdk/cards/cards-data-payload"}]},{"title":"Compliance","href":"/developer-guide/react-native-sdk/compliance/compliance"},{"title":"TV Support","href":"/developer-guide/react-native-sdk/tv/tv-support"},{"title":"React Native Sample App","sidebarTitle":"Sample App","href":"/developer-guide/react-native-sdk/sample-app/react-native-sample-app"},{"title":"Migrate the MoEngage React Native SDK From CocoaPods to Swift Package Manager","sidebarTitle":"Migrate From CocoaPods to SPM","href":"/developer-guide/react-native-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"},{"title":"Troubleshooting and FAQs - React Native","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/react-native-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-react"},{"title":"React Native SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/react-native-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Flutter SDK","root":{"title":"MoEngage Flutter SDK","href":"/developer-guide/flutter-sdk/overview"},"pages":[{"title":"Getting Started with Flutter SDK","sidebarTitle":"Overview","href":"/developer-guide/flutter-sdk/overview/getting-started-with-flutter-sdk"},{"group":"SDK Integration","root":{"title":"Integrating the Flutter SDK","href":"/developer-guide/flutter-sdk/sdk-integration/overview"},"pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/framework-dependency"},{"title":"Android","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/android"},{"title":"iOS","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-installation/ios"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/file-based-initialization"},{"title":"Migration and Precedence","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/file-based-initialization/migration-and-precedence"}]},{"group":"Manual Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/manual-initialization/ios-sdk-initialization"},{"title":"Web SDK Initialization","href":"/developer-guide/flutter-sdk/sdk-integration/sdk-initialization/web-sdk-initialization"}]}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/flutter-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/flutter-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Flutter","href":"/developer-guide/flutter-sdk/data-tracking/overview"},"pages":[{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/flutter-sdk/data-tracking/tracking-user-attributes-and-user-identity"},{"title":"Delete User From MoEngage Server","href":"/developer-guide/flutter-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/flutter-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/flutter-sdk/data-tracking/install-update-differentiation"},{"title":"Setting Unique Id for SDK versions below 9.2.0","href":"/developer-guide/flutter-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-920"},{"title":"Tracking Events","href":"/developer-guide/flutter-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Flutter","href":"/developer-guide/flutter-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/flutter-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/flutter-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/flutter-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/flutter-sdk/push/basic/push-callback"},{"group":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","pages":[{"title":"Set Up iOS Notification Extensions for Rich Push and Impression Tracking","href":"/developer-guide/flutter-sdk/push/basic/integrating-moengage-service-and-content-extension-in-ios/set-up-ios-notification-extensions-for-rich-push-and-impression-tracking"},{"title":"Migrate To The Extension Integrator Tool","href":"/developer-guide/flutter-sdk/push/basic/integrating-moengage-service-and-content-extension-in-ios/migrating-to-the-extension-integrator-tool"}]}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/flutter-sdk/push/optional/location-triggered"},{"title":"Notification Center","href":"/developer-guide/flutter-sdk/push/optional/notification-center"}]}]},{"title":"InApp NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/flutter-sdk/in-app-messages/inapp-nativ"},{"group":"Personalize","root":{"title":"Personalize in Flutter","href":"/developer-guide/flutter-sdk/personalize/overview"},"pages":[{"title":"Personalize SDK","href":"/developer-guide/flutter-sdk/personalize/personalize-sdk"},{"title":"Personalize Data Payload","href":"/developer-guide/flutter-sdk/personalize/personalize-data-payload"}]},{"title":"Self Handled Cards","sidebarTitle":"Cards","href":"/developer-guide/flutter-sdk/cards/self-handled-cards"},{"title":"Compliance","href":"/developer-guide/flutter-sdk/compliance/compliance"},{"title":"Migrate the MoEngage Flutter SDK From CocoaPods to Swift Package Manager","sidebarTitle":"Migrate From CocoaPods to SPM","href":"/developer-guide/flutter-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"},{"title":"Troubleshooting and FAQs - Flutter","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/flutter-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-flutter"},{"title":"Flutter Sample App","sidebarTitle":"Sample App","href":"/developer-guide/flutter-sdk/sample-app/flutter-sample-app"},{"title":"Flutter SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/flutter-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Cordova SDK","root":{"title":"MoEngage Cordova SDK","href":"/developer-guide/cordova-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Cordova SDK","href":"/developer-guide/cordova-sdk/sdk-integration/overview"},"pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/framework-dependency"},{"title":"Android SDK Installation","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/android-sdk-installation"},{"title":"iOS Installation","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-installation/ios-installation"}]},{"group":"SDK Initialization","pages":[{"title":"Framework Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/cordova-sdk/sdk-integration/sdk-initialization/ios-sdk-initialization"}]},{"title":"Limitations","href":"/developer-guide/cordova-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Cordova","href":"/developer-guide/cordova-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/cordova-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/cordova-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update differentiation","href":"/developer-guide/cordova-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/cordova-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/cordova-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Cordova","href":"/developer-guide/cordova-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/cordova-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/cordova-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration ","href":"/developer-guide/cordova-sdk/push/basic/ios-push-configuration-7xx"},{"title":"Push Callback","href":"/developer-guide/cordova-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/cordova-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/cordova-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/cordova-sdk/compliance/compliance"},{"title":"Cordova SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/cordova-sdk/deprecated-versions/deprecated-versions"},{"title":"Migrating to 4.x.x","sidebarTitle":"Migration","href":"/developer-guide/cordova-sdk/migration/migrating-to-4xx"},{"title":"Troubleshooting and FAQs - Cordova","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/cordova-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-cordova"}]},{"group":"Unity SDK","root":{"title":"MoEngage Unity SDK","href":"/developer-guide/unity-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Unity SDK","href":"/developer-guide/unity-sdk/sdk-integration/overview"},"pages":[{"title":"SDK Installation","href":"/developer-guide/unity-sdk/sdk-integration/sdk-installation/sdk-installation"},{"group":"SDK Initialization","pages":[{"title":"SDK Initialization","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/sdk-initialization"},{"group":"Manual Initialization","pages":[{"title":"Android","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/manual-initialization/android"}]},{"group":"File Based Initialization","pages":[{"title":"Android","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/android"},{"title":"iOS","href":"/developer-guide/unity-sdk/sdk-integration/sdk-initialization/file-based-initialization/ios"}]}]},{"title":"Limitations","href":"/developer-guide/unity-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Unity","href":"/developer-guide/unity-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/unity-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/unity-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/unity-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes","href":"/developer-guide/unity-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/unity-sdk/data-tracking/tracking-events"}]},{"group":"Push","root":{"title":"Push Notifications in Unity","href":"/developer-guide/unity-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Push Configuration","href":"/developer-guide/unity-sdk/push/basic/android-push-configuration"},{"title":"Android Notification Runtime Permissions","href":"/developer-guide/unity-sdk/push/basic/android-notification-runtime-permissions"},{"title":"iOS Push Configuration","href":"/developer-guide/unity-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/unity-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Configuring Push Templates","href":"/developer-guide/unity-sdk/push/optional/configuring-push-templates"},{"title":"Location Triggered","href":"/developer-guide/unity-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In App Messages","href":"/developer-guide/unity-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/unity-sdk/compliance/compliance"},{"title":"Troubleshooting and FAQs - Unity","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/unity-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-unity"},{"title":"Unity SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/unity-sdk/deprecated-versions/deprecated-versions"}]},{"group":"Capacitor SDK","root":{"title":"MoEngage Capacitor SDK","href":"/developer-guide/capacitor-sdk/overview"},"pages":[{"group":"SDK Integration","root":{"title":"Integrating the Capacitor SDK","href":"/developer-guide/capacitor-sdk/sdk-integration/overview"},"pages":[{"group":"Basic","pages":[{"group":"SDK Installation","pages":[{"title":"Framework Dependency","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/framework-dependency"},{"title":"Android SDK Installation","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/android-sdk-installation"},{"title":"iOS SDK Installation","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-installation/ios-sdk-installation"}]},{"group":"SDK Initialization","pages":[{"group":"File Based Initialization","pages":[{"title":"File Based Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/file-based-initialization"},{"title":"Migration And Precedence","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/file-based-initlialization/migration-and-precedence"}]},{"title":"Framework Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/framework-initialization"},{"title":"Android SDK Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/android-sdk-initialization"},{"title":"iOS SDK Initialization","href":"/developer-guide/capacitor-sdk/sdk-integration/basic/sdk-initialization/ios-sdk-initialization"}]}]},{"group":"Advanced","pages":[{"title":"JWT Authentication","href":"/developer-guide/capacitor-sdk/sdk-integration/advanced/jwt-authentication"}]},{"title":"Limitations","href":"/developer-guide/capacitor-sdk/sdk-integration/limitations"}]},{"group":"Data Tracking","root":{"title":"Data Tracking in Capacitor","href":"/developer-guide/capacitor-sdk/data-tracking/overview"},"pages":[{"title":"Delete User From MoEngage Server","href":"/developer-guide/capacitor-sdk/data-tracking/delete-user-from-moengage-server"},{"title":"Enable Advertising Identifier Tracking","href":"/developer-guide/capacitor-sdk/data-tracking/enable-advertising-identifier-tracking"},{"title":"Install/Update Differentiation","href":"/developer-guide/capacitor-sdk/data-tracking/install-update-differentiation"},{"title":"Tracking User Attributes and User Identity","href":"/developer-guide/capacitor-sdk/data-tracking/tracking-user-attributes"},{"title":"Tracking Events","href":"/developer-guide/capacitor-sdk/data-tracking/tracking-events"},{"title":"Setting Unique ID for SDK versions below 6.0.0","href":"/developer-guide/capacitor-sdk/data-tracking/setting-unique-id-for-sdk-versions-below-6.0.0"}]},{"group":"Push","root":{"title":"Push Notifications in Capacitor","href":"/developer-guide/capacitor-sdk/push/overview"},"pages":[{"group":"Basic","pages":[{"title":"Android Notification Runtime Permissions","href":"/developer-guide/capacitor-sdk/push/basic/android-notification-runtime-permissions"},{"title":"Android Push Configuration","href":"/developer-guide/capacitor-sdk/push/basic/android-push-configuration"},{"title":"iOS Push Configuration","href":"/developer-guide/capacitor-sdk/push/basic/ios-push-configuration"},{"title":"Push Callback","href":"/developer-guide/capacitor-sdk/push/basic/push-callback"}]},{"group":"Optional","pages":[{"title":"Location Triggered","href":"/developer-guide/capacitor-sdk/push/optional/location-triggered"}]}]},{"title":"InApp NATIV","sidebarTitle":"In-App Messages","href":"/developer-guide/capacitor-sdk/in-app-messages/inapp-nativ"},{"title":"Compliance","href":"/developer-guide/capacitor-sdk/compliance/compliance"},{"title":"Migrate the MoEngage Capacitor SDK From CocoaPods to Swift Package Manager","sidebarTitle":"Migrate From CocoaPods to SPM","href":"/developer-guide/capacitor-sdk/migration/migration-of-moengage-sdk-from-cocoapods-to-spm"},{"title":"Troubleshooting and FAQs - Capacitor","sidebarTitle":"Troubleshooting and FAQs","href":"/developer-guide/capacitor-sdk/troubleshooting-and-faqs/troubleshooting-and-faqs-capacitor"},{"title":"Capacitor Sample App","sidebarTitle":"Sample App","href":"/developer-guide/capacitor-sdk/sample-app/capacitor-sample-app"},{"title":"Capacitor SDK Deprecated Versions","sidebarTitle":"Deprecated Versions","href":"/developer-guide/capacitor-sdk/deprecated-versions/deprecated-versions"}]},{"title":"SDK Installation","sidebarTitle":"Ionic SDK","href":"/developer-guide/ionic-sdk/sdk-integration/sdk-installation"},{"title":"TV and OTT Integrations","href":"/developer-guide/tv-and-ott-integrations/getting-started/tv-and-ott-integrations"},{"group":"SDK Lifecycle \u0026 Policies","root":{"title":"SDK Lifecycle and Policies","href":"/developer-guide/sdk-lifecycle-and-policies/overview"},"pages":[{"title":"SDK Deprecation Policy","href":"/developer-guide/sdk-lifecycle-and-policies/sdk-deprecation-policy"},{"title":"Deprecation for Older Platform Versions","href":"/developer-guide/sdk-lifecycle-and-policies/deprecation-for-older-platform-versions"}]},{"group":"Components for SDK","root":{"title":"Components for SDK","href":"/developer-guide/components-for-sdk/overview"},"pages":[{"title":"Real-time Uninstall Tracking","href":"/developer-guide/components-for-sdk/tracking/real-time-uninstall-tracking"},{"group":"Javascript Bridge","root":{"title":"JavaScript Bridge","href":"/developer-guide/components-for-sdk/javascript-bridge/overview"},"pages":[{"title":"JavaScript Bridge for HTML In-Apps","href":"/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-html-in-apps"},{"title":"JavaScript Bridge for On-Site Messaging and Landing Pages","href":"/developer-guide/components-for-sdk/javascript-bridge/javascript-bridge-for-on-site-messaging-and-landing-pages"}]},{"title":"Android Push Configuration For Hybrid Applications","sidebarTitle":"Push Notification","href":"/developer-guide/components-for-sdk/push-notification/android-push-configuration-for-hybrid-applications"}]},{"title":"Getting FCM Server Key","sidebarTitle":"Partner Integrations","href":"/developer-guide/partner-integrations/firebase/getting-fcm-server-key"}]}]},{"tab":"API Guide","pages":[{"title":"API Guide","href":"/api/introduction"}]},{"tab":"AI \u0026 Intelligence","pages":[{"title":"AI \u0026 Intelligence","href":"/user-guide/ai-and-intelligence/overview"}]},{"tab":"Partner Integrations","pages":[{"title":"Partner Integrations","href":"/partner-guide/introduction"}]},{"tab":"Use Cases","pages":[{"title":"Use Cases","href":"/use-cases/introduction"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/subscribe-to-release-notes"}]}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/developer-guide/web-sdk/data-tracking/configure-data-opt-out-in-web-sdk"}]}]},"basePath":"","title":"Configure Data opt-out in Web SDK - MoEngage","buildId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","deploymentId":"dpl_6PxPD4Fj1JDU9BJxEHvfdUmxKThw","dynamics":[],"chunks":[]}