Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member’s balance, issuing points manually, and removing points that should not stand.
Overview
A loyalty program accumulates value in members’ balances over time, which makes its controls more
important than in a campaign that pays out once. This page covers the controls available before
points are issued and the corrections available afterward.
Limiting What Can Be Earned
Three layers decide whether an action produces points.Quality rules evaluate whether the event is legitimate before anything is rewarded — risk
signals on the email domain and IP, event quality, and identity checks. They apply to every event.
See Configuring the Rules of Your Program
and Fraud and Anti-Gaming Protection.Reward rules decide who earns and how often — audience membership, conditions on the event
data, and the reward behavior that controls repetition. See
How to Set Up Reward Rules.Reward limits cap exposure. On a reward, set limits to alert you when too many rewards are
fulfilled in an hour or a day. On a dynamic Collectible Reward, the required maximum per
transaction caps what any single event can issue. In the Reward Bank, the minimum and maximum
redemption values cap what a member can redeem at once.
Set the daily reward limit alert before launch. On a loyalty program the ways to earn are
numerous and often automated, so a misconfigured event issues points at volume faster than anyone
notices.
Blocking a Member
Where someone should stop earning entirely, block them rather than tightening rules that affect
everybody. See
How to Block Users and Decline Shares.
Looking Up a Member
Support requests about a loyalty program are usually about a balance the member expected to be
higher. Everything needed to answer is in User Support.
Navigate to User Support.
Find the person with People Search or Event Live View.
Open their profile to see their events, the rewards they have earned, and the evaluation results
showing why a reward did or did not issue.
The balance is empty in the Redemption Center but the profile shows rewards
The member is probably not reaching it as a verified consumer.
A member who reaches the Reward Bank without being verified sees an empty bank rather than an
error. Before investigating a missing balance, confirm how the member accessed the Redemption
Center.
Adding Points Manually
Two paths, and which is right depends on why the points are missing.Create the missing event. Where the action genuinely happened but the event never reached
Extole, create it in User Support > Create Event, preferring the campaign’s own event name.
The reward then issues through the normal rules, so the member’s history stays accurate. See
How to Manually Create a Referral or Other Event.Approve a failed reward. Where the reward was created and blocked by a rule you are willing to
override in this case, approve it from the participant’s profile. See
How to Approve Failed Rewards.Issue a reward directly. Where neither applies and the member should be given points.
See How to Issue a Manual Reward.Prefer creating the event over issuing a reward directly. Creating the event leaves a record of
what happened; issuing a reward leaves a record only that somebody granted it.
Expiring and Revoking Points
Supported Reward Bank Collectible Rewards can expire automatically after the date or delay you
configure. Changing that configuration does not update rewards that members have already earned.To remove an individual reward manually, expire or revoke it from View Reward or over the API.
Both actions are audited and accept a reason that is stored with the record.
Revoke a fulfilled or sent reward that should not stand — issued against an order later
returned, or against activity found to be illegitimate.
Expire a reward that has reached the end of its life under your program terms.
Both are API operations; see
Points and Balances.Extole does not automatically connect a return to the points issued for its original order. Your
system or support process must identify the reward and revoke it.
Removing points is visible to the member and reduces a balance they may have been planning
against. Record a reason on every removal, and make sure your program terms support the action
before taking it at scale.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Extole Documentation","description":"Guides, product documentation, and API reference for the Extole platform.","colors":{"primary":"#ee0049","light":"#ee0049","dark":"#ee0049"},"logo":{"light":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e","dark":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e","href":"/"},"favicon":{"light":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/Extole-icon-bug.svg?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=963cb7a87707b61559c35c47c8d7fd14","dark":"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/Extole-icon-bug.svg?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=963cb7a87707b61559c35c47c8d7fd14"},"api":{"url":"full"},"navbar":{"links":[{"href":"https://github.com/extole","label":"GitHub"},{"href":"https://my.extole.com","label":"My Extole"},{"href":"#request-sandbox","label":"Request Sandbox"}]},"footer":{"socials":{"github":"https://github.com/extole"}},"fonts":{"heading":{"family":"Space Mono","weight":700},"body":{"family":"Poppins","weight":400}},"integrations":{"ga4":{"measurementId":"G-7QCR5R4J61"}},"contextual":{"options":["copy","assistant","download-spec","chatgpt","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"extole","hasAudioNarration":false,"actualSubdomain":"extole","customDomains":["docs.extole.com"],"gitSource":{"type":"github","owner":"extole","repo":"product-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"agentFeedback":true,"thumbs":true,"issues":true,"edits":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af73dade90c1f4f013fb9d8","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":447},{"language":"default","tag":"Management API","count":310},{"language":"default","tag":"Guides","count":253},{"language":"default","tag":"Technical Docs","count":132},{"language":"default","tag":"Server to Extole API","count":72},{"language":"default","tag":"Programs \u0026 Campaigns","count":58},{"language":"default","tag":"Dashboards and Reporting","count":57},{"language":"default","tag":"Product Docs","count":56},{"language":"default","tag":"Components","count":49},{"language":"default","tag":"Product Overview","count":40}],"searchSettings":{"maxResults":20,"showContentSnippets":true,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"rbac-expansion","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":"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":"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":"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":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":true},"customCss":[{"filePath":"public/style.css","content":"/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucXtAKPY.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiGyp8kv8JHgFVrJJLufntAKPY.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiGyp8kv8JHgFVrJJLucHtA.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hVFteOcEg.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hVGdeOcEg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmg1hVF9eO.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19VFteOcEg.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19VGdeOcEg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmr19VF9eO.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VFteOcEg.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VGdeOcEg.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiDyp8kv8JHgFVrJJLmy15VF9eO.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJbecmNE.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJnecmNE.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiEyp8kv8JHgFVrJJfecg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z11lFc-K.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1JlFc-K.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLGT9Z1xlFQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z11lFc-K.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1JlFc-K.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLEj6Z1xlFQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* devanagari */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z11lFc-K.woff2) format('woff2');\n unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1JlFc-K.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Poppins';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/poppins/v24/pxiByp8kv8JHgFVrLCz7Z1xlFQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dNIFZifjKcF5UAWdDRYERMSHK_IwU.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dNIFZifjKcF5UAWdDRYERMSXK_IwU.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dNIFZifjKcF5UAWdDRYERMR3K_.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dSIFZifjKcF5UAWdDRYERE_FeqEySRV3U.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dSIFZifjKcF5UAWdDRYERE_FeqEiSRV3U.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Space Mono';\n font-style: italic;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dSIFZifjKcF5UAWdDRYERE_FeqHCSR.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dPIFZifjKcF5UAWdDRYE58RWq7.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dPIFZifjKcF5UAWdDRYE98RWq7.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dPIFZifjKcF5UAWdDRYEF8RQ.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dMIFZifjKcF5UAWdDRaPpZUFqaHjyV.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dMIFZifjKcF5UAWdDRaPpZUFuaHjyV.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Space Mono';\n font-style: normal;\n font-weight: 700;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/spacemono/v17/i7dMIFZifjKcF5UAWdDRaPpZUFWaHg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--extole-coral: #ee0049;--extole-navy: #0b123d;--extole-primary-fill: #ee0049;--extole-icon-navy-bg: #0b123d;--extole-slate: #7d90a4;--extole-ink: #151a2d;--extole-muted: #4f5c6d;--extole-page-bg: #faf9f7;--extole-card-bg: #faf9f7;--extole-surface: #ffffff;--extole-surface-muted: rgba(255, 255, 255, 0.45);--extole-logo-bg: #ffffff;--extole-secondary-bg: #ffffff;--extole-border: #e2e2e0;--extole-border-strong: #d0dae6;--extole-shadow: 0 16px 44px rgba(11, 18, 61, 0.08);--extole-hero-shadow: 0 10px 32px rgba(11, 18, 61, 0.06);--extole-radius: 16px;--extole-heading-font: \"Space Mono\", \"SFMono-Regular\", Menlo, Monaco, Consolas, monospace}html,body{background:var(--extole-page-bg)}html:not(.dark):not([data-theme=\"dark\"]):not([data-color-mode=\"dark\"]) #background-color{background-color:var(--extole-page-bg)!important}body{color:var(--extole-ink);font-family:\"Poppins\", \"Inter\", \"Montserrat\", \"Segoe UI\", sans-serif}.dark body,html.dark body,body.dark,:root[data-theme=\"dark\"] body,[data-theme=\"dark\"] body,[data-color-mode=\"dark\"] body{background:#0f1526}.nav-logo{height:24px!important;max-width:84px!important;object-fit:contain}.extole-home{color:var(--extole-ink);color-scheme:light;max-width:1440px;margin:0 auto;padding:16px 16px 96px;width:100%}.dark .extole-home,html.dark .extole-home,body.dark .extole-home,:root[data-theme=\"dark\"] .extole-home,[data-theme=\"dark\"] .extole-home,[data-color-mode=\"dark\"] .extole-home,body[data-theme=\"dark\"] .extole-home,html[data-theme=\"dark\"] .extole-home{--extole-coral: #ee0049;--extole-navy: #f3f6ff;--extole-primary-fill: #ee0049;--extole-icon-navy-bg: #263455;--extole-slate: #9cacbf;--extole-ink: #e5ebf7;--extole-muted: #b4bfd2;--extole-card-bg: #151c31;--extole-surface: #1d263d;--extole-surface-muted: rgba(255, 255, 255, 0.06);--extole-logo-bg: rgba(248, 250, 255, 0.96);--extole-secondary-bg: rgba(255, 255, 255, 0.03);--extole-border: rgba(178, 191, 216, 0.16);--extole-border-strong: rgba(205, 218, 242, 0.28);--extole-shadow: 0 20px 48px rgba(0, 0, 0, 0.36);--extole-hero-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);color-scheme:dark}.extole-hero{display:grid;grid-template-columns:minmax(0, 1.12fr) minmax(420px, 0.88fr);gap:28px;align-items:stretch}.extole-hero-copy,.extole-code-panel{border:1px solid var(--extole-border);border-radius:24px;box-shadow:var(--extole-hero-shadow)}.extole-hero-copy{min-height:0;padding:46px 43px;background:var(--extole-card-bg)}.extole-kicker,.extole-code-kicker{margin:0 0 18px;color:var(--extole-coral);font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase}.extole-hero h1,.extole-section h2{color:var(--extole-navy);font-family:var(--extole-heading-font);font-weight:700;letter-spacing:-0.01em}.extole-hero h1{max-width:720px;margin:0 0 17px;font-size:clamp(1.9rem, 3vw, 2.7rem);line-height:1.15}.extole-lede{max-width:58ch;margin:0;color:var(--extole-muted);font-size:1.04rem;line-height:1.65}.extole-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.extole-btn{display:inline-flex;min-height:48px;min-width:178px;align-items:center;justify-content:center;border-radius:12px;padding:0 20px;font-family:var(--extole-heading-font);font-size:15px;font-weight:600;text-decoration:none!important;transition:transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease}.extole-btn:hover{transform:translateY(-1px)}.extole-btn-primary{background:var(--extole-primary-fill);color:#ffffff!important;box-shadow:0 10px 22px rgba(11, 18, 61, 0.22)}.extole-btn-secondary{border:1px solid var(--extole-border-strong);background:var(--extole-secondary-bg);color:var(--extole-navy)!important}.extole-sandbox{margin-top:30px;color:var(--extole-muted);font-size:0.92rem}.extole-sandbox a{color:var(--extole-navy);font-weight:600}.extole-code-panel{max-height:500px;min-width:0;overflow:hidden;padding:30px 26px;background:radial-gradient(circle at 90% 0%, rgba(224, 0, 73, 0.36), transparent 38%),\n linear-gradient(160deg, #131a47 0%, #0b123d 56%, #070c28 100%);color:#ffffff}.extole-code-kicker{color:#93a4d2}.extole-code-panel [class*=\"codeblock\"],.extole-code-panel pre,.extole-code-panel code{font-family:\"Space Mono\", \"SFMono-Regular\", Consolas, monospace!important}.extole-code-panel pre{background:transparent!important;color:#d4d4d4;font-size:0.84rem;line-height:1.65;margin:0;max-height:365px;overflow-x:hidden;overflow-y:auto;scrollbar-color:rgba(160, 173, 205, 0.3) rgba(8, 14, 39, 0.28);scrollbar-width:thin;text-align:left;white-space:pre;word-break:normal}.extole-code-panel .line{display:block;min-height:1.65em}.extole-code-panel .tok-comment{color:#6a9955}.extole-code-panel .tok-keyword,.extole-code-panel .tok-tag{color:#569cd6}.extole-code-panel .tok-attr,.extole-code-panel .tok-property,.extole-code-panel .tok-variable{color:#9cdcfe}.extole-code-panel .tok-string{color:#ce9178}.extole-code-panel .tok-function{color:#dcdcaa}.extole-code-panel .tok-number{color:#b5cea8}.extole-code-panel .tok-type{color:#4ec9b0}.extole-code-panel pre::-webkit-scrollbar{width:8px}.extole-code-panel pre::-webkit-scrollbar-track{background:rgba(8, 14, 39, 0.28);border-radius:10px}.extole-code-panel pre::-webkit-scrollbar-thumb{background:rgba(160, 173, 205, 0.3);border-radius:10px}.extole-code-tabs{display:flex;gap:18px;margin-bottom:18px;border-bottom:1px solid rgba(138, 156, 201, 0.24)}.extole-code-tab{display:inline-flex;padding-bottom:10px;color:#9fb0dd;cursor:pointer;font-family:var(--extole-heading-font);font-size:0.78rem}.extole-tab-radio{block-size:1px;inline-size:1px;margin:0;opacity:0;overflow:hidden;pointer-events:none;position:absolute}.extole-code-block{display:none}#extole-code-tab-js:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-js\"],#extole-code-tab-react-native:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-react-native\"],#extole-code-tab-ios:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-ios\"],#extole-code-tab-android:checked~.extole-code-tabs .extole-code-tab[for=\"extole-code-tab-android\"]{border-bottom:2px solid #f5e7a5;color:#f4f8ff}#extole-code-tab-js:checked~.extole-code-block-js,#extole-code-tab-react-native:checked~.extole-code-block-react-native,#extole-code-tab-ios:checked~.extole-code-block-ios,#extole-code-tab-android:checked~.extole-code-block-android{display:block}.extole-link-strip{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));margin-top:42px;overflow:hidden;border:1px solid var(--extole-border);border-radius:24px;background:var(--extole-card-bg)}.extole-link-strip a{display:flex;min-height:78px;align-items:center;gap:14px;padding:18px 24px;color:var(--extole-ink);text-decoration:none!important}.extole-link-strip a+a{border-left:1px solid var(--extole-border)}.extole-link-strip strong{font-family:var(--extole-heading-font);font-size:15px;letter-spacing:0}.extole-icon{display:inline-flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;border-radius:11px;color:#fff;font-size:13px;font-weight:800}.extole-icon svg,.extole-support-icon svg{display:block;height:22px;width:22px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.extole-icon span{line-height:1}.extole-icon-navy{background:var(--extole-icon-navy-bg)}.extole-icon-gray{background:#7c8191}.extole-icon-pink{background:var(--extole-coral)}.extole-icon-blue{background:#a7d8eb}.extole-icon-yellow{background:#fee64b;color:var(--extole-ink)}.extole-icon-react{background:#0b1748;color:#61dafb}.extole-icon-black{background:#171717}.extole-icon-green{background:#9fcb4a}.extole-section{margin-top:50px;padding:50px 0}.extole-section h2{margin:0;font-size:clamp(1.35rem, 2vw, 1.9rem);line-height:1.2}.extole-section>p:not(.extole-kicker){max-width:720px;margin:16px 0 28px;color:var(--extole-muted);font-size:17px}.extole-pattern-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px}.extole-stack-layout{display:grid;gap:14px}.extole-stack-pattern{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);display:grid;gap:20px;grid-template-columns:minmax(0, 30%) minmax(0, 70%);padding:24px}.extole-stack-pattern-head h3{color:var(--extole-navy);font-family:var(--extole-heading-font);margin:0 0 10px}.extole-stack-pattern-head p{color:var(--extole-muted);font-size:0.9rem;line-height:1.55;margin:0}.extole-stack-pattern-groups{display:grid;gap:12px;grid-template-columns:repeat(2, minmax(0, 1fr))}.extole-stack-group{background:var(--extole-surface);border:1px solid var(--extole-border);border-radius:12px;padding:12px 14px}.extole-stack-group-title{color:var(--extole-muted);font-family:var(--extole-heading-font);font-size:0.68rem;font-weight:600;letter-spacing:0.08em;line-height:1.2;margin:0 0 9px;text-transform:uppercase}.extole-stack-group ul{list-style:none!important;margin:0;padding:0!important}.extole-stack-group li+li{border-top:1px solid var(--extole-border);margin-top:7px;padding-top:7px}.extole-stack-group a,.extole-devhub a:not(.extole-btn):not(.extole-partner-item):not(.extole-pattern-card){color:var(--extole-navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(11, 18, 61, 0.35);text-decoration-thickness:1px;text-underline-offset:2px}.extole-stack-group a:hover,.extole-devhub a:not(.extole-btn):not(.extole-partner-item):not(.extole-pattern-card):hover{color:var(--extole-coral);text-decoration-color:rgba(238, 0, 73, 0.65)}.extole-partner-filter-layout{align-items:start;display:grid;gap:20px;grid-template-columns:minmax(220px, 260px) minmax(0, 1fr)}.extole-partner-filter-panel{display:grid;gap:10px}.extole-partner-filter-title{color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.9rem;margin:0}.extole-partner-filter-copy{color:var(--extole-muted);font-size:0.86rem;line-height:1.45;margin:-2px 0 4px}.extole-partner-filter-option{align-items:self-end;color:var(--extole-muted);column-gap:10px;cursor:pointer;display:grid;grid-template-columns:16px minmax(0, 1fr);line-height:1.35}.extole-partner-filter-option span{font-family:var(--extole-heading-font);font-size:0.74rem;line-height:1.25}.extole-partner-filter-input{accent-color:var(--extole-coral);height:16px;margin:2px 0 0;width:16px}.extole-partner-filter-option:has(.extole-partner-filter-input:checked){color:var(--extole-navy);font-weight:600}.extole-partner-surface{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);padding:4px}.extole-partner-grid{display:grid;gap:8px;grid-template-columns:repeat(4, minmax(0, 1fr))}.extole-partner-item{border-radius:12px;color:var(--extole-navy);display:block;min-height:178px;padding:14px 16px;text-decoration:none!important;transition:background-color 0.2s ease, box-shadow 0.2s ease}.extole-partner-item:hover{background:var(--extole-surface-muted);box-shadow:0 8px 18px rgba(11, 18, 61, 0.08)}.extole-partner-logo{align-items:center;background:var(--extole-logo-bg);border:1px solid var(--extole-border);border-radius:10px;display:inline-flex;height:44px;justify-content:center;margin:0 0 12px;padding:8px 12px}.extole-partner-logo img{display:block;height:100%;max-width:120px;object-fit:contain;width:auto}.extole-partner-item h3{color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.94rem;line-height:1.35;margin:0 0 8px}.extole-partner-item p{color:var(--extole-muted);font-size:0.82rem;line-height:1.45;margin:0}.extole-partner-filter-layout:has(#partner-filter-cep:checked) .extole-partner-item:not(.partner-cat-cep),.extole-partner-filter-layout:has(#partner-filter-ecommerce:checked) .extole-partner-item:not(.partner-cat-ecommerce),.extole-partner-filter-layout:has(#partner-filter-banking:checked) .extole-partner-item:not(.partner-cat-banking),.extole-partner-filter-layout:has(#partner-filter-cdp:checked) .extole-partner-item:not(.partner-cat-cdp),.extole-partner-filter-layout:has(#partner-filter-crm:checked) .extole-partner-item:not(.partner-cat-crm),.extole-partner-filter-layout:has(#partner-filter-rewards:checked) .extole-partner-item:not(.partner-cat-rewards),.extole-partner-filter-layout:has(#partner-filter-analytics:checked) .extole-partner-item:not(.partner-cat-analytics),.extole-partner-filter-layout:has(#partner-filter-tag:checked) .extole-partner-item:not(.partner-cat-tag),.extole-partner-filter-layout:has(#partner-filter-automation:checked) .extole-partner-item:not(.partner-cat-automation){display:none}.extole-support-grid{background:var(--extole-card-bg);border:1px solid var(--extole-border);border-radius:var(--extole-radius);display:grid;gap:18px;grid-template-columns:repeat(3, minmax(0, 1fr));margin-top:28px;padding:24px}.extole-pattern-card{display:block;min-height:100%;padding:24px;border:1px solid var(--extole-border);border-radius:var(--extole-radius);background:var(--extole-card-bg);box-shadow:0 8px 24px rgba(11, 18, 61, 0.05);color:var(--extole-ink);text-decoration:none!important}.extole-support-icon{align-items:center;border-radius:14px;color:#ffffff;display:inline-flex;height:44px;justify-content:center;margin-bottom:18px;width:44px}.extole-support-icon-help{background:var(--extole-coral)}.extole-support-icon-ticket{background:#3c4260}.extole-support-icon-status{background:#47b881}.extole-pattern-card h3{margin:0 0 12px;color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:1.02rem}.extole-pattern-card p{margin:0;color:var(--extole-muted);font-size:0.93rem;line-height:1.6}.extole-card-cta{display:inline-flex;margin-top:16px;color:var(--extole-navy);font-family:var(--extole-heading-font);font-size:0.88rem;font-weight:600;text-decoration:underline;text-decoration-color:rgba(11, 18, 61, 0.35);text-decoration-thickness:1px;text-underline-offset:2px}@media (max-width: 1100px){.extole-hero{grid-template-columns:1fr}.extole-hero-copy{min-height:auto}}@media (max-width: 1024px){.extole-partner-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.extole-partner-filter-layout{grid-template-columns:minmax(190px, 230px) minmax(0, 1fr)}.extole-stack-pattern{gap:14px;grid-template-columns:1fr}}@media (max-width: 900px){.extole-stack-pattern-groups{grid-template-columns:1fr}.extole-partner-filter-layout{gap:14px;grid-template-columns:1fr}.extole-partner-filter-panel{grid-template-columns:repeat(2, minmax(0, 1fr))}.extole-partner-filter-title,.extole-partner-filter-copy{grid-column:1 / -1}}@media (max-width: 820px){.extole-home{padding:12px 14px 64px}.extole-hero-copy,.extole-code-panel{border-radius:18px;padding:28px 22px}.extole-link-strip,.extole-pattern-grid,.extole-support-grid{grid-template-columns:1fr}.extole-link-strip a+a{border-left:0;border-top:1px solid var(--extole-border)}}@media (max-width: 640px){.extole-section{margin-top:20px;padding:20px 0}.extole-partner-surface{padding:0}.extole-partner-grid{grid-template-columns:1fr}.extole-partner-filter-panel{display:none}.extole-partner-filter-layout{grid-template-columns:1fr}.extole-stack-pattern{padding:20px}.extole-stack-group{padding:11px 12px}.extole-btn{min-width:100%;width:100%}.extole-actions{flex-direction:column}}"},{"filePath":"style.css","content":".object-param-field [data-component-part=\"tabs-list\"]{display:none!important}[role=\"dialog\"] [data-component-part=\"tabs-list\"]:has([data-component-part=\"tab\"]:nth-child(2)),[role=\"dialog\"] [data-component-part=\"tabs-list\"]:has([role=\"tab\"]:nth-child(2)){position:absolute!important;left:0!important;top:0!important;width:1px!important;min-width:0!important;max-width:1px!important;height:1px!important;min-height:0!important;max-height:1px!important;padding:0!important;margin:0!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}[role=\"dialog\"] [data-testid=\"api-input-type\"].extole-type-field-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}.extole-type-combo{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin:0 0 0.75rem}.extole-type-combo label{font-size:0.75rem;font-weight:600;color:#78716c}html.dark .extole-type-combo label,html.dark .extole-type-combo-meta,html.dark .extole-type-combo-empty{color:#a8a29e}.extole-type-combo-wrap{position:relative;flex:1 1 16rem;min-width:16rem;cursor:pointer}.extole-type-combo-wrap input{box-sizing:border-box;width:100%;min-width:16rem;margin:0;padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem;cursor:pointer}.extole-type-combo-wrap input:focus{cursor:text;outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}html.dark .extole-type-combo-wrap input{border-color:#44403c;background:#1c1917}.extole-type-combo-wrap::after{content:\"\";position:absolute;top:50%;right:0.85rem;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #78716c;transform:translateY(-50%);pointer-events:none}.extole-type-combo-menu{position:absolute;z-index:40;top:calc(100% + 0.25rem);left:0;right:0;max-height:18rem;overflow:auto;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;box-shadow:0 10px 30px rgb(0 0 0 / 0.12)}html.dark .extole-type-combo-menu{border-color:#44403c;background:#1c1917}.extole-type-combo-menu button{display:block;width:100%;margin:0;padding:0.5rem 0.75rem;border:0;background:transparent;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.75rem;text-align:left;cursor:pointer}.extole-type-combo-menu button:hover,.extole-type-combo-menu button[aria-selected=\"true\"]{background:rgb(28 25 23 / 0.06);color:var(--api-ink)}html.dark .extole-type-combo-menu button:hover,html.dark .extole-type-combo-menu button[aria-selected=\"true\"]{background:rgb(255 255 255 / 0.08);color:var(--api-ink)}.extole-type-combo-empty{padding:0.75rem;font-size:0.75rem;color:#78716c}.extole-type-combo-meta{font-size:0.75rem;color:#78716c;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:12ch}.extole-eval-combo{display:flex;flex-wrap:wrap;gap:0.5rem;align-items:center;margin:0 0 0.75rem}.extole-eval-combo-wrap{position:relative;flex:1 1 16rem;min-width:16rem}.extole-eval-combo-select{box-sizing:border-box;width:100%;min-width:16rem;margin:0;padding:0.5rem 2rem 0.5rem 0.75rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem;appearance:none;cursor:pointer}.extole-eval-combo-select:focus{outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}html.dark .extole-eval-combo-select{border-color:#44403c;background:#1c1917}.extole-eval-combo-wrap::after{content:\"\";position:absolute;top:50%;right:0.85rem;width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #78716c;transform:translateY(-50%);pointer-events:none}.extole-eval-map{margin:0.35rem 0 0.5rem}.extole-eval-map-list{display:flex;flex-direction:column;gap:0.5rem}.extole-eval-map-row{display:flex;flex-wrap:wrap;gap:0.4rem;align-items:center}.extole-eval-map-key,.extole-eval-map-type,.extole-eval-map-input{box-sizing:border-box;margin:0;padding:0.45rem 0.7rem;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff;color:inherit;font:inherit;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.8125rem;line-height:1.25rem}.extole-eval-map-key{width:7.5rem}.extole-eval-map-type{width:13.5rem;padding-right:1.6rem;appearance:auto;cursor:pointer}.extole-eval-map-val{display:flex;flex:1 1 12rem;min-width:10rem;align-items:center;border:1px solid #d6d3d1;border-radius:0.5rem;background:#fff}.extole-eval-map-val.is-invalid{border-color:#ee0049}.extole-eval-map-prefix{flex:0 0 auto;padding:0 0 0 0.65rem;color:#78716c;font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;font-size:0.7rem;white-space:nowrap}.extole-eval-map-val .extole-eval-map-input{flex:1 1 auto;min-width:0;border:0;background:transparent}html.dark .extole-eval-map-key,html.dark .extole-eval-map-type,html.dark .extole-eval-map-val,html.dark .extole-eval-map-input{border-color:#44403c;background:#1c1917}html.dark .extole-eval-map-val .extole-eval-map-input{background:transparent}html.dark .extole-eval-map-remove{border-color:#44403c;color:#a8a29e}.extole-eval-map-key:focus,.extole-eval-map-type:focus,.extole-eval-map-val:focus-within{outline:2px solid rgb(238 0 73 / 0.35);outline-offset:1px}.extole-eval-map-hint{flex:1 0 100%;margin:0;font-size:0.75rem;color:#ee0049}.extole-eval-map-remove{width:2rem;height:2rem;padding:0;border:1px solid #d6d3d1;border-radius:0.5rem;background:transparent;color:#78716c;cursor:pointer;font-size:1rem;line-height:1}.extole-eval-map-add{margin:0.15rem 0 0;padding:0;border:0;background:transparent;color:#ee0049;font-size:0.8125rem;cursor:pointer}[data-testid=\"api-input-values\"].extole-eval-map-on>.grid{display:none!important}html[data-extole-driving] [role=\"menu\"]{display:none!important}select.extole-eval-native-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0, 0, 0, 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}:root{--api-ink: #1c1917;--api-body: #44403c;--api-meta: #57534e;--api-faint: #a8a29e;--api-accent: #b3003a;--api-warn: #b45309;--api-rule: #ded9d1;--api-rule-soft: #ebe7e1;--api-panel: transparent;--api-row: transparent;--api-wash: rgb(179 0 58 / 0.07);--api-row-pad: 0.625rem;--api-gap: 0.375rem}html.dark{--api-ink: #f5f3f1;--api-body: #d6d3d1;--api-meta: #a8a29e;--api-faint: #78716c;--api-accent: #ff7096;--api-warn: #fcd34d;--api-rule: #46403d;--api-rule-soft: #2f2a28;--api-panel: rgb(255 255 255 / 0.04);--api-row: rgb(255 255 255 / 0.022);--api-wash: rgb(255 112 150 / 0.10)}.primitive-param-field>.py-6,.object-param-field>.py-6,.array-param-field>.py-6{padding-block:var(--api-row-pad)}@supports selector(:has(*)){div:has(>.param-head){padding-block:var(--api-row-pad)}}.param-head>div{padding-block:0;margin-right:0}.param-head>div>div{row-gap:0.125rem;column-gap:0.5rem}.param-head [data-component-part=\"field-meta\"]>div{line-height:20px}.param-head~div:not(:empty){margin-top:var(--api-gap)}.param-head~div:not(:empty)>*{margin-top:0}.param-head~div:not(:empty)>*+*{margin-top:var(--api-gap)}.primitive-param-field,.object-param-field,.array-param-field{border-color:var(--api-rule-soft)}.api-section-heading>div{border-bottom:0}@supports selector(:has(*)){div:has(>.method-pill){border:0}}@supports selector(:has(*)){.object-param-field:not(:has(>.py-6)):has(.param-head){margin-block:var(--api-gap);border:1px solid var(--api-rule);border-radius:0.5rem;padding:0.5rem;background:var(--api-panel)}}@supports selector(:has(*)){.primitive-param-field:has(>.py-6),.array-param-field:has(>.py-6),.object-param-field:has(>.py-6){margin-block:var(--api-gap);border:1px solid var(--api-rule);border-radius:0.375rem;padding-inline:0.75rem;background:var(--api-row)}}.param-head [data-component-part=\"field-name\"]{color:var(--api-ink);font-weight:600;letter-spacing:-0.006em}.param-head{word-break:normal;overflow-wrap:anywhere}.param-head [data-component-part=\"field-required-pill\"]{padding:0;border:0;border-radius:0;background:none;color:var(--api-meta);font-weight:500}.param-head [data-component-part=\"field-info-pill\"]+[data-component-part=\"field-required-pill\"]::before{content:\"\\00B7\";margin-right:0.35em;color:var(--api-faint)}.param-head[id^=\"response-\"] [data-component-part=\"field-required-pill\"]{display:none}.param-head [data-component-part=\"field-info-pill\"]{padding:0;border-radius:0;background:none;color:var(--api-meta);font-weight:500}.param-head [data-component-part=\"field-info-pill\"]+[data-component-part=\"field-info-pill\"]::before{content:\"\\00B7\";margin-right:0.35em;color:var(--api-faint)}.param-head [data-component-part=\"field-meta\"]>:last-child{margin-right:0}.param-head [data-component-part=\"field-meta-pre\"],.param-head [data-component-part=\"field-meta-post\"]{font-weight:400}.param-head [data-component-part=\"field-deprecated-pill\"]{padding:0;border-radius:0;background:none;color:var(--api-warn);font-size:0.6875rem;font-weight:500}.param-head~div .prose{color:var(--api-body)}.param-head~div .prose p{margin:0;font-size:0.875rem;line-height:1.55}.param-head~div .prose>*+*{margin-top:0.5rem}.param-head~div .prose code{color:var(--api-ink)}.param-head~div .prose-sm:not(.prose){color:var(--api-meta);font-size:0.75rem;line-height:1.45}.param-head~div .prose-sm:not(.prose) code{color:var(--api-body)}@supports selector(:has(*)){.primitive-param-field:not(:has(.param-head)) .prose-sm:not(.prose),.object-param-field:not(:has(.param-head)) .prose-sm:not(.prose),.array-param-field:not(:has(.param-head)) .prose-sm:not(.prose){margin-top:var(--api-gap)}}.param-head~div [data-component-part=\"expandable\"]{margin-top:0.5rem;border:0;border-radius:0}.param-head~div [data-component-part=\"expandable-button\"]{width:auto;padding:0.125rem 0;border-radius:0;color:var(--api-meta);font-size:0.75rem;font-weight:500}.param-head~div [data-component-part=\"expandable-button\"]:hover{background:none;color:var(--api-ink)}.param-head~div [data-component-part=\"expandable-content\"]{margin:0.25rem 0 0;padding:0 0 0 0.875rem;border-top:0;border-left:1px solid var(--api-rule)}.api-section-heading{gap:0.5rem}.api-section-heading-title{color:var(--api-meta);font-size:0.6875rem;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}@supports selector(:has(*)){div:has(>.api-section){margin-bottom:2rem}}@supports selector(:has(*)){div:has(>.param-head:target){border-radius:2px;background:var(--api-wash);box-shadow:10px 0 0 var(--api-wash), -10px 0 0 var(--api-wash)}}.newsletter-container .lead{max-width:60ch;color:var(--api-body)}.nl-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:1.5rem;margin-top:1.5rem}.nl-head h2{margin:0 0 0.75rem;padding-bottom:0.5rem;border-bottom:1px solid var(--api-rule);font-size:1.125rem}.nl-list{margin:0;padding:0;list-style:none!important}.nl-list>li::before{content:none!important;display:none!important}.nl-item{margin-bottom:0.75rem;padding:0.875rem;border:1px solid var(--api-rule);border-radius:0.5rem;background:var(--api-panel)}.nl-item__head{display:flex;gap:0.75rem;align-items:flex-start;justify-content:space-between}.nl-month{margin:0;color:var(--api-ink);font-size:0.9375rem;font-weight:600;line-height:1.4}.nl-item .actions{flex:0 0 auto}.nl-item .btn{display:inline-flex;align-items:center;padding:0.25rem 0.75rem;border:1px solid var(--api-rule);border-radius:0.375rem;color:var(--api-ink)!important;font-size:0.75rem;font-weight:600;text-decoration:none!important;white-space:nowrap}.nl-item .btn:hover{border-color:var(--api-meta)}.nl-item [data-component-part=\"accordion\"]{margin-top:0.625rem}.nl-item [data-component-part=\"accordion-content\"] ul{margin:0;color:var(--api-body);font-size:0.8125rem;line-height:1.55}@media (max-width: 820px){.nl-grid{grid-template-columns:1fr}}a[href=\"#request-sandbox\"]{align-items:center;background:#000!important;border-radius:999px;color:#fff!important;display:inline-flex;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.8125rem;font-weight:600;justify-content:center;line-height:1;min-height:2.25rem;padding:0.625rem 0.875rem;text-decoration:none!important;transition:background-color 160ms ease, transform 160ms ease}a[href=\"#request-sandbox\"]:hover{background:#27272a!important;transform:translateY(-1px)}a[href=\"#request-sandbox\"]:focus-visible,.extole-sandbox-modal button:focus-visible{outline:3px solid #ee0049;outline-offset:3px}.extole-sandbox-open{overflow:hidden}.extole-sandbox-modal{align-items:center;background:rgb(11 18 61 / 0.64);display:flex;inset:0;justify-content:center;padding:1.5rem;position:fixed;z-index:10000}.extole-sandbox-modal[hidden]{display:none}.extole-sandbox-dialog{background:#fff;border-radius:1.25rem;box-shadow:0 24px 64px rgb(11 18 61 / 0.3);color:#151a2d;max-height:calc(100vh - 3rem);max-width:36rem;overflow:auto;padding:2rem;position:relative;width:100%}.extole-sandbox-dialog h2{color:#151a2d;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1.75rem;line-height:1.15;margin:0 2.5rem 0.5rem 0}.extole-sandbox-dialog p{color:#4f5c6d;font-family:\"Poppins\", \"Inter\", sans-serif;line-height:1.5;margin:0}.extole-sandbox-close{align-items:center;background:transparent;border:0;border-radius:999px;color:#151a2d;cursor:pointer;display:inline-flex;font-size:1.5rem;height:2.25rem;justify-content:center;padding:0;position:absolute;right:1.25rem;top:1.25rem;width:2.25rem}.extole-sandbox-close:hover{background:#f1f1f1}.extole-sandbox-form{display:grid;gap:1rem;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:1.5rem}.extole-sandbox-field{display:grid;gap:0.5rem}.extole-sandbox-field-full{grid-column:1 / -1}.extole-sandbox-privacy{color:#383848;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.8em;grid-column:1 / -1;line-height:1.5;margin:0}.extole-sandbox-privacy a{color:#151a2d;font-size:inherit;font-weight:600;text-decoration:underline;text-underline-offset:0.125em}.extole-sandbox-captcha{grid-column:1 / -1}.extole-sandbox-error{color:#9f1239;font-size:0.875rem;grid-column:1 / -1;margin:0}.extole-sandbox-field label{color:#383848;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.875rem;font-weight:600}.extole-sandbox-field input,.extole-sandbox-field textarea{background:#fff;border:1px solid #c7c7c7;border-radius:0.25rem;box-sizing:border-box;color:#000;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1rem;min-height:2.75rem;padding:0.5rem 0.75rem;width:100%}.extole-sandbox-field input:focus-visible,.extole-sandbox-field textarea:focus-visible{border-color:#ee0049;outline:0}.extole-sandbox-field textarea{min-height:7.5rem;resize:vertical}.extole-sandbox-field input::placeholder,.extole-sandbox-field textarea::placeholder{color:#777}.extole-sandbox-submit{background:#383848;border:0;border-radius:999px;color:#fff;cursor:pointer;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:0.875rem;font-weight:600;grid-column:1 / -1;justify-self:start;margin-top:0.5rem;padding:0.75rem 1.25rem}.extole-sandbox-submit:hover{background:#000}.extole-sandbox-submit:disabled{cursor:wait;opacity:0.7}.extole-sandbox-success{display:grid;gap:1.25rem;margin-top:1.5rem}.extole-sandbox-success-icon{align-items:center;background:#e8f5ed;border-radius:999px;color:#187344;display:inline-flex;font-size:1.25rem;font-weight:700;height:2.75rem;justify-content:center;width:2.75rem}.extole-sandbox-success-copy{display:grid;gap:0.5rem}.extole-sandbox-success h3{color:#151a2d;font-family:\"Poppins\", \"Inter\", sans-serif;font-size:1rem;margin:0}.extole-sandbox-success[hidden],.extole-sandbox-form[hidden]{display:none}@media (max-width: 40rem){.extole-sandbox-dialog{border-radius:1rem;padding:1.5rem}.extole-sandbox-form{grid-template-columns:1fr}.extole-sandbox-submit{width:100%}}"}],"page":{"pagePath":"guides/rewards-management/reward-fulfillment/managing-member-points","slug":"/guides/rewards-management/reward-fulfillment/managing-member-points","pageMetadata":{"title":"Managing Member Points","description":"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member's balance, issuing points manually, and removing points that should not stand.","href":"/guides/rewards-management/reward-fulfillment/managing-member-points"},"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: \"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member’s balance, issuing points manually, and removing points that should not stand.\"\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`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Tip,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`overview`,children:`Overview`}),`\n`,_jsx(_components.p,{children:`A loyalty program accumulates value in members’ balances over time, which makes its controls more\nimportant than in a campaign that pays out once. This page covers the controls available before\npoints are issued and the corrections available afterward.`}),`\n`,_jsx(Heading,{level:`1`,id:`limiting-what-can-be-earned`,children:`Limiting What Can Be Earned`}),`\n`,_jsx(_components.p,{children:`Three layers decide whether an action produces points.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Quality rules`}),` evaluate whether the event is legitimate before anything is rewarded — risk\nsignals on the email domain and IP, event quality, and identity checks. They apply to every event.\nSee `,_jsx(_components.a,{href:`/guides/rewards-management/rules-configuration/configuring-the-rules-of-your-program`,children:`Configuring the Rules of Your Program`}),`\nand `,_jsx(_components.a,{href:`/guides/rewards-management/rules-configuration/fraud-and-anti-gaming-protection`,children:`Fraud and Anti-Gaming Protection`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Reward rules`}),` decide who earns and how often — audience membership, conditions on the event\ndata, and the reward behavior that controls repetition. See\n`,_jsx(_components.a,{href:`/guides/flow-campaigns/how-to-set-up-reward-rules`,children:`How to Set Up Reward Rules`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Reward limits`}),` cap exposure. On a reward, set limits to alert you when too many rewards are\nfulfilled in an hour or a day. On a dynamic Collectible Reward, the required maximum per\ntransaction caps what any single event can issue. In the Reward Bank, the minimum and maximum\nredemption values cap what a member can redeem at once.`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`Set the daily reward limit alert before launch. On a loyalty program the ways to earn are\nnumerous and often automated, so a misconfigured event issues points at volume faster than anyone\nnotices.`})}),`\n`,_jsx(Heading,{level:`1`,id:`blocking-a-member`,children:`Blocking a Member`}),`\n`,_jsxs(_components.p,{children:[`Where someone should stop earning entirely, block them rather than tightening rules that affect\neverybody. See\n`,_jsx(_components.a,{href:`/guides/rewards-management/reward-fulfillment/how-to-block-users-and-decline-shares`,children:`How to Block Users and Decline Shares`}),`.`]}),`\n`,_jsx(Heading,{level:`1`,id:`looking-up-a-member`,children:`Looking Up a Member`}),`\n`,_jsx(_components.p,{children:`Support requests about a loyalty program are usually about a balance the member expected to be\nhigher. Everything needed to answer is in User Support.`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`User Support`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Find the person with `,_jsx(_components.strong,{children:`People Search`}),` or `,_jsx(_components.strong,{children:`Event Live View`}),`.`]}),`\n`,_jsx(_components.li,{children:`Open their profile to see their events, the rewards they have earned, and the evaluation results\nshowing why a reward did or did not issue.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/platform-overview/leveraging-user-support-pages`,children:`Leveraging User Support Pages`}),` and\n`,_jsx(_components.a,{href:`/guides/rewards-management/reward-fulfillment/how-to-investigate-a-wismr-request`,children:`How to Investigate a WISMR Request`}),`.`]}),`\n`,_jsx(_components.p,{children:`Work through the causes in order:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`What you find`}),_jsx(_components.th,{style:{textAlign:`left`},children:`What it means`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`The event never arrived`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The source system did not send it, or it did not attribute to this profile.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`The event arrived but failed a quality rule`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The evaluation result on the event gives the reason.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`The reward was created but failed`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`See `,_jsx(_components.a,{href:`/guides/dashboards-and-reporting/report-types/rewards-reports/failed-rewards-report`,children:`Failed Rewards Report`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`The balance is empty in the Redemption Center but the profile shows rewards`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The member is probably not reaching it as a verified consumer.`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`A member who reaches the Reward Bank without being verified sees an empty bank rather than an\nerror. Before investigating a missing balance, confirm how the member accessed the Redemption\nCenter.`})}),`\n`,_jsx(Heading,{level:`1`,id:`adding-points-manually`,children:`Adding Points Manually`}),`\n`,_jsx(_components.p,{children:`Two paths, and which is right depends on why the points are missing.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Create the missing event.`}),` Where the action genuinely happened but the event never reached\nExtole, create it in `,_jsx(_components.strong,{children:`User Support`}),` > `,_jsx(_components.strong,{children:`Create Event`}),`, preferring the campaign’s own event name.\nThe reward then issues through the normal rules, so the member’s history stays accurate. See\n`,_jsx(_components.a,{href:`/guides/rewards-management/reward-fulfillment/how-to-manually-create-a-referral-or-other-event`,children:`How to Manually Create a Referral or Other Event`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Approve a failed reward.`}),` Where the reward was created and blocked by a rule you are willing to\noverride in this case, approve it from the participant’s profile. See\n`,_jsx(_components.a,{href:`/guides/flow-campaigns/how-to-approve-failed-rewards`,children:`How to Approve Failed Rewards`}),`.`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Issue a reward directly.`}),` Where neither applies and the member should be given points.\nSee `,_jsx(_components.a,{href:`/guides/flow-campaigns/how-to-issue-a-manual-reward`,children:`How to Issue a Manual Reward`}),`.`]}),`\n`,_jsx(_components.p,{children:`Prefer creating the event over issuing a reward directly. Creating the event leaves a record of\nwhat happened; issuing a reward leaves a record only that somebody granted it.`}),`\n`,_jsx(Heading,{level:`1`,id:`expiring-and-revoking-points`,children:`Expiring and Revoking Points`}),`\n`,_jsx(_components.p,{children:`Supported Reward Bank Collectible Rewards can expire automatically after the date or delay you\nconfigure. Changing that configuration does not update rewards that members have already earned.`}),`\n`,_jsxs(_components.p,{children:[`To remove an individual reward manually, expire or revoke it from `,_jsx(_components.strong,{children:`View Reward`}),` or over the API.\nBoth actions are audited and accept a reason that is stored with the record.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Revoke`}),` a fulfilled or sent reward that should not stand — issued against an order later\nreturned, or against activity found to be illegitimate.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Expire`}),` a reward that has reached the end of its life under your program terms.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Both are API operations; see\n`,_jsx(_components.a,{href:`/technical/platform-integrations/extensions/reward-bank/points-and-balances`,children:`Points and Balances`}),`.`]}),`\n`,_jsx(_components.p,{children:`Extole does not automatically connect a return to the points issued for its original order. Your\nsystem or support process must identify the reward and revoke it.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Removing points is visible to the member and reduces a balance they may have been planning\nagainst. Record a reason on every removal, and make sure your program terms support the action\nbefore taking it at scale.`})}),`\n`,_jsx(Heading,{level:`1`,id:`giving-your-support-team-access`,children:`Giving Your Support Team Access`}),`\n`,_jsxs(_components.p,{children:[`Team members can be limited to the User Support pages rather than given full administrative access,\nwhich is usually the right level for agents handling balance questions. See\n`,_jsx(_components.a,{href:`/guides/user-management/managing-users/user-roles-permissions`,children:`User Roles \u0026 Permissions`}),` and\n`,_jsx(_components.a,{href:`/guides/platform-overview/inform-your-support-team-about-your-extole-program`,children:`Inform Your Support Team About Your Extole Program`}),`.`]}),`\n`,_jsx(Heading,{level:`1`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/dashboards-and-reporting/report-types/rewards-reports/reward-bank-reports`,children:`Reward Bank Reports`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/rewards-management/reward-fulfillment/wismr-101-understanding-customer-reward-inquiries`,children:`WISMR 101: Understanding Customer Reward Inquiries`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/rewards-management/reward-fulfillment/look-up-and-understand-your-program-event-statuses`,children:`Look Up and Understand Your Program Event Statuses`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/guides/programs-and-campaigns/how-to-set-up-a-loyalty-program`,children:`How to Set Up a Loyalty Program`})}),`\n`]})]})}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":"Managing Member Points","description":"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member's balance, issuing points manually, and removing points that should not stand.","href":"/guides/rewards-management/reward-fulfillment/managing-member-points"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Overview","slug":"overview","depth":1,"children":[]},{"title":"Limiting What Can Be Earned","slug":"limiting-what-can-be-earned","depth":1,"children":[]},{"title":"Blocking a Member","slug":"blocking-a-member","depth":1,"children":[]},{"title":"Looking Up a Member","slug":"looking-up-a-member","depth":1,"children":[]},{"title":"Adding Points Manually","slug":"adding-points-manually","depth":1,"children":[]},{"title":"Expiring and Revoking Points","slug":"expiring-and-revoking-points","depth":1,"children":[]},{"title":"Giving Your Support Team Access","slug":"giving-your-support-team-access","depth":1,"children":[]},{"title":"Related","slug":"related","depth":1,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/extole/f41fea9c3aac4d55/type-combobox.js","/_mintlify/custom/extole/83546dbecca8dd1c/evaluatable-map.js","/_mintlify/custom/extole/8a8483f8fc226986/evaluatable-selector.js","/_mintlify/custom/extole/83812e823faa6683/request-sandbox.js"],"subdomain":"extole","siteName":"Extole Documentation","title":"Managing Member Points - Extole Documentation","relatedPagesConfig":{"enabled":true,"limit":5,"mode":"automatic"},"navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-11T21:42:59.853Z","originalFileLocation":"guides/rewards-management/reward-fulfillment/managing-member-points.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=\"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=\"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member\u0026#x27;s balance, issuing points manually, and removing points that should not stand.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Extole Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_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/extole/fqJbsSkQuI9X8tIY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Managing Member Points - Extole Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member\u0026#x27;s balance, issuing points manually, and removing points that should not stand.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Extole Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://extole.mintlify.site/_mintlify/api/og/v2?division=Reward+Fulfillment\u0026amp;title=Managing+Member+Points\u0026amp;description=Day-to-day+operation+of+a+loyalty+program+%E2%80%94+limiting+what+can+be+earned%2C+looking+up+a+member%27s+balance%2C+issuing+points+manually%2C+and+removing+points+that+should\u0026amp;theme=1484b4628d2fbfb7ddbdf997\u0026amp;signature=0dbbf85a699fa83a30b8a45cd97fad81201103d443519830af829d48ef98093b\">\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=\"Managing Member Points - Extole Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member\u0026#x27;s balance, issuing points manually, and removing points that should not stand.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://extole.mintlify.site/_mintlify/api/og/v2?division=Reward+Fulfillment\u0026amp;title=Managing+Member+Points\u0026amp;description=Day-to-day+operation+of+a+loyalty+program+%E2%80%94+limiting+what+can+be+earned%2C+looking+up+a+member%27s+balance%2C+issuing+points+manually%2C+and+removing+points+that+should\u0026amp;theme=1484b4628d2fbfb7ddbdf997\u0026amp;signature=0dbbf85a699fa83a30b8a45cd97fad81201103d443519830af829d48ef98093b\">\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/extole/fqJbsSkQuI9X8tIY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Extole Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#ee0049\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/rewards-management/reward-fulfillment/managing-member-points.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.extole.com/#organization\",\"name\":\"Extole Documentation\",\"url\":\"https://docs.extole.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/extole/qEcOgc0BuXrP2LAU/extole-logo.png?fit=max\u0026auto=format\u0026n=qEcOgc0BuXrP2LAU\u0026q=85\u0026s=d7152863dcc1c598d4fac27f91b3658e\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.extole.com#website\",\"name\":\"Extole Documentation\",\"url\":\"https://docs.extole.com\",\"publisher\":{\"@id\":\"https://docs.extole.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points#webpage\",\"url\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points\",\"name\":\"Managing Member Points\",\"description\":\"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member's balance, issuing points manually, and removing points that should not stand.\",\"dateModified\":\"2026-11-11T21:42:59.853Z\",\"isPartOf\":{\"@id\":\"https://docs.extole.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rewards Management\",\"item\":\"https://docs.extole.com/guides/rewards-management/rules-configuration/configuring-the-rules-of-your-program\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reward Fulfillment\",\"item\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/wismr-101-understanding-customer-reward-inquiries\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Managing Member Points\",\"item\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points#article\",\"headline\":\"Managing Member Points\",\"name\":\"Managing Member Points\",\"description\":\"Day-to-day operation of a loyalty program — limiting what can be earned, looking up a member's balance, issuing points manually, and removing points that should not stand.\",\"url\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points\",\"mainEntityOfPage\":{\"@id\":\"https://docs.extole.com/guides/rewards-management/reward-fulfillment/managing-member-points#webpage\"},\"dateModified\":\"2026-11-11T21:42:59.853Z\",\"publisher\":{\"@id\":\"https://docs.extole.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.extole.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Extole Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Extole Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/guides/rewards-management/reward-fulfillment/managing-member-points.md","siteName":"Extole Documentation","nav":{"global":null,"tabs":[{"tab":"Product Docs","pages":[{"title":"Product Docs","href":"/product/extole-overview/what-is-extole"}]},{"tab":"Technical Docs","pages":[{"title":"Technical Docs","href":"/technical/integration-overview/integrating-with-extole"}]},{"tab":"Guides","groups":[{"group":"Platform Overview","pages":[{"group":"Extole Chat","pages":[{"title":"Troubleshooting Extole Chat","href":"/guides/platform-overview/extole-chat/troubleshooting"}]},{"group":"Key Concepts","pages":[{"title":"Understanding Participation Rate","href":"/guides/platform-overview/key-concepts/understanding-participation-rate"},{"title":"Acquisition Rate","href":"/guides/platform-overview/key-concepts/acquisition-rate"},{"title":"What is the Value that Extole Delivers?","href":"/guides/platform-overview/key-concepts/what-is-the-value-that-extole-delivers"},{"title":"How Does Extole Recognize Advocates?","href":"/guides/platform-overview/key-concepts/how-does-extole-recognize-advocates"},{"title":"Referral Marketing Glossary","href":"/guides/platform-overview/key-concepts/referral-marketing-glossary"}]},{"group":"Implementing your Referral Program","pages":[{"title":"Program and Campaign Flows","href":"/guides/platform-overview/implementing-your-referral-program/program-and-campaign-flows"},{"group":"Creating CTAs","pages":[{"title":"Marketing Tags for Marketers","href":"/guides/platform-overview/implementing-your-referral-program/creating-ctas/marketing-tags-for-marketers"},{"title":"How to Create a Promo Link","href":"/guides/platform-overview/implementing-your-referral-program/creating-ctas/how-to-create-a-promo-link"},{"title":"How to Host Your Own Call-to-Action","href":"/guides/platform-overview/implementing-your-referral-program/creating-ctas/how-to-host-your-own-call-to-action"}]},{"group":"Technical Items","pages":[{"title":"Webhooks","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/webhooks"},{"title":"Passing all Events to Extole","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/passing-all-events-to-extole"},{"title":"How to Track Referral Revenue Generated by Your Program","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/how-to-track-referral-revenue-generated-by-your-program"},{"title":"Delivering Share Messages","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/delivering-share-messages"},{"title":"Program Domain Setup","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/program-domain-setup"},{"title":"Managing Your Branded URLs","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/managing-your-branded-urls"},{"title":"Migrating to a New Program Domain","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/migrating-to-a-new-program-domain"},{"title":"Mobile App Sharing","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/mobile-app-sharing"},{"title":"Tracking Conversions with a Mobile App","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/tracking-conversions-with-a-mobile-app"},{"title":"Technical Requirements","href":"/guides/platform-overview/implementing-your-referral-program/technical-items/technical-requirements"}]}]},{"title":"Getting Started with Extole","href":"/guides/platform-overview/getting-started-with-extole"},{"title":"Go-Live QA Checklist","href":"/guides/platform-overview/go-live-qa-checklist"},{"title":"Introducing My Extole","href":"/guides/platform-overview/introducing-my-extole"},{"title":"Preparing Your Support Team for Extole","href":"/guides/platform-overview/inform-your-support-team-about-your-extole-program"},{"title":"Leveraging User Support Pages","href":"/guides/platform-overview/leveraging-user-support-pages"},{"title":"Meet Cate: Your 24/7 Program Assistance Chatbot","href":"/guides/platform-overview/meet-cate-your-24-7-program-assistance-chatbot"},{"title":"Programs vs. Campaigns","href":"/guides/platform-overview/programs-vs-campaigns"},{"title":"Creating a Program","href":"/guides/platform-overview/creating-a-program"},{"title":"Referral Program QA Guide for Marketers","href":"/guides/platform-overview/referral-program-qa-guide-for-marketers"},{"title":"Exploring the Programs Page","href":"/guides/platform-overview/exploring-the-programs-page"},{"title":"Exploring the Reports Page","href":"/guides/platform-overview/exploring-the-reports-page"},{"title":"Add a Promotion (Onsite Call-to-Action or Marketing Email)","href":"/guides/platform-overview/add-a-promotion-onsite-call-to-action-or-marketing-email"},{"title":"Extole Opt-In/Opt-Out Sync Guide","href":"/guides/platform-overview/extole-opt-in-opt-out-sync-guide"},{"title":"Manually Uploading Events to Extole","href":"/guides/platform-overview/manually-uploading-events-to-extole"},{"title":"Program and Campaign Dashboards","href":"/guides/platform-overview/program-and-campaign-dashboards"},{"title":"Set Up Dynamic Eligible Audience Files","href":"/guides/platform-overview/set-up-dynamic-eligible-audience-files"},{"title":"Tracking Referrals via Tags vs. Email Capture","href":"/guides/platform-overview/tracking-referrals-via-tags-vs-email-capture"},{"title":"Uploading an Eligibility Audience File via SFTP","href":"/guides/platform-overview/uploading-an-eligibility-audience-file-via-sftp"},{"title":"Targeting","href":"/guides/platform-overview/targeting"}]},{"group":"Programs \u0026 Campaigns","pages":[{"group":"Campaign Creation \u0026 Editing","pages":[{"title":"Quick Start a Referral Campaign","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/quick-start-a-referral-campaign"},{"title":"Using Extole's Campaign Editor","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/using-extole-s-campaign-editor"},{"title":"Enable Friend Email Capture for Opt Ins","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/enable-friend-email-capture-for-opt-ins"},{"title":"How Do I Clone an Existing Campaign?","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/how-do-i-clone-an-existing-campaign"},{"title":"Implement Fonts Across Your Creatives","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/implement-fonts-across-your-creatives"},{"title":"Creative Customizations","href":"/guides/programs-and-campaigns/campaign-creation-and-editing/creative-customizations"}]},{"group":"Asset Guides","pages":[{"title":"Social Media Share Creative Elements","href":"/guides/programs-and-campaigns/asset-guides/social-media-share-creative-elements"},{"title":"Creative Image Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/creative-image-asset-guide"},{"title":"Drop a Hint Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/drop-a-hint-asset-guide"},{"title":"Nomination Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/nomination-asset-guide"},{"title":"Sweepstakes Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/sweepstakes-asset-guide"},{"title":"Welcome Offer Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/welcome-offer-asset-guide"},{"title":"Friends \u0026 Family Asset Guide","href":"/guides/programs-and-campaigns/asset-guides/friends-family-asset-guide"},{"title":"Advocate Invite Email","href":"/guides/programs-and-campaigns/asset-guides/advocate-invite-email-asset-guide"},{"title":"Advocate Stats Email","href":"/guides/programs-and-campaigns/asset-guides/advocate-stats-email-asset-guide"},{"title":"Earned Reward Emails","href":"/guides/programs-and-campaigns/asset-guides/earned-reward-emails-asset-guide"},{"title":"Friend Landing Experience","href":"/guides/programs-and-campaigns/asset-guides/friend-landing-experience-asset-guide"},{"title":"Pending Reward Email","href":"/guides/programs-and-campaigns/asset-guides/pending-reward-email-asset-guide"},{"title":"Share Email \u0026 Reminder","href":"/guides/programs-and-campaigns/asset-guides/share-email-reminder-asset-guide"},{"title":"Share Experience","href":"/guides/programs-and-campaigns/asset-guides/share-experience-asset-guide"},{"title":"Welcome Email","href":"/guides/programs-and-campaigns/asset-guides/welcome-email-asset-guide"}]},{"group":"International Programs","pages":[{"title":"Adding Languages to International Programs","href":"/guides/programs-and-campaigns/international-programs/adding-languages-to-international-programs"},{"title":"International Programs","href":"/guides/programs-and-campaigns/international-programs/international-programs"},{"title":"Configuring an International Program","href":"/guides/programs-and-campaigns/international-programs/configuring-an-international-program"}]},{"group":"Other Acquisition and Engagement Programs","pages":[{"title":"Sweepstakes Program","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/sweepstakes-program"},{"title":"Launch a Credit Union Welcome Offer","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/launch-a-credit-union-welcome-offer"},{"title":"Launch an MDU Referral Program","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/launch-an-mdu-referral-program"},{"title":"Agent Programs","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/agent-programs"},{"title":"Run Targeted Super Advocate Programs","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/run-targeted-super-advocate-programs"},{"title":"How to Approve Pending Ambassadors","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/how-to-approve-pending-ambassadors"},{"title":"Campaigns for Selected Audiences","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/campaigns-for-selected-audiences"},{"title":"Welcome Offer Program","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/welcome-offer-program"},{"title":"Launch a Sweepstakes / Giveaway","href":"/guides/programs-and-campaigns/other-acquisition-and-engagement-programs/launch-a-sweepstakes-giveaway"}]},{"group":"Managing Campaigns","pages":[{"title":"Pausing, Ending, and Scheduling Campaigns","href":"/guides/programs-and-campaigns/managing-campaigns/pausing-ending-and-scheduling-campaigns"},{"title":"What Happens When a Campaign Is Paused","href":"/guides/programs-and-campaigns/managing-campaigns/what-happens-when-a-campaign-is-paused"},{"title":"How to Run A Burst","href":"/guides/programs-and-campaigns/managing-campaigns/how-to-run-a-burst"},{"title":"Share Link and Promote Link Behavior","href":"/guides/programs-and-campaigns/managing-campaigns/share-link-and-promote-link-behavior"},{"title":"How to Push Your Test Campaign Live","href":"/guides/programs-and-campaigns/managing-campaigns/how-to-push-your-test-campaign-live"},{"title":"How to QA Your Referral Program","href":"/guides/programs-and-campaigns/managing-campaigns/how-to-qa-your-referral-program"},{"title":"Making Updates to your Campaigns","href":"/guides/programs-and-campaigns/managing-campaigns/making-updates-to-your-campaigns"},{"title":"Compare a Component Across Campaign Versions","href":"/guides/programs-and-campaigns/managing-campaigns/compare-a-component-across-campaign-versions"},{"title":"How to Rebrand Your Program","href":"/guides/programs-and-campaigns/managing-campaigns/how-to-rebrand-your-program"}]},{"title":"Add an Advocate Stats Dashboard","href":"/guides/programs-and-campaigns/add-an-advocate-stats-dashboard"},{"title":"Adding and Removing Share Channels","href":"/guides/programs-and-campaigns/adding-and-removing-share-channels"},{"title":"Advocate Share Experience","href":"/guides/programs-and-campaigns/advocate-share-experience"},{"title":"Call-to-Action Creative Elements","href":"/guides/programs-and-campaigns/call-to-action-creative-elements"},{"title":"Choosing Your Advocate Sharing Experience","href":"/guides/programs-and-campaigns/choosing-your-advocate-sharing-experience"},{"title":"Common HTML Tags for Basic Campaign Editing","href":"/guides/programs-and-campaigns/common-html-tags-for-basic-campaign-editing"},{"title":"Editing the Advocate Microsite and Share Experience","href":"/guides/programs-and-campaigns/editing-the-advocate-microsite-and-share-experience"},{"title":"Go Extole App Login Guide","href":"/guides/programs-and-campaigns/go-extole-app-login-guide"},{"title":"How to Set Up a Loyalty Program","href":"/guides/programs-and-campaigns/how-to-set-up-a-loyalty-program"},{"title":"How to Set Up a Reward for Action Offer Program","href":"/guides/programs-and-campaigns/how-to-set-up-a-reward-for-action-offer-program"},{"title":"How to Upload Terms \u0026 Conditions","href":"/guides/programs-and-campaigns/how-to-upload-terms-conditions"},{"title":"My Account Settings","href":"/guides/programs-and-campaigns/my-account-settings"},{"title":"Overlay Creative Elements","href":"/guides/programs-and-campaigns/overlay-creative-elements"},{"title":"Overlay CTAs and How to Optimize Them for Sharing","href":"/guides/programs-and-campaigns/overlay-ctas-and-how-to-optimize-them-for-sharing"},{"title":"Reward Bank Redemption Experience","href":"/guides/programs-and-campaigns/reward-bank-redemption-experience"},{"title":"Tango Reward Email","href":"/guides/programs-and-campaigns/tango-reward-email"}]},{"group":"Dashboards and Reporting","root":{"title":"Dashboards and Reporting","href":"/guides/dashboards-and-reporting/index"},"pages":[{"group":"Extole Dashboards \u0026 Metrics","root":{"title":"Extole Dashboards \u0026 Metrics","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/index"},"pages":[{"title":"How to Measure and Benchmark Your Referral Program Success","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/how-to-measure-and-benchmark-your-referral-program-success"},{"title":"The Influencer Program Page","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/the-influencer-program-page"},{"title":"How Do I Prevent Testing Data from Appearing in my Analytics Dashboard?","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/how-do-i-prevent-testing-data-from-appearing-in-my-analytics-dashboard"},{"title":"Downloadable Reports on Program and Campaign Dashboards","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/downloadable-reports-on-program-and-campaign-dashboards"},{"title":"Using My Timeline Dates","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/using-my-timeline-dates"},{"title":"Account Dashboard","href":"/guides/dashboards-and-reporting/extole-dashboards-and-metrics/account-dashboard"}]},{"group":"Integrating Reports","pages":[{"title":"SFTP and Batch File Conventions","href":"/guides/dashboards-and-reporting/integrating-reports/sftp-and-batch-file-conventions"},{"title":"Using Extole's SFTP Server","href":"/guides/dashboards-and-reporting/integrating-reports/using-extole-s-sftp-server"},{"title":"Integrating Extole with Web Analytics","href":"/guides/dashboards-and-reporting/integrating-reports/integrating-extole-with-web-analytics"},{"title":"Sending Reports to an External SFTP","href":"/guides/dashboards-and-reporting/integrating-reports/sending-reports-to-an-external-sftp"},{"title":"How to Use the Extole Asynchronous Reporting API","href":"/guides/dashboards-and-reporting/integrating-reports/how-to-use-the-extole-asynchronous-reporting-api"}]},{"group":"Configuring Reports","pages":[{"title":"Choosing the Right Report","href":"/guides/dashboards-and-reporting/configuring-reports/choosing-the-right-report"},{"title":"Advanced Report Configuration","href":"/guides/dashboards-and-reporting/configuring-reports/advanced-report-configuration"},{"title":"Scheduled Reports","href":"/guides/dashboards-and-reporting/configuring-reports/scheduled-reports"},{"title":"Aggregated Reports","href":"/guides/dashboards-and-reporting/configuring-reports/aggregated-reports"},{"title":"Understanding How Extole Counts People","href":"/guides/dashboards-and-reporting/configuring-reports/understanding-how-extole-counts-people"},{"title":"Configurable Report Types and Their Entities","href":"/guides/dashboards-and-reporting/configuring-reports/configurable-report-types-and-their-entities"},{"title":"Custom Data Queries using Extole Reports","href":"/guides/dashboards-and-reporting/configuring-reports/custom-data-queries-using-extole-reports"},{"title":"Entities and Context Available in Extole's Configurable Reporting System","href":"/guides/dashboards-and-reporting/configuring-reports/entities-and-context-available-in-extole-s-configurable-reporting-system"}]},{"group":"Report Types","root":{"title":"Report Types","href":"/guides/dashboards-and-reporting/report-types/index"},"pages":[{"group":"Recommended Reports","pages":[{"title":"Participation Rate Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/participation-rate-report"},{"title":"Events Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/events-report"},{"title":"Metrics Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/metrics-report"},{"title":"Successful Advocates Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/successful-advocates-report"},{"title":"Top Promotion Sources Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/top-promotion-sources-report"},{"title":"Email Stats Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/email-stats-report"},{"title":"Acquisition Rate Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/acquisition-rate-report"},{"title":"Rewards Reporting","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/rewards-reporting"},{"title":"Fulfilled Rewards Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/fulfilled-rewards-report"},{"title":"Person Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/person-report"},{"title":"People Who Took a Specific Action Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/people-who-took-a-specific-action-report"},{"title":"Referral Funnel Performance Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/referral-funnel-performance-report"},{"title":"Visited Events Report","href":"/guides/dashboards-and-reporting/report-types/recommended-reports/visited-events-report"}]},{"group":"Audience Reports","root":{"title":"Audience Reports","href":"/guides/dashboards-and-reporting/report-types/audience-reports/index"},"pages":[{"title":"Unique Share Messages Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/unique-share-messages-report"},{"title":"Referred Friends Who Advocate Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/referred-friends-who-advocate-report"},{"title":"Inactive Advocates Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/inactive-advocates-report"},{"title":"Advocate Opt-in Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/advocate-opt-in-report"},{"title":"Active Advocates Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/active-advocates-report"},{"title":"Influencer Stats Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/influencer-stats-report"},{"title":"Count of Successful Advocates Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/count-of-successful-advocates-report"},{"title":"Reports Based on Locale and Country","href":"/guides/dashboards-and-reporting/report-types/audience-reports/reports-based-on-locale-and-country"},{"title":"Count of Active Advocates Report","href":"/guides/dashboards-and-reporting/report-types/audience-reports/count-of-active-advocates-report"}]},{"group":"Rewards Reports","pages":[{"title":"Nominations Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/nominations-report"},{"title":"Reward Transitions Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/reward-transitions-report"},{"title":"Failed Rewards Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/failed-rewards-report"},{"title":"Earned Rewards Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/earned-rewards-report"},{"title":"Friend Conversion Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/friend-conversion-report"},{"title":"Revenue Contribution Report","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/revenue-contribution-report"},{"title":"Reward Bank Reports","href":"/guides/dashboards-and-reporting/report-types/rewards-reports/reward-bank-reports"}]}]},{"title":"How to Run a Report","href":"/guides/dashboards-and-reporting/how-to-run-a-report"},{"title":"CSV Encoding","href":"/guides/dashboards-and-reporting/csv-encoding"},{"title":"New Customer Contribution Rate Report","href":"/guides/dashboards-and-reporting/new-customer-contribution-rate-report"},{"title":"Paused Reports","href":"/guides/dashboards-and-reporting/paused-reports"},{"title":"Person vs. Related Person Columns in Reports","href":"/guides/dashboards-and-reporting/person-vs-related-person-columns-in-reports"},{"title":"Recommended Reports","href":"/guides/dashboards-and-reporting/recommended-reports"},{"title":"Understand Extole Journeys and How to Use Them in Reports","href":"/guides/dashboards-and-reporting/understanding-extole-journeys-extended-reference-for-reporting"},{"title":"Understanding the “Direct” Promotion Source","href":"/guides/dashboards-and-reporting/understanding-the-direct-promotion-source"},{"title":"Visit Type and Quality","href":"/guides/dashboards-and-reporting/visit-type-and-quality"}]},{"group":"Audiences \u0026 Segmentation","pages":[{"group":"Audience Management","pages":[{"title":"Existing Customer List Management","href":"/guides/audiences-and-segmentation/audience-management/existing-customer-list-management"},{"title":"Eligibility Files","href":"/guides/audiences-and-segmentation/audience-management/eligibility-files"}]},{"group":"My Audiences","pages":[{"title":"How to Send a Promotional Email to an Audience","href":"/guides/audiences-and-segmentation/my-audiences/how-to-send-a-promotional-email-to-an-audience"},{"title":"Interpreting the Network Graph","href":"/guides/audiences-and-segmentation/my-audiences/interpreting-the-network-graph"},{"title":"Upload and Email an Audience","href":"/guides/audiences-and-segmentation/my-audiences/upload-and-email-an-audience"}]},{"group":"Segmentation","pages":[{"title":"Turning Friends Into Advocates","href":"/guides/audiences-and-segmentation/segmentation/turning-friends-into-advocates"},{"title":"Using Refer-a-Friend Data Beyond Refer-a-Friend","href":"/guides/audiences-and-segmentation/segmentation/using-refer-a-friend-data-beyond-refer-a-friend"},{"title":"Advocacy Customer Segments","href":"/guides/audiences-and-segmentation/segmentation/advocacy-customer-segments"},{"title":"Dive into People - Find Your Super Advocates and Discover Who's New","href":"/guides/audiences-and-segmentation/segmentation/dive-into-people-find-your-super-advocates-and-discover-who-s-new"},{"title":"Converting Advocates to Influencers","href":"/guides/audiences-and-segmentation/segmentation/converting-advocates-to-influencers"}]},{"title":"Advocate Tiers","href":"/guides/audiences-and-segmentation/advocate-tiers"}]},{"group":"Rewards Management","pages":[{"group":"Rules Configuration","pages":[{"title":"Configuring the Rules of Your Program","href":"/guides/rewards-management/rules-configuration/configuring-the-rules-of-your-program"},{"title":"Fraud and Anti-gaming Protection","href":"/guides/rewards-management/rules-configuration/fraud-and-anti-gaming-protection"},{"title":"Preventing Fraud and Best Practices for Campaign Rules","href":"/guides/rewards-management/rules-configuration/preventing-fraud-and-best-practices-for-campaign-rules"},{"title":"New Customer Rule","href":"/guides/rewards-management/rules-configuration/new-customer-rule"}]},{"group":"Reward Fulfillment","pages":[{"title":"WISMR 101: Understanding Missing Reward Requests","href":"/guides/rewards-management/reward-fulfillment/wismr-101-understanding-customer-reward-inquiries"},{"title":"Investigating Missing Rewards and Attribution","href":"/guides/rewards-management/reward-fulfillment/how-to-investigate-a-wismr-request"},{"title":"How to Resend a Reward","href":"/guides/rewards-management/reward-fulfillment/how-to-resend-a-reward"},{"title":"How to Change a Person's Email","href":"/guides/rewards-management/reward-fulfillment/how-to-change-a-persons-email"},{"title":"How to Resend Tango Rewards","href":"/guides/rewards-management/reward-fulfillment/how-to-resend-tango-rewards"},{"title":"Look Up and Understand Your Program Event Statuses","href":"/guides/rewards-management/reward-fulfillment/look-up-and-understand-your-program-event-statuses"},{"title":"Approving and Declining Events Workflow","href":"/guides/rewards-management/reward-fulfillment/approving-and-declining-events-workflow"},{"title":"How to Manually Create a Referral or other Event","href":"/guides/rewards-management/reward-fulfillment/how-to-manually-create-a-referral-or-other-event"},{"title":"How to Block Users and Decline Shares","href":"/guides/rewards-management/reward-fulfillment/how-to-block-users-and-decline-shares"},{"title":"Troubleshooting a Friend's Referral Discount Not Applying","description":"How to investigate and resolve the common support case where a referred friend's refer-a-friend discount is not applied automatically at checkout.","href":"/guides/rewards-management/reward-fulfillment/troubleshooting-friend-referral-discount-not-applying"},{"title":"Managing Member Points","href":"/guides/rewards-management/reward-fulfillment/managing-member-points"}]},{"group":"Setting up your Rewards","pages":[{"title":"How to Reward with Tango Gift Cards","description":"If your company provides a product or services where it doesn't make sense to reward your consumers with a coupon or other discount on the service you provide, you may want to thank them for sharing by giving them a gift card that can be us…","href":"/guides/rewards-management/setting-up-your-rewards/how-to-reward-with-tango-gift-cards"},{"title":"How to Reward with Salesforce Commerce Cloud","href":"/guides/rewards-management/setting-up-your-rewards/how-to-reward-with-salesforce-commerce-cloud"},{"title":"How to Reward with Account Credits","href":"/guides/rewards-management/setting-up-your-rewards/how-to-reward-with-account-credits"},{"title":"How to Reward with Coupons","href":"/guides/rewards-management/setting-up-your-rewards/how-to-reward-with-coupons"},{"title":"Offer Advocates Multiple Gift Card Options","href":"/guides/rewards-management/setting-up-your-rewards/offer-advocates-multiple-gift-card-options"},{"title":"Auto-Applying Multi-Use Coupons","href":"/guides/rewards-management/setting-up-your-rewards/auto-applying-multi-use-coupons"},{"title":"General Information About Tango Gift Cards","href":"/guides/rewards-management/setting-up-your-rewards/general-information-about-tango-gift-cards"},{"title":"Using Reward and Share Link Passes with a Mobile Wallet","href":"/guides/rewards-management/setting-up-your-rewards/using-reward-passes-with-a-mobile-wallet"},{"title":"How to Configure Reward Expiration","href":"/guides/rewards-management/setting-up-your-rewards/how-to-configure-reward-expiration"},{"title":"Rewards Overview and FAQ","href":"/guides/rewards-management/setting-up-your-rewards/rewards-overview-and-faq"}]},{"title":"Sending Rewards with Tremendous","href":"/guides/rewards-management/sending-rewards-with-tremendous"},{"title":"Set Up Account Credits for Financial Institutions","href":"/guides/rewards-management/set-up-account-credits-for-financial-institutions"}]},{"group":"Strategy \u0026 Best Practices","pages":[{"group":"Tactics \u0026 Strategy","pages":[{"title":"Capturing In-Person Referrals","href":"/guides/strategy-and-best-practices/tactics-and-strategy/capturing-in-person-referrals"},{"title":"How to Market Your Program","href":"/guides/strategy-and-best-practices/tactics-and-strategy/how-to-market-your-program"},{"title":"Top-Performing CTA: Implement the Overlay Call-to-Action Across Your Site","href":"/guides/strategy-and-best-practices/tactics-and-strategy/top-performing-cta-implement-the-overlay-call-to-action-across-your-site"},{"title":"Taking Referrals from Site-to-Store","href":"/guides/strategy-and-best-practices/tactics-and-strategy/taking-referrals-from-site-to-store"},{"title":"Increasing Activity","href":"/guides/strategy-and-best-practices/tactics-and-strategy/increasing-activity"},{"title":"Create A Compelling Offer Structure","href":"/guides/strategy-and-best-practices/tactics-and-strategy/create-a-compelling-offer-structure"}]},{"group":"Campaign Optimization","pages":[{"title":"A/B Testing Your Offer","href":"/guides/strategy-and-best-practices/campaign-optimization/a-b-testing-your-offer"},{"title":"A/B Testing Your Campaign","href":"/guides/strategy-and-best-practices/campaign-optimization/a-b-testing-your-campaign"},{"title":"How Do I Enable Content Sharing?","href":"/guides/strategy-and-best-practices/campaign-optimization/how-do-i-enable-content-sharing"},{"title":"Optimizing Share Channels","href":"/guides/strategy-and-best-practices/campaign-optimization/optimizing-share-channels"},{"title":"How Do I Prevent Ad Blockers from Blocking My Extole Experience","href":"/guides/strategy-and-best-practices/campaign-optimization/how-do-i-prevent-ad-blockers-from-blocking-my-extole-experience"},{"title":"Boost Share Rates with the Stats Drip","href":"/guides/strategy-and-best-practices/campaign-optimization/boost-share-rates-with-the-stats-drip"},{"title":"Enable and Test Friend Reminder Email","href":"/guides/strategy-and-best-practices/campaign-optimization/enable-and-test-friend-reminder-email"},{"title":"Mail After Purchase - Asking for a Referral When It Matters","href":"/guides/strategy-and-best-practices/campaign-optimization/mail-after-purchase-asking-for-a-referral-when-it-matters"},{"title":"Optimizing your Referral Program","href":"/guides/strategy-and-best-practices/campaign-optimization/optimizing-your-referral-program"},{"title":"Using Promotion Badges","href":"/guides/strategy-and-best-practices/campaign-optimization/using-promotion-badges"},{"title":"Why You Should Pop-up Your Advocate Share Experience","href":"/guides/strategy-and-best-practices/campaign-optimization/why-you-should-pop-up-your-advocate-share-experience"},{"title":"Invite Customers to Share Post-Purchase","href":"/guides/strategy-and-best-practices/campaign-optimization/invite-customers-to-share-post-purchase"},{"title":"What to Do About a High Acquisition Rate","href":"/guides/strategy-and-best-practices/campaign-optimization/what-to-do-about-a-high-acquisition-rate"},{"title":"Choosing Your Point-to-Reward Ratio","href":"/guides/strategy-and-best-practices/campaign-optimization/choosing-your-point-to-reward-ratio"},{"title":"Testing Your Loyalty Program","href":"/guides/strategy-and-best-practices/campaign-optimization/testing-your-loyalty-program"}]},{"title":"Create Your Own Customer Facing FAQ","href":"/guides/strategy-and-best-practices/create-your-own-customer-facing-faq"},{"title":"Trigger Advocacy with Seasonal and Burst Promotions","href":"/guides/strategy-and-best-practices/trigger-advocacy-with-seasonal-and-burst-promotions"}]},{"group":"Notifications \u0026 Troubleshooting","pages":[{"group":"Platform \u0026 Admin","pages":[{"title":"How do I view Extole System Status and subscribe to Extole Updates?","href":"/guides/notifications-and-troubleshooting/platform-and-admin/how-do-i-view-extole-system-status-and-subscribe-to-extole-updates"},{"title":"Why Is the From Address @email.referral-mail.com?","href":"/guides/notifications-and-troubleshooting/platform-and-admin/why-is-the-from-email-email-referral-mail-com-gmail-friendly-from-changes"},{"title":"How can I Whitelist My Extole in uBlock Origin?","href":"/guides/notifications-and-troubleshooting/platform-and-admin/how-can-i-whitelist-my-extole-in-ublock-origin"},{"title":"Extole Browser Support","href":"/guides/notifications-and-troubleshooting/platform-and-admin/extole-browser-support"},{"title":"Login Troubleshooting Tips","href":"/guides/notifications-and-troubleshooting/platform-and-admin/login-troubleshooting-tips"},{"title":"Subscribing to My Extole Notifications","href":"/guides/notifications-and-troubleshooting/platform-and-admin/subscribing-to-my-extole-notifications"},{"title":"What to do When you Get a Notification","href":"/guides/notifications-and-troubleshooting/platform-and-admin/what-to-do-when-you-get-a-notification"}]},{"group":"Troubleshooting","pages":[{"title":"Quick Troubleshooting Guide","href":"/guides/notifications-and-troubleshooting/troubleshooting/quick-troubleshooting-guide"}]},{"title":"Managing Your SSL Certificates","href":"/guides/notifications-and-troubleshooting/managing-your-ssl-certificates"}]},{"group":"Compliance \u0026 Policies","pages":[{"title":"ADA Compliance","href":"/guides/compliance-and-policies/ada-compliance"},{"title":"Data Processing Agreement","href":"/guides/compliance-and-policies/data-processing-agreement"},{"title":"Data Subject Rights","href":"/guides/compliance-and-policies/data-subject-rights"},{"title":"Extole Cookie Handling","href":"/guides/compliance-and-policies/extole-cookie-handling"}]},{"group":"User Management","pages":[{"group":"Managing Users","pages":[{"title":"Deleting Team Members","href":"/guides/user-management/managing-users/deleting-team-members"},{"title":"Okta Single Sign-On to My Extole","href":"/guides/user-management/managing-users/okta-single-sign-on-to-my-extole"},{"title":"Creating an Extole Account","href":"/guides/user-management/managing-users/creating-an-extole-account"},{"title":"Inviting Team Members","href":"/guides/user-management/managing-users/inviting-team-members"},{"title":"Managing Your Extole Users","href":"/guides/user-management/managing-users/managing-your-extole-users"},{"title":"User Roles \u0026 Permissions","href":"/guides/user-management/managing-users/user-roles-permissions"}]},{"title":"Access Multiple Instances","href":"/guides/user-management/access-multiple-instances"}]},{"group":"Flow Campaigns","root":{"title":"Flow Campaigns","href":"/guides/flow-campaigns/index"},"pages":[{"title":"How to Create a Reward That Triggers on Event Data","href":"/guides/flow-campaigns/how-to-create-a-reward-that-triggers-on-event-data"},{"title":"How to Set Up Bonus Rewards on a Specific Referral Count (2nd, 3rd, 5th, etc.)","href":"/guides/flow-campaigns/how-to-set-up-bonus-rewards-on-a-specific-referral-count-2nd-3rd-5th-etc"},{"title":"Change the Reward on your Program","href":"/guides/flow-campaigns/change-the-reward-on-your-program"},{"title":"Common Trigger Rules","href":"/guides/flow-campaigns/common-trigger-rules"},{"title":"How to Set Up Triggered By","href":"/guides/flow-campaigns/how-to-set-up-triggered-by"},{"title":"Configure Common Reward Scenarios for Credit Unions and Banks","href":"/guides/flow-campaigns/configure-common-reward-scenarios-for-credit-unions-and-banks"},{"title":"Default Business Event Quality Rules","href":"/guides/flow-campaigns/default-business-event-quality-rules"},{"title":"How to Add a Coupon Reward to Your Referral Program","href":"/guides/flow-campaigns/how-to-add-a-coupon-reward-to-your-referral-program"},{"title":"How to Add a New Business Event","href":"/guides/flow-campaigns/how-to-add-a-new-business-event"},{"title":"How to Add a New Reward","href":"/guides/flow-campaigns/how-to-add-a-new-reward"},{"title":"How to Add a Promotion Email or Onsite CTA","href":"/guides/flow-campaigns/how-to-add-a-promotion-email-or-onsite-cta"},{"title":"How to Approve Failed Rewards","href":"/guides/flow-campaigns/how-to-approve-failed-rewards"},{"title":"How to Issue a Manual Reward","href":"/guides/flow-campaigns/how-to-issue-a-manual-reward"},{"title":"How to Set Up a Reward","href":"/guides/flow-campaigns/how-to-set-up-a-reward"},{"title":"How to Set Up a Tango Gift Card Reward","href":"/guides/flow-campaigns/how-to-set-up-a-tango-gift-card-reward"},{"title":"How to Set Up Business Event Rules","href":"/guides/flow-campaigns/how-to-set-up-business-event-rules"},{"title":"How to Set Up Reward Rules","href":"/guides/flow-campaigns/how-to-set-up-reward-rules"},{"title":"How to Target a Program","href":"/guides/flow-campaigns/how-to-target-a-program"}]}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/getting-started/api-overview"}]},{"tab":"News","pages":[{"title":"News","href":"/news/recent-releases"}]}]},"basePath":"","title":"Managing Member Points - Extole Documentation","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":[],"chunks":[]}