Skip to main content

Store integration

A row of popular merchant icons with their current discounts — one of the highest-performing placements, because customers recognise the brands.

Available Android · Available iOS

The two steps

Step 1 — Fetch and display

Call the store method on each launch, and display the stores with their names and discount details. The discount is what makes the row work — an icon grid without "Up to 15% off" underneath is just a logo wall.

CHEGNetworkCallHelper.Companion.getTopStoreDetails(
virtualId,
placementId, // e.g. "00"
"EN",
securityToken,
additionalParams,
object : CHEGTopOfferCallBack {
override fun onResponse(responseString: String?) {
// Parse and render the store row
}
}
)

Parameters are documented on Placements.

Step 2 — Handle the tap

When a store icon is tapped, open the Cheggout SDK and pass that store's href in the launch payload. The customer lands on the merchant's page inside the marketplace.

See Android launching and iOS launching.

Response fields

FieldTypeDescription
storeIdstringMerchant identifier
titlestringStore name — display this
logostringLogo image URL
discountPercentagestringCurrent discount — display this
categorystringStore category, for grouping or filtering
hrefstringDeep-linking and tracking information. Pass to the SDK on tap.
Synthetic
[
{
"storeId": "318",
"title": "Example Retailer",
"logo": "https://assets.example.com/store-318.png",
"discountPercentage": "15",
"category": "Fashion",
"href": "<click>https://click.cheggout.com/?type=store&id=318</click><track>https://tracking.cheggout.com/REPLACE</track><clicktrack>https://tracking.cheggout.com/REPLACE</clicktrack><browser>Custom</browser><id>REPLACE_ID</id>"
}
]

href is a pseudo-XML tagged string. The SDKs parse it; headless integrators extract the tag they need. See Tracking.

Tracking

The same contract as banners:

EventFire
A store icon becomes visibleThe impression, passing that store's href
The customer taps itThe click, via the SDK launch

For a horizontally scrolling row, fire impressions as icons scroll into view rather than all at once on load — otherwise you count impressions for stores nobody saw.

Design guidance

Always show the discount. discountPercentage is the reason a customer taps. A row of logos without it converts poorly.

A horizontal scroller works well — six to eight visible, the rest scrollable. Customers recognise brands faster than they read categories.

Handle a 0 discount by hiding the discount label rather than showing "0% off".

Use category for grouping if you have room for more than one row — "Fashion", "Food", "Travel" — but a single mixed row usually performs fine.

Handle an empty response by hiding the whole row, including its heading. A "Popular stores" heading over nothing looks broken.

Load images lazily and keep placeholders the same size as the final logo so the row does not jump.

Where to put it

The store row does well immediately below the primary content on a home screen — near enough to the top to be seen without scrolling, far enough down not to compete with your own primary actions.

Next