Campaign Create Recipe - Product Points Multiplier

📌 Purpose

Product-based points multiplier campaigns reward customers for purchasing specific items, helping you drive focus on high-margin, seasonal, or strategic products. This recipe shows how to create a campaign that multiplies loyalty points when qualifying products are purchased.

These campaigns are ideal for use as initial offers, specific products, or category-specific promotions.

For more campaign options, refer to the Campaigns Create API reference and Campaign Best Practices.

🖼 Recipe Overview

This recipe will show you the steps to create a campaign that offers 10x points on the purchase of selected products (e.g. apples) when a minimum spend is met, with the following setup:

  • Tagged as an initial offer
  • Limited to 1 use per customer
  • Minimum qualifying spend: £5.00
  • Product qualification: identified by UPC codes
  • Reward: 10x loyalty points on qualified purchases
  • Redeemable at one banner and all stores within it
  • Coupon expires 14 days after being issued

Once active, coupons can be issued at wallet creation or on demand via API.

📋 Prerequisites

  • Access to the Eagle Eye API platform
  • Your company unit’s clientId and secret
  • Active 3-level unit hierarchy (Company > Banner > Store)
  • unitId and incomingIdentifier for all redemption partners (banners)
  • Start and end dates for the campaign period
  • Product UPCs associated to the banner unit

📤 Outputs

After completing this recipe, capture the following output:

Output NamePurpose
campaignIdUsed to create accounts with wallets or retrieve campaign details

📒 Steps

Step 1: Define Your Campaign Setup

