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

IssuePossible Cause & Resolution
400 Bad RequestCheck all required fields, including description and alternativeDescription. These can be null but must be present.
Invalid redemption partnerConfirm each unitId is correct and belongs to a valid redemption partner under your company’s clientId. Use GET /units/unitId to verify.