Encore ingests RevenueCat webhooks natively, so when RevenueCat manages your subscriptions you skip the server-side forwarding in Configure Analytics entirely. There is no payload to construct, nothing to sign, and no event mapping.Two alignment moves replace it.
Call identify() with the same id you pass RevenueCat as app_user_id. This is the quickstart’s stable-customer-id rule with one extra constraint: the two ids must be the same value, byte-identical.
import Encore from '@encorekit/web-sdk';Encore.identify('cus_8f4kq2'); // the same value you give RevenueCat as app_user_id
Encore joins RevenueCat’s subscription events to your offer exposures on that shared id, server-side.
Add the per-app receiver URL from your Encore dashboard’s webhook settings as a RevenueCat webhook target. RevenueCat’s webhook guide covers adding a webhook in their dashboard.
Many publishers already forward RevenueCat webhooks somewhere. If yours are configured, confirm the destination URL matches the one in your Encore dashboard.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Encore","colors":{"primary":"#3B82F6","light":"#60A5FA","dark":"#2563EB"},"favicon":"https://mintcdn.com/encore-5242061e/Q9j45w34T3HE6gEF/favicon.ico?fit=max\u0026auto=format\u0026n=Q9j45w34T3HE6gEF\u0026q=85\u0026s=f4a721bc5092e5517ad5bb0e80acd195","appearance":{"default":"dark"},"navbar":{"links":[{"href":"mailto:admin@encorekit.com","label":"Support"}]},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"My Dashboard","icon":"gauge","href":"https://dashboard.encorekit.com"},{"anchor":"Support","icon":"envelope","href":"mailto:admin@encorekit.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"encore-5242061e","hasAudioNarration":false,"actualSubdomain":"encore-5242061e","customDomains":["docs.encorekit.com"],"gitSource":{"type":"github","owner":"encorekit","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae35bdbf2e535e50ffb71b3","collectionId":"5d728e92-86e5-4bf8-8968-c8c2e364113a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae35bdbf2e535e50ffb71b3"},"entitlements":{},"buildId":"6ae35bdbf2e535e50ffb71b3","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Publishers","count":166},{"language":"default","tag":"SDKs","count":146},{"language":"default","tag":"SDK Reference","count":76},{"language":"default","tag":"Bridges","count":44},{"language":"default","tag":"iOS","count":43},{"language":"default","tag":"Web","count":34},{"language":"default","tag":"Integration Guides","count":26},{"language":"default","tag":"Android","count":25},{"language":"default","tag":"Quickstart","count":23},{"language":"default","tag":"Flutter","count":23}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"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":"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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"publishers/web/guides/managers/revenuecat","slug":"/publishers/web/guides/managers/revenuecat","pageMetadata":{"title":"Using RevenueCat","sidebarTitle":"RevenueCat","description":"Let RevenueCat's webhook carry your subscription events to Encore instead of forwarding them yourself.","href":"/publishers/web/guides/managers/revenuecat"},"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: \"Let RevenueCat’s webhook carry your subscription events to Encore instead of forwarding them yourself.\"\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`,hr:`hr`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Tip}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`overview`,children:`Overview`}),`\n`,_jsxs(_components.p,{children:[`Encore ingests RevenueCat webhooks natively, so when RevenueCat manages your subscriptions you skip the server-side forwarding in `,_jsx(_components.a,{href:`/publishers/web/quickstart/configure-analytics`,children:`Configure Analytics`}),` entirely. There is no payload to construct, nothing to sign, and no event mapping.`]}),`\n`,_jsx(_components.p,{children:`Two alignment moves replace it.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`use-one-id-for-both`,children:`Use one id for both`}),`\n`,_jsxs(_components.p,{children:[`Call `,_jsx(_components.a,{href:`/publishers/web/sdk-reference/identify`,children:_jsx(_components.code,{children:`identify()`})}),` with the same id you pass RevenueCat as `,_jsx(_components.code,{children:`app_user_id`}),`. This is the quickstart’s stable-customer-id rule with one extra constraint: the two ids must be the same value, byte-identical.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Encore`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@encorekit/web-sdk'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Encore`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`identify`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'cus_8f4kq2'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`); `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// the same value you give RevenueCat as app_user_id`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Encore joins RevenueCat’s subscription events to your offer exposures on that shared id, server-side.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`point-revenuecat’s-webhook-at-encore`,children:`Point RevenueCat’s webhook at Encore`}),`\n`,_jsxs(_components.p,{children:[`Add the per-app receiver URL from your Encore dashboard’s webhook settings as a RevenueCat webhook target. `,_jsx(_components.a,{href:`https://www.revenuecat.com/docs/integrations/webhooks`,children:`RevenueCat’s webhook guide`}),` covers adding a webhook in their dashboard.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Many publishers already forward RevenueCat webhooks somewhere. If yours are configured, confirm the destination URL matches the one in your Encore dashboard.`})})]})}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":"Using RevenueCat","sidebarTitle":"RevenueCat","description":"Let RevenueCat's webhook carry your subscription events to Encore instead of forwarding them yourself.","href":"/publishers/web/guides/managers/revenuecat"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":2,"children":[]},{"title":"Use one id for both","slug":"use-one-id-for-both","depth":2,"children":[]},{"title":"Point RevenueCat’s webhook at Encore","slug":"point-revenuecat’s-webhook-at-encore","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"encore-5242061e","siteName":"Encore","title":"Using RevenueCat - Encore","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-31T22:11:46.458Z","originalFileLocation":"publishers/web/guides/managers/revenuecat.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=\"dark\"}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=\"Let RevenueCat\u0026#x27;s webhook carry your subscription events to Encore instead of forwarding them yourself.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Encore\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_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/encore-5242061e/xhPViPNw21djssdp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Using RevenueCat - Encore\">\u003cmeta data-mint-head property=\"og:description\" content=\"Let RevenueCat\u0026#x27;s webhook carry your subscription events to Encore instead of forwarding them yourself.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Encore\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://encore-5242061e.mintlify.app/_mintlify/api/og/v2?division=3rd+Party+Subscription+Managers\u0026amp;title=Using+RevenueCat\u0026amp;description=Let+RevenueCat%27s+webhook+carry+your+subscription+events+to+Encore+instead+of+forwarding+them+yourself.\u0026amp;theme=222d1621abf39a0a97558941\u0026amp;signature=09542950a70e5da6a48895c5e46f9a203e8334c4d39a47d5fd7b35e9e3fe302c\">\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=\"Using RevenueCat - Encore\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Let RevenueCat\u0026#x27;s webhook carry your subscription events to Encore instead of forwarding them yourself.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://encore-5242061e.mintlify.app/_mintlify/api/og/v2?division=3rd+Party+Subscription+Managers\u0026amp;title=Using+RevenueCat\u0026amp;description=Let+RevenueCat%27s+webhook+carry+your+subscription+events+to+Encore+instead+of+forwarding+them+yourself.\u0026amp;theme=222d1621abf39a0a97558941\u0026amp;signature=09542950a70e5da6a48895c5e46f9a203e8334c4d39a47d5fd7b35e9e3fe302c\">\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/encore-5242061e/xhPViPNw21djssdp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Encore\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3B82F6\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/publishers/web/guides/managers/revenuecat.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.encorekit.com/#organization\",\"name\":\"Encore\",\"url\":\"https://docs.encorekit.com\"},{\"@type\":\"WebSite\",\"@id\":\"https://docs.encorekit.com#website\",\"name\":\"Encore\",\"url\":\"https://docs.encorekit.com\",\"publisher\":{\"@id\":\"https://docs.encorekit.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat#webpage\",\"url\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat\",\"name\":\"Using RevenueCat\",\"description\":\"Let RevenueCat's webhook carry your subscription events to Encore instead of forwarding them yourself.\",\"dateModified\":\"2026-07-31T22:11:46.458Z\",\"isPartOf\":{\"@id\":\"https://docs.encorekit.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Web\",\"item\":\"https://docs.encorekit.com/publishers/web/quickstart/install\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integration Guides\",\"item\":\"https://docs.encorekit.com/publishers/web/guides/integration-patterns\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Using RevenueCat\",\"item\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat#article\",\"headline\":\"Using RevenueCat\",\"name\":\"Using RevenueCat\",\"description\":\"Let RevenueCat's webhook carry your subscription events to Encore instead of forwarding them yourself.\",\"url\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat\",\"mainEntityOfPage\":{\"@id\":\"https://docs.encorekit.com/publishers/web/guides/managers/revenuecat#webpage\"},\"dateModified\":\"2026-07-31T22:11:46.458Z\",\"publisher\":{\"@id\":\"https://docs.encorekit.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.encorekit.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Encore\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Encore","nav":{"global":{"anchors":[{"anchor":"My Dashboard","icon":"gauge","href":"https://dashboard.encorekit.com"},{"anchor":"Support","icon":"envelope","href":"mailto:admin@encorekit.com"}]},"products":[{"product":"Publishers","icon":"code","tabs":[{"tab":"Documentation","icon":"book-open","pages":[{"title":"Documentation","href":""}]},{"tab":"SDKs","icon":"cubes","groups":[{"group":"iOS","pages":[{"group":"Quickstart","pages":[{"title":"Install the SDK","href":"/publishers/ios/quickstart/install"},{"title":"Configure the SDK","href":"/publishers/ios/quickstart/configure"},{"title":"User Management","href":"/publishers/ios/quickstart/user-management"},{"title":"Presenting Offers","href":"/publishers/ios/quickstart/present-offers"},{"title":"Configure Analytics","href":"/publishers/ios/quickstart/configure-analytics"}]},{"group":"Platform Integration","pages":[{"title":"App Store Subscription Product","href":"/publishers/ios/platform-setup/subscription-product"},{"title":"App Store Server Notifications","href":"/publishers/ios/platform-setup/server-notifications"},{"title":"Create a Promotional Offer","href":"/publishers/ios/platform-setup/create-promotional-offer"}]},{"group":"Integration Guides","pages":[{"title":"Integration Patterns","href":"/publishers/ios/guides/integration-patterns"},{"group":"Reduce Churn","pages":[{"title":"Add Subscription Product","href":"/publishers/ios/guides/add-subscription-product"}]},{"group":"3rd Party Subscription Managers","pages":[{"group":"Superwall","pages":[{"title":"Present Offers with Superwall","sidebarTitle":"Present Offers","href":"/publishers/ios/guides/managers/superwall/present-offers"},{"title":"Add Subscription Product with Superwall","sidebarTitle":"Add Subscription Product","href":"/publishers/ios/guides/managers/superwall/add-subscription-product"},{"title":"Configure Analytics with Superwall","sidebarTitle":"Configure Analytics","href":"/publishers/ios/guides/managers/superwall/configure-analytics"}]},{"group":"RevenueCat","pages":[{"title":"Present Offers with RevenueCat","sidebarTitle":"Present Offers","href":"/publishers/ios/guides/managers/revenuecat/present-offers"},{"title":"Add Subscription Product with RevenueCat","sidebarTitle":"Add Subscription Product","href":"/publishers/ios/guides/managers/revenuecat/add-subscription-product"},{"title":"Configure Analytics with RevenueCat","sidebarTitle":"Configure Analytics","href":"/publishers/ios/guides/managers/revenuecat/configure-analytics"}]},{"group":"Adapty","pages":[{"title":"Add Subscription Product with Adapty","sidebarTitle":"Add Subscription Product","href":"/publishers/ios/guides/managers/adapty/add-subscription-product"},{"title":"Configure Analytics with Adapty","sidebarTitle":"Configure Analytics","href":"/publishers/ios/guides/managers/adapty/configure-analytics"}]},{"group":"Qonversion","pages":[{"title":"Add Subscription Product with Qonversion","sidebarTitle":"Add Subscription Product","href":"/publishers/ios/guides/managers/qonversion/add-subscription-product"},{"title":"Configure Analytics with Qonversion","sidebarTitle":"Configure Analytics","href":"/publishers/ios/guides/managers/qonversion/configure-analytics"}]},{"title":"Using Multiple Managers","sidebarTitle":"Multiple Managers","href":"/publishers/ios/guides/managers/multiple-managers"}]}]},{"group":"Updating the SDK","pages":[{"title":"Routine updates","href":"/publishers/ios/guides/updating-sdk"},{"title":"Updating to 2.x","href":"/publishers/ios/guides/updating-to-2-x"}]},{"group":"SDK Reference","pages":[{"title":"Overview","href":"/publishers/ios/sdk-reference/overview"},{"title":"configure()","href":"/publishers/ios/sdk-reference/configure"},{"title":"identify()","href":"/publishers/ios/sdk-reference/identify"},{"title":"setUserAttributes()","href":"/publishers/ios/sdk-reference/set-user-attributes"},{"title":"setLanguage()","href":"/publishers/ios/sdk-reference/set-language"},{"title":"clearLanguage()","href":"/publishers/ios/sdk-reference/clear-language"},{"title":"reset()","href":"/publishers/ios/sdk-reference/reset"},{"title":"isActive()","href":"/publishers/ios/sdk-reference/is-active"},{"title":"isActivePublisher()","href":"/publishers/ios/sdk-reference/is-active-publisher"},{"title":"placement()","href":"/publishers/ios/sdk-reference/placement"},{"title":"EncorePurchaseController","href":"/publishers/ios/sdk-reference/purchase-controller"},{"title":"outcomes","href":"/publishers/ios/sdk-reference/outcomes"},{"title":"isClaimEnabled","href":"/publishers/ios/sdk-reference/is-claim-enabled"},{"title":"revokeEntitlements()","href":"/publishers/ios/sdk-reference/revoke-entitlements"},{"title":"UserAttributes","href":"/publishers/ios/sdk-reference/user-attributes"},{"title":"PresentationResult","href":"/publishers/ios/sdk-reference/presentation-result"},{"title":"Entitlements","href":"/publishers/ios/sdk-reference/entitlements"},{"title":"EntitlementScope","href":"/publishers/ios/sdk-reference/entitlement-scope"},{"title":"DismissReason","href":"/publishers/ios/sdk-reference/dismiss-reason"},{"title":"Errors","href":"/publishers/ios/sdk-reference/errors"}]}]},{"group":"Android","pages":[{"group":"Quickstart","pages":[{"title":"Install the SDK","href":"/publishers/android/quickstart/install"},{"title":"Configure the SDK","href":"/publishers/android/quickstart/configure"},{"title":"User Management","href":"/publishers/android/quickstart/user-management"},{"title":"Presenting Offers","href":"/publishers/android/quickstart/present-offers"},{"title":"Configure Analytics","href":"/publishers/android/quickstart/configure-analytics"}]},{"group":"Platform Integration","pages":[{"title":"Google Play Subscription Product","href":"/publishers/android/platform-setup/subscription-product"},{"title":"Real-Time Developer Notifications","href":"/publishers/android/platform-setup/server-notifications"}]},{"group":"Integration Guides","pages":[{"title":"Integration Patterns","href":"/publishers/android/guides/integration-patterns"},{"group":"Reduce Churn","pages":[{"title":"Add Subscription Product","href":"/publishers/android/guides/add-subscription-product"}]}]},{"group":"Updating the SDK","pages":[{"title":"Routine updates","href":"/publishers/android/guides/updating-sdk"},{"title":"Updating to 2.x","href":"/publishers/android/guides/updating-to-2-x"}]},{"group":"SDK Reference","pages":[{"title":"Overview","href":"/publishers/android/sdk-reference/overview"},{"title":"configure()","href":"/publishers/android/sdk-reference/configure"},{"title":"identify()","href":"/publishers/android/sdk-reference/identify"},{"title":"setUserAttributes()","href":"/publishers/android/sdk-reference/set-user-attributes"},{"title":"setLanguage()","href":"/publishers/android/sdk-reference/set-language"},{"title":"clearLanguage()","href":"/publishers/android/sdk-reference/clear-language"},{"title":"reset()","href":"/publishers/android/sdk-reference/reset"},{"title":"EncorePurchaseController","href":"/publishers/android/sdk-reference/purchase-controller"},{"title":"placement()","href":"/publishers/android/sdk-reference/placement"},{"title":"PresentationResult","href":"/publishers/android/sdk-reference/presentation-result"},{"title":"DismissReason","href":"/publishers/android/sdk-reference/dismiss-reason"},{"title":"Encore.outcomes","href":"/publishers/android/sdk-reference/outcomes"},{"title":"UserAttributes","href":"/publishers/android/sdk-reference/user-attributes"},{"title":"EncoreError","href":"/publishers/android/sdk-reference/errors"}]}]},{"group":"Web","pages":[{"group":"Quickstart","pages":[{"title":"Install the SDK","href":"/publishers/web/quickstart/install"},{"title":"Configure the SDK","href":"/publishers/web/quickstart/configure"},{"title":"User Management","href":"/publishers/web/quickstart/user-management"},{"title":"Present Offers","href":"/publishers/web/quickstart/present-offers"},{"title":"Configure Analytics","href":"/publishers/web/quickstart/configure-analytics"}]},{"group":"Integration Guides","pages":[{"title":"Web Integration Patterns","href":"/publishers/web/guides/integration-patterns"},{"title":"Hosted Offer Page (No SDK)","sidebarTitle":"Hosted Offer Page","href":"/publishers/web/guides/hosted-offer-page"},{"group":"Frameworks","pages":[{"title":"React","href":"/publishers/web/frameworks/react"},{"title":"Vue","href":"/publishers/web/frameworks/vue"},{"title":"Svelte","href":"/publishers/web/frameworks/svelte"},{"title":"Angular","href":"/publishers/web/frameworks/angular"},{"title":"Vanilla JavaScript","href":"/publishers/web/frameworks/vanilla-js"}]},{"group":"Reward Users","pages":[{"title":"Post-Purchase Placements","href":"/publishers/web/guides/post-purchase-placements"}]},{"group":"Reduce Churn","pages":[{"title":"Reduce Churn at the Paywall","sidebarTitle":"At the Paywall","description":"Recover a user who abandons your paywall with a premium brand offer that unlocks a better-than-standard deal on your product.","href":"/publishers/web/guides/intercept-paywall-abandonment"}]},{"group":"3rd Party Subscription Managers","pages":[{"title":"Using RevenueCat","sidebarTitle":"RevenueCat","href":"/publishers/web/guides/managers/revenuecat"}]},{"title":"Advanced UI","description":"Restyle the offer sheet with theme colors, or replace the reward sheet's headline and buttons with your own elements: the full appearance contract on PlacementOptions.","href":"/publishers/web/guides/advanced-ui"}]},{"group":"Updating the SDK","pages":[{"title":"Routine updates","href":"/publishers/web/guides/updating-sdk"},{"title":"Updating to 2.x","href":"/publishers/web/guides/updating-to-2-x"}]},{"group":"Concepts","pages":[{"title":"The Claim Flow","href":"/publishers/web/concepts/claim-flow"},{"title":"Sheet Variants","href":"/publishers/web/concepts/sheet-variants"}]},{"group":"SDK Reference","pages":[{"title":"Overview","href":"/publishers/web/sdk-reference/overview"},{"title":"configure()","href":"/publishers/web/sdk-reference/configure"},{"title":"identify()","href":"/publishers/web/sdk-reference/identify"},{"title":"setUserAttributes()","href":"/publishers/web/sdk-reference/set-user-attributes"},{"title":"setLanguage()","href":"/publishers/web/sdk-reference/set-language"},{"title":"clearLanguage()","href":"/publishers/web/sdk-reference/clear-language"},{"title":"reset()","href":"/publishers/web/sdk-reference/reset"},{"title":"show()","href":"/publishers/web/sdk-reference/show"},{"title":"redeem()","href":"/publishers/web/sdk-reference/redeem"},{"title":"placement()","href":"/publishers/web/sdk-reference/placement"},{"title":"isClaimEnabled","href":"/publishers/web/sdk-reference/is-claim-enabled"},{"title":"onStrictUnlockVerified()","href":"/publishers/web/sdk-reference/on-strict-unlock-verified"},{"title":"Error Handling","href":"/publishers/web/sdk-reference/errors"},{"title":"Webhook Ingestion","href":"/publishers/web/sdk-reference/webhook-ingestion"}]}]},{"group":"Bridges","pages":[{"group":"React Native","pages":[{"group":"Quickstart","pages":[{"title":"Install the SDK","href":"/publishers/react-native/quickstart/install"},{"title":"Configure the SDK","href":"/publishers/react-native/quickstart/configure"},{"title":"User Management","href":"/publishers/react-native/quickstart/user-management"},{"title":"Presenting Offers","href":"/publishers/react-native/quickstart/present-offers"}]},{"group":"Guides","pages":[{"title":"React Native Integration Patterns","href":"/publishers/react-native/guides/integration-patterns"},{"group":"Reduce Churn","pages":[{"title":"Add Subscription Product","href":"/publishers/react-native/guides/add-subscription-product"}]}]},{"group":"Updating the SDK","pages":[{"title":"Routine updates","href":"/publishers/react-native/guides/updating-sdk"},{"title":"Updating to 2.x","href":"/publishers/react-native/guides/updating-to-2-x"}]},{"group":"SDK Reference","pages":[{"title":"configure()","href":"/publishers/react-native/sdk-reference/configure"},{"title":"identify()","href":"/publishers/react-native/sdk-reference/identify"},{"title":"setUserAttributes()","href":"/publishers/react-native/sdk-reference/set-user-attributes"},{"title":"setLanguage()","href":"/publishers/react-native/sdk-reference/set-language"},{"title":"clearLanguage()","href":"/publishers/react-native/sdk-reference/clear-language"},{"title":"reset()","href":"/publishers/react-native/sdk-reference/reset"},{"title":"placement()","href":"/publishers/react-native/sdk-reference/placement"},{"title":"PurchaseController","href":"/publishers/react-native/sdk-reference/purchase-controller"},{"title":"onOutcome()","href":"/publishers/react-native/sdk-reference/outcomes"},{"title":"setClaimEnabled()","href":"/publishers/react-native/sdk-reference/set-claim-enabled"},{"title":"UserAttributes","href":"/publishers/react-native/sdk-reference/user-attributes"},{"title":"PresentationResult","href":"/publishers/react-native/sdk-reference/presentation-result"},{"title":"Errors","href":"/publishers/react-native/sdk-reference/errors"}]}]},{"group":"Flutter","pages":[{"group":"Quickstart","pages":[{"title":"Install the SDK","href":"/publishers/flutter/quickstart/install"},{"title":"Configure the SDK","href":"/publishers/flutter/quickstart/configure"},{"title":"User Management","href":"/publishers/flutter/quickstart/user-management"},{"title":"Presenting Offers","href":"/publishers/flutter/quickstart/present-offers"}]},{"group":"Guides","pages":[{"title":"Flutter Integration Patterns","href":"/publishers/flutter/guides/integration-patterns"},{"group":"Reduce Churn","pages":[{"title":"Add Subscription Product","href":"/publishers/flutter/guides/add-subscription-product"}]}]},{"group":"Updating the SDK","pages":[{"title":"Routine updates","href":"/publishers/flutter/guides/updating-sdk"},{"title":"Updating to 2.x","href":"/publishers/flutter/guides/updating-to-2-x"}]},{"group":"SDK Reference","pages":[{"title":"Overview","href":"/publishers/flutter/sdk-reference/overview"},{"title":"configure()","href":"/publishers/flutter/sdk-reference/configure"},{"title":"identify()","href":"/publishers/flutter/sdk-reference/identify"},{"title":"setUserAttributes()","href":"/publishers/flutter/sdk-reference/set-user-attributes"},{"title":"setLanguage()","href":"/publishers/flutter/sdk-reference/set-language"},{"title":"clearLanguage()","href":"/publishers/flutter/sdk-reference/clear-language"},{"title":"reset()","href":"/publishers/flutter/sdk-reference/reset"},{"title":"placement()","href":"/publishers/flutter/sdk-reference/placement"},{"title":"EncorePurchaseController","href":"/publishers/flutter/sdk-reference/purchase-controller"},{"title":"outcomes","href":"/publishers/flutter/sdk-reference/outcomes"},{"title":"setClaimEnabled()","href":"/publishers/flutter/sdk-reference/set-claim-enabled"},{"title":"EncoreUserAttributes","href":"/publishers/flutter/sdk-reference/user-attributes"},{"title":"EncorePresentationResult","href":"/publishers/flutter/sdk-reference/presentation-result"},{"title":"EncoreDismissReason","href":"/publishers/flutter/sdk-reference/dismiss-reason"},{"title":"Errors","href":"/publishers/flutter/sdk-reference/errors"}]}]}]}]},{"tab":"Server API","icon":"server","pages":[{"title":"Server API","href":"/publishers/offers-api/guides/receive-completion-events"}]}]},{"product":"Advertisers","icon":"bullhorn","pages":[{"title":"Advertisers","href":"/advertisers/integration"}]}]},"title":"Using RevenueCat - Encore","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}