This step defines which products qualify for the offer, where it's valid, how many points are earned, and the campaign timeline.

  • 1.1 Campaign Name: Select a name for the campaign in the details container e.g. Initial Offer: 10x points on apples
  • 1.2 Campaign timing: Define the startDate and endDate
  • 1.3 Tag as an inital offer for new wallets created: Add initialOffers as a tag in details.tags
  • 1.4 Redemption Period: In rules.start and rules.expiry, set the coupon expiry dates expiry to 14 days after creation
  • 1.5 Redemption Locations: In partners.redemption, add the unitId for any banners where the coupon can be redeemed
  • 1.6 Select the appropriate type and offerType for Product Points Multiplier with a product qualification (additional types can be found on the Campaign Create Via API page:
    • type: PRODUCT_POINTS_MULTIPLIER
    • offerType: VARIABLE_POINTS_PRODUCTS
  • 1.7 Product Qualification:
    • Include eligible UPCs under included.items
    • Define minimumProductSpend (e.g. 500 for £5.00)
    • Set minimumUnits to 1
  • 1.8 Use the banners incomingIdentifier as the key for offer.qualification.locations
  • 1.9 Points Reward Amount:
    • Set the reward.points.standard.multiplierAmount as the reward the customer will receive
    • Set the reward.points.standard.schemeId to the loyalty scheme to reward the points against

Step 2: Call POST /campaigns

{
	"class": "COUPON",
	"version": 2,
	"status": "ACTIVE",
	"details": {
		"name": "Initial Offer: 10x points when you spend 5.00 on apples",
		"alternativeName": null,
		"description": null,
		"alternativeDescription": null,
		"printerMessage": null,
		"screenMessage": null,
		"tags": [
			"initialOffers"
		],
		"startDate": "2025-06-01T00:00:00+00:00",
		"endDate": "2025-12-31T23:59:59+00:00",
		"mode": "TARGETED"
	},
	"settings": {
		"tokenProvider": null,
		"tokenFormat": null,
		"walletEnabled": true,
		"accountClientType": "OFFER",
		"defaultAccountClientState": "UNLOADED"
	},
	"rules": {
		"creation": {
			"campaignLimit": null,
			"consumerLimit": 1,
			"consumerLimitActive": null
		},
		"verification": {
			"lock": false,
			"lockOnVerify": true
		},
		"redemption": {
			"campaignLimit": null,
			"allowAccountOverride": true
		},
		"start": {
			"type": "IMMEDIATELY",
			"valueType": null,
			"value": null,
			"date": null
		},
		"expiry": {
			"type": "AFTER_CREATION",
			"valueType": "DAY",
			"value": "14",
			"date": null
		}
	},
	"partners": {
		"redemption": [
			{
				"partner": "151926",
				"redemptionLimit": null
			}
		]
	},
	"windows": {
		"creation": [],
		"redemption": []
	},
	"type": "PRODUCT_POINTS_MULTIPLIER",
	"offer": {
		"offerType": "VARIABLE_POINTS_PRODUCTS",
		"qualification": {
			"product": {
				"banner1": {
					"logicalOperator": "OR",
					"collections": [
						{
							"products": {
								"allRequired": false,
								"included": {
									"items": [
										"245874",
										"245877"
									]
								}
							},
							"minimumProductSpend": 500,
							"minimumUnits": 1
						}
					]
				}
			},
			"locations": {
				"banner1": {
					"included": {
						"locationIdentifiers": null,
						"locationTags": null
					},
					"excluded": {
						"locationIdentifiers": null,
						"locationTags": null
					}
				}
			}
		},
		"reward": {
			"product": {
				"banner1": {
					"logicalOperator": "OR",
					"collections": [
						{
							"products": {
								"allRequired": false,
								"included": {
									"items": [
										"245874",
										"245877"
									]
								}
							},
							"points": {
								"standard": {
									"schemeId": "100128379",
									"multiplierValue": 10,
									"creditAmount": null
								}
							}
						}
					]
				}
			}
		}
	}
}
{
	"id": "101139403",
	"type": "PRODUCT_POINTS_MULTIPLIER",
	"status": "ACTIVE",
	"class": "COUPON",
	"details": {
		"name": "Initial Offer: 10x points when you spend 5.00 on apples",
		"alternativeName": null,
		"description": null,
		"alternativeDescription": null,
		"printerMessage": null,
		"screenMessage": null,
		"tags": [
			"initialOffers"
		],
		"startDate": "2025-06-01T00:00:00+00:00",
		"endDate": "2025-12-31T23:59:59+00:00",
		"mode": "TARGETED"
	},
	"settings": {
		"tokenProvider": "EES",
		"tokenFormat": "000000001",
		"walletEnabled": true,
		"issuanceMethod": null,
		"accountClientType": "OFFER",
		"defaultAccountClientState": "UNLOADED"
	},
	"partners": {
		"creation": [],
		"redemption": [
			{
				"partner": "151926",
				"redemptionLimit": null
			}
		]
	},
	"rules": {
		"creation": {
			"campaignLimit": null,
			"consumerLimit": 1,
			"consumerLimitActive": null,
			"windows": {
				"active": false
			}
		},
		"adjudication": {
			"excludedProducts": null
		},
		"verification": {
			"lock": false,
			"lockOnVerify": true
		},
		"redemption": {
			"maxRedemptionsPerPeriod": null,
			"campaignLimit": null,
			"couponLimit": null,
			"allowOverride": null,
			"allowAccountOverride": true,
			"maximumAccountUsage": null,
			"maximumDiscountableRelatedContents": null,
			"maximumAccountsPerTransaction": null,
			"windows": {
				"active": false
			},
			"dates": {
				"exclusion": {
					"active": false
				}
			},
			"timeBetweenRedemptions": null,
			"timeBetweenStamps": null,
			"allowMultipleRedeem": null,
			"isHiddenFromRelatedWallets": false,
			"redeemableOutsideOwningWalletWithIdentity": false,
			"redeemableOutsideOwningWalletWithoutIdentity": false
		},
		"refund": [],
		"locations": null,
		"expiry": {
			"type": "AFTER_CREATION",
			"valueType": "DAY",
			"value": "14",
			"date": null
		},
		"start": {
			"type": "IMMEDIATELY",
			"valueType": null,
			"value": null,
			"date": null
		},
		"graceAmount": null,
		"useLocalTime": null,
		"maxCreditsPerPeriod": null
	},
	"windows": {
		"creation": [],
		"redemption": []
	},
	"dates": {
		"redemption": {
			"redemption": [],
			"exclusion": []
		}
	},
	"relationships": null,
	"reference": "101139403",
	"offer": {
		"offerType": "VARIABLE_POINTS_PRODUCTS",
		"qualification": {
			"product": {
				"banner1": {
					"logicalOperator": "OR",
					"collections": [
						{
							"products": {
								"allRequired": false,
								"included": {
									"items": [
										"245874",
										"245877"
									]
								}
							},
							"minimumProductSpend": 500,
							"minimumUnits": 1
						}
					]
				}
			},
			"locations": {
				"banner1": {
					"included": {
						"locationIdentifiers": null,
						"locationTags": null
					},
					"excluded": {
						"locationIdentifiers": null,
						"locationTags": null
					}
				}
			},
			"tenders": null,
			"identityTypes": null
		},
		"reward": {
			"product": {
				"banner1": {
					"logicalOperator": "OR",
					"collections": [
						{
							"products": {
								"allRequired": false,
								"included": {
									"items": [
										"245874",
										"245877"
									]
								}
							},
							"points": {
								"standard": {
									"schemeId": "100128379",
									"multiplierValue": 10,
									"creditAmount": null
								}
							}
						}
					]
				}
			}
		},
		"promoId": null
	},
	"version": 2,
	"dateCreated": "2025-06-10T21:17:20+00:00",
	"lastUpdated": "2025-06-10T21:17:21+00:00"
}

✅ Business Readiness Checklist

Use these steps to validate the setup of your scheme:

  • Retrieve the campaign via GET /campaigns/campaignId to validate setup
  • Start and end dates are set as expected
  • Tag is correctly set to "initialOffers"
  • Coupon expiry is set to 14 days after creation
  • Spend qualification logic is correct (product spend)
  • Redemption banners are correctly listed by unitId and incomingIdentifier
  • Reward setup reflects the correct multiplierAmount
  • Create a coupon account to test and validate the coupon can be issued

🔧 Troubleshooting Tips

Issue

Possible Cause & Resolution

400 Bad Request

Check all required fields, including description and alternativeDescription. These can be null but must be present.

Invalid redemption partner

Confirm each unitId is correct and belongs to a valid redemption partner under your company’s clientId. Use GET /units/unitId to verify.