Solutions
User Selected Perks
overview user selected perks (usp) allows users to select relevant offers at critical engagement points, such as checkout, registration, or event participation, before completing a key action instead of redirecting users off site, usp captures their selections during the active session and defers offer delivery until after the desired action is completed this workflow increases conversion by maintaining user focus and building anticipation for post action rewards publishers can deliver selected offers via email, sms, or other channels, triggered by custom events usp integrates with existing momentperks implementations through the javascript sdk or momentperks api, supporting flexible delivery and seamless user experiences key benefits empowers users to select offers most relevant to their interests drives engagement during critical conversion moments enables follow up communication workflows based on actual user selections prerequisites before using usp, ensure the following usp must be enabled for your account contact your momentscience account manager to activate it you must have an existing momentperks integration using either the javascript sdk or the moments api how it works display available offers users see a multi offer unit (mou) with available offers, each with a checkbox user selects offers users choose one or more offers that interest them offers can be pre selected by default, depending on your configuration user completes a key action when users finish a publisher defined action, such as checkout, registration, or content engagement, your site triggers a confirmation event this event is fully customizable to your workflow webhook is triggered the momentscience sdk detects the event and sends a webhook to your configured endpoint the webhook contains data about the offers the user selected deliver personalized offers use the received data to send offers via email, sms, or in app messages, or to initiate other follow up workflows example use cases use case description e commerce checkout users select perks before completing checkout, then receive offers via email alongside order receipt after purchase event engagement attendees select perks via interactive kiosks or ooh screens, receiving offers via sms after completing specified event actions (e g , booth visit, session attendance) exit intent retention users select offers before leaving your site and receive them after completing a specific action (e g , account creation, email subscription) account onboarding new users select perks during signup and receive selected offers after completing profile setup or verification app engagement mobile users select perks in app and receive them after completing key app actions (e g , completing first order, reaching usage milestone) integration methods usp can be layered on top of your existing momentperks integration, whether using the javascript sdk or the moments api option a javascript sdk the javascript sdk provides the simplest integration path for usp functionality important considerations usp currently supports multi offer unit (mou) only single offer unit (sou) is not supported option b usp apis use the usp rest api for advanced customization and control this option is recommended for developers needing custom front end or delivery logic configuring usp at the theme level usp is configured per theme, allowing you to enable or disable the feature for different implementations you can have multiple themes with different usp configurations setting up the usp webhook to start receiving usp webhook payloads, follow these steps in the momentscience dashboard in the momentscience dashboard , navigate to settings > configurations scroll to the postbacks and webhooks section click manage to open the webhook configuration page switch to the webhooks for user selected perks tab choose the http method (post or get) enter the webhook url click save to confirm to test the integration, click test endpoint this sends a dummy payload to verify the endpointβs readiness enabling usp in the dashboard navigate to the mo mentscience dashboard go to the moments integration page select the theme to configure open the theme settings tab enable the user selected perks toggle once enabled, a secondary toggle, check all offers for usp (default false) appears when enabled, all offers will be pre selected by default when disabled, no offers are pre selected, and users must manually choose once you have made your changes, click on "save" button to apply changes to the seelected theme configuring usp per webhook the user selected perks (usp) webhook sends offer selection data and user metadata to the publisherβs endpoint after action completion this enables you to store, analyze, or act on offer selections without interrupting the user experience { "body" { "campaigns" \[ { "campaign id" 12345, "advertiser name" "example store", "title" "20% off athletic wear", "short headline" "save on sports gear", "short description" "get 20% off all athletic wear", "offer description" "valid on all athletic wear including shoes, clothing, and accessories minimum purchase $50 ", "terms and conditions" "offer expires 30 days from claim date cannot be combined with other offers ", "click url" "https //example com/claim?token=abc123", "cta yes" "claim offer", "cta no" "no thanks", "mini text" "limited time offer", "image" "https //cdn example com/campaign image jpg", "is loyaltyboost" false, "tags" \["retail", "clothing"], "creatives" \[ { "id" 456, "url" "https //cdn example com/creative 456 jpg", "type" "image", "creative type" "banner", "aspect ratio" 1 5, "height" 300, "width" 450, "is primary" true } ] } ], "pub user id" "user 12345", "selected" 1, "session id" "sess abc123def456" } } usp webhook payload structure field type description pub user id string unique user id provided by the publisher (non pii) selected number indicates whether the user selected offers (1 = selected, 0 = none) session id string unique session identifier from the sdk campaigns\[] array list of selected campaigns each object contains campaigns\[] fields field type description campaign id number internal campaign id advertiser name string advertiser name title / short headline / short description string display metadata offer description string full description of the offer terms and conditions string terms of the selected offer click url string offer destination url (may include tracking) cta yes / cta no string call to action text for user selection mini text string additional user facing notes (e g , disclaimers) image string default image url for the offer pixel / adv pixel url string optional tracking pixels save for later url string url to return to the offer later description string alternate or extended description is loyaltyboost boolean indicates if the offer is part of loyaltyboost loyaltyboost requirements object requirements metadata for loyaltyboost (if any) offerwall enabled boolean whether this campaign supports offerwall perkswallet enabled boolean whether this campaign supports perkswallet tags array optional categorization tags beacons field type description beacons close string tracking beacon for offer closure beacons no thanks click string beacon triggered when user opts out creatives\[] field type description id number creative asset id url string url to the asset type / creative type string media type and creative classification aspect ratio number aspect ratio of the asset height / width number dimensions in pixels user id number id of the user associated with upload is primary boolean whether this is the primary asset campaign (nested object) field type description is product boolean indicates if the offer is a product type campaign offer description string description specific to the campaign wrapper campaign images\[] array list of additional or alternate campaign images campaign images\[] follows same structure as creatives\[] useraction cta / useraction url field type description useraction cta string / null optional cta label for external user actions useraction url string / null optional url for cta