| Optional offer fields (badges, descriptions, promotional banners) only appear if they are explicitly included in your PAPI (personalization API) response. The personalization callback is the master override — if a field is absent, it is hidden. |
How personalization controls what is shown
When personalization is enabled, the PAPI response is the authoritative source for what the store displays. It overrides dashboard settings. Fields not explicitly included in your callback response are treated as absent and will not be rendered — even if they are configured in the dashboard.
Mandatory vs optional fields
- Mandatory fields (marked with * in the dashboard, e.g. Offer Design, Price, Name): the system uses a default/fallback if missing from the personalization payload
- Optional fields (no asterisk, e.g. Badges, Description, Promotional Banners): silently hidden if missing from the personalization payload — this is not a bug
Common cause: new fields added to dashboard but not to personalization endpoint
If you recently added badges or promotional banners to an offer in the dashboard but your PAPI endpoint has not yet been updated to return those fields, they will not appear in the store. Update your backend to include the new optional fields in the PlayerInfoSync response.
When does the store refresh?
- At player login
- Immediately after a successful purchase
- Every 5 minutes automatically
- Via a manual sync API call (for instant updates)