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.



Single Offer Unit
Single Offer Unit


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.
Multi Offer Unit
Multi Offer Unit



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 and try out the API request.

Moments API Response Example


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: Useoffers[].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.
Single Offer Unit
Single Offer Unit

Multi Offer Unit
Multi Offer Unit


F. offers[].beacons.close

  • This parameter provides a URL that is triggered via a GETrequest 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.

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@momentscience.com

Updated 15 Jan 2025
Did this page help you?