Geo & Device Targeting in CAKE

This article will cover the following:


What Is Geo & Device Targeting?

Targeting lets you define which audiences are eligible to convert on an offer. CAKE checks each click against your targeting rules — country, region, device type, operating system, and browser — and routes traffic accordingly. Non-matching clicks can be redirected to a fallback offer rather than dropped entirely.

Note:
Targeting rules are set at the offer level. Affiliates promoting that offer automatically inherit the restrictions.

Country and Region Targeting

  1. Open the offer and go to the Targeting section.
  2. Under Geo Targeting, choose whether to allow specific countries (whitelist) or block them (blacklist). Most advertisers use a whitelist.
  3. Begin typing a country name in the search field and select it from the dropdown. Add as many as needed.
  4. For regional targeting, a secondary field appears after selecting a country — use it to narrow down to states or provinces.
  5. Save your changes. Targeting rules take effect immediately for new clicks.
Caution:
Removing a country from a live offer takes effect instantly. Affiliates sending traffic from that country will be redirected to your fallback offer — notify them before making changes.

CAKE uses IP address to determine location. This is accurate for the vast majority of traffic, but VPNs, proxy services, and some mobile carrier routing can occasionally misidentify a visitor's location.


Device Targeting

  1. In the Targeting section, find Device Targeting.
  2. Select the device types you want to allow: Desktop, Mobile, and/or Tablet. No selection = all device types allowed.
  3. Save the offer. Device type is detected from the visitor's user agent on each click.
Note:
Tablets are categorized separately from mobile phones. If your offer should accept both smartphones and tablets, make sure both are selected.

OS and Browser Targeting

Operating System Targeting

  1. In the Targeting section, find OS Targeting.
  2. Select the operating systems you want to allow — iOS, Android, Windows, macOS, Linux.
  3. Optionally specify minimum OS versions if your platform supports it.
  4. Save the offer.

Browser Targeting

  1. In the Targeting section, find Browser Targeting.
  2. Select browsers to allow — Chrome, Safari, Firefox, Edge.
  3. Save the offer.
Note:
In-app browsers (such as those that open inside Instagram or TikTok) often identify themselves differently from standalone browsers. If mobile traffic isn't converting, in-app browser detection differences are worth investigating.

Fallback Offers for Non-Matching Traffic

A fallback offer is where CAKE sends visitors who click a tracking link but don't match targeting rules. Without a fallback, non-matching clicks are dropped — the visitor sees an error and the affiliate loses that traffic.

  1. In the offer's Targeting section, scroll to Fallback Offer (sometimes labeled Redirect Offer or Default Offer).
  2. Search for and select an offer with broad or no targeting restrictions to serve as the fallback.
  3. Alternatively, paste a plain fallback URL if your platform supports it.
  4. Save the offer.
Caution:
If you don't set a fallback and all primary offers become unavailable, clicks will result in an error page for end users. Always configure a fallback.

API: Geo & Device Targeting Endpoints

Get Offer Geo Targets

GET /api/2/offer_geo_targets.json
ParameterTypeRequiredDescription
offer_idintegerYesThe unique ID of the offer whose geo targets you want to retrieve.

Sample request

GET https://yourplatform.cake.com/api/2/offer_geo_targets.json ?api_key=YOUR_API_KEY &offer_id=12345

Sample response

{ "request_status": "Success", "offer_id": 12345, "geo_targets": [ {"country_code": "US", "action": "allow"}, {"country_code": "CA", "action": "allow"} ] }

Update Offer Geo Targets

POST /api/2/update_offer_geo_targets.json
ParameterTypeRequiredDescription
offer_idintegerYesThe unique ID of the offer to update.
countriesstringYesComma-separated ISO 3166-1 alpha-2 country codes (e.g., US,CA,GB).
actionstringYesEither allow or block.

Sample request

POST https://yourplatform.cake.com/api/2/update_offer_geo_targets.json { "api_key": "YOUR_API_KEY", "offer_id": 12345, "countries": "US,CA,GB", "action": "allow" }

Sample response

{ "request_status": "Success", "offer_id": 12345, "updated_countries": ["US", "CA", "GB"], "action": "allow" }

Get Device Types

GET /api/2/device_types.json
ParameterTypeRequiredDescription
device_type_idintegerNoFilter to a specific device type by its CAKE numeric ID.

Sample request

GET https://yourplatform.cake.com/api/2/device_types.json?api_key=YOUR_API_KEY

Sample response

{ "request_status": "Success", "device_types": [ {"device_type_id": 1, "device_type_name": "Desktop"}, {"device_type_id": 2, "device_type_name": "Smartphone"}, {"device_type_id": 3, "device_type_name": "Tablet"} ] }

If you have any questions, please reach out to your dedicated CAKE Client Success Manager/Account Manager or contact the CAKE Support Team at support@getCAKE.com.


Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.