APIs Documentation
Moments API

Offer Anatomy

10min
overview when calling the moments api, you will receive a list of offers provisioned to your account this document will guide you through the structure of these offers, explaining the key components that make up an offer and how to construct and display them using the moments api response offer display units based on the moments api response, you have the flexibility to display offers in various formats, depending on your preference below are two examples commonly used in our moments js sdk single offer unit (sou) multi offer unit (mou) in this guide, we’ll walk through the anatomy of an offer and demonstrate how you can leverage the moments api response to build these display types the api response provides all the necessary details, giving you the flexibility to present offers in a way that best aligns with your platform’s needs these are just examples of display units you are not limited to implementing them in a specific way feel free to design the display format that works best for your use case single offer unit (sou) the single offer unit (sou) displays one offer at a time to the user users can engage with a single offer at a time, allowing them to focus on one option includes navigation functionality, enabling users to browse through other available offers individually, one at a time multi offer unit (mou) the multi offer unit (mou) enables the simultaneous display of multiple offers multiple offers are presented side by side, enabling users to view and explore different options at a glance this unit is ideal for presenting various offers at once api response the following example is a truncated example of the moments api response for a complete response and detailed information, please refer to the moments api documentation https //docs momentscience com/moments api#pdtc2 and try out the api request moments api response example { "data" { "offers" \[ { "id" 4008, "title" "you unlocked momentscience for 90 days free!", "description" "momentscience lets you capture revenue across your user’s moments delight your users with relevant offers at the right time get 3 months free!", &#x9; "click url" "https //track momentscience com/sdk/offer click?o id=4008\&c id=1284\&p id=1501\&sess id=03a7c834ffce7ff88ff45f980577ea42a03ec904\&fp=string", &#x9; "image" "https //adpx b cdn net/campaigns/1284/598d561b6afb86b76d3137545572a3a9 png", "mini text" "", "terms and conditions" "\<ul>\n \<li>must be 18 or older \</li>\n \<li>cancel anytime, subject to terms \</li>\n \<li>terms apply \</li>\n\</ul>", "pixel" "https //track momentscience com/sdk/v2/impression/p png?o id=4008\&c id=1284\&p id=1501\&sess id=03a7c834ffce7ff88ff45f980577ea42a03ec904\&fp=string\&cbuster=%7bcbuster%7d", "cta yes" "try out momentscience!", "cta no" "no, thanks", "useraction cta" "", "useraction url" "", "adv pixel url" "", "beacons" { &#x9; "close" "https //track momentscience com/event/record/close?oid=4008\&cid=1284\&pid=1501\&sess id=03a7c834ffce7ff88ff45f980577ea42a03ec904\&fp=string", &#x9; "no thanks click" "https //track momentscience com/event/record/no thanks click?oid=4008\&cid=1284\&pid=1501\&sess id=03a7c834ffce7ff88ff45f980577ea42a03ec904\&fp=string" }, "creatives" \[ { "id" 939, "url" "https //adpx b cdn net/campaigns/1284/598d561b6afb86b76d3137545572a3a9 png", "height" 1200, "width" 1200, "type" "png", "is primary" true, "aspect ratio" 1 } ], "short description" "capture revenue across your user’s moments get 3 months free!", "short headline" "3 free months of momentscience!", "advertiser name" "momentscience" }, { contents of other offer/s } &#x9; ], "settings" { "offerwall url" "https //get perkswall com/offerwall?accountid=fbe15a0c6f803ef4\&offer count=3\&auto show=1\&show logo=1\&show header=1\&show shadow=0\&show image=1\&font family=open+sans\&session id=1d979e855122b01d5eac8622e3a7937609abefdc", "offerwall cta" "more offers", }, "count" 3, "privacy url" "https //www momentscience com/end user privacy policy" } } display unit components this section outlines key api parameters for constructing a multi offer unit (mou) and single offer unit (sou) a offers\[] image use for the url of the offer's main creative b offers\[] title use for the offer’s title or headline note use offers\[] short headline for smaller formats if space is limited c offers\[] description use for the offer’s description note use offers\[] short description for smaller formats if space is limited d offers\[] click url use for the url that the positive cta should route the user to set the button's text using offers\[] cta yes e offers\[] beacons no thanks click use for firing a get request when the negative cta is clicked this is typically paired with offers\[] cta no , which contains the button label f offers\[] beacons close this parameter provides a url that is triggered via a get request when the close button is clicked it is primarily intended for single offer units (sou) to track and report user interactions, specifically indicating which offer the offer unit was closed on g settings offerwall url this parameter specifies the perkswall url to which users are redirected after clicking on the perkswall button the button text can be retrieved from settings offerwall cta refer to the perkswall documentation for detailed instructions on implementing and configuring perkswall h offers\[] terms and conditions this parameter contains the offer's terms and conditions in html format, typically as an unordered list ( \<ul> ) render it as html to maintain formatting some offers may not include this field if empty, assume no specific terms apply offer display tracking pixel the offer display tracking pixel is critical in tracking when an offer is shown to the user, providing essential data for performance monitoring and analytics it is triggered every time the associated creative is rendered on the user’s screen parameter location data offers\[] pixel type url usage guidelines the pixel url should be fired as soon as the creative is visible to the user, representing that the offer was shown ensure the pixel fires only once per impression to avoid duplicate data send an http get request to the url in data offers\[] pixel this pixel helps ensure accurate measurement of offer impressions, which is vital for understanding user engagement, optimizing campaigns, and analyzing the effectiveness of the displayed offers 📢 if you're running into any issues while going through the integration process, feel free to contact us at help\@m omentscience com