As of October 31, 2025, a new UK Gambling Commission (UKGC) regulation takes effect. This rule mandates that all UK operators must prompt new customers to set a deposit limit before they can make their first deposit.
This guide provides a step-by-step "recipe" for integrating this new data into Optimove, ensuring you meet compliance requirements and enabling you to leverage this data for responsible marketing.
The Optimove Solution
Our solution is built on a clear data flow:
- You (the Operator): You are responsible for capturing the deposit limit during your new onboarding flow and calculating the customer's status against this limit.
- Optimove: We act as the "engine" to action this data. You will provide the deposit limit fields as custom attributes, which you can then use for segmentation, campaign exclusion, and personalization.
Step-by-Step Implementation Guide
Follow these steps to get your integration ready.
Step 1: Prepare Your Data
First, update your internal systems to capture the deposit limits set by your players. These should be prepared as customer attributes to be sent to Optimove.
We recommend preparing the following customer attributes (all are optional and depend on your specific implementation):
-
deposit_limit_daily(Numeric) -
deposit_limit_weekly(Numeric) -
deposit_limit_monthly(Numeric) -
deposit_limit_lifetime(Numeric)
Step 2: Send Deposit Limit Data to Optimove
Once collected, you need to update this data to Optimove in real-time or near real-time. Here are four methods, from most to least recommended for this use case.
Method 1: Data Ingestion
You can use the Data Ingestion feature from the Data Studio to set up a recurring sync of deposit limit attributes.
Follow the steps below:
- Navigate to Data Studio → Data Ingestion.
- Select Ingest Data.
- Select your data source (e.g., SFTP, Google BigQuery, Amazon S3).
- Map your source fields (for example,
DepositLimit_Lifetime) to your Optimove attributes. - Set up the data sync process on your end to ensure the file is regularly updated.
- Confirm and apply the ingestion process.
Method 2: API Integration
For a streamlined, real-time solution, use our API to update attributes as soon as a customer sets or changes their limit.
- Use the
[Add Customer Attribute]endpoint to create the attributes in Optimove (if not already done). - Set up a process to update these attributes via one of the following endpoints:
- Ensure your system calls this API whenever a customer's limit data is updated.
Method 3: Real-Time Attribute (via Event)
You can update a customer attribute in real-time by sending an event to Optimove.
- Track our out-of-the-box (OOTB) event
ootb_deposit_limit_updated(or a custom event) whenever a limit is changed.{ "tenant": 123, "timestamp": "2025-10-23T12:34:56.000000Z", "category": "server", "event": "ootb_deposit_limit_updated", "visitor": "visitorId1", "customer": "customerId1", "origin": "web", "context": { "ootb_deposit_limit_daily": 1000, "ootb_deposit_limit_weekly": 5000, "ootb_deposit_limit_monthly": 20000, "ootb_deposit_limit_lifetime": 100000, "ootb_deposit_limit_change_rate_daily": 25, "ootb_deposit_limit_change_rate_weekly": 25, "ootb_deposit_limit_change_rate_monthly": 33, "ootb_deposit_limit_change_rate_lifetime": 100, "ootb_limit_change_reason": "user_requested", "ootb_limit_change_source": "user_preferences" } } - In Optimove, set up a Real-Time Attribute that stores the "Latest Value" of the relevant event parameter (for example,
ootb_deposit_limit_daily).
Method 4: Batch Data Update (Daily)
If real-time updates are not possible, you can use the standard daily batch update process to send these attributes.
Step 3: Create a Compliance Flag
For clear and immediate compliance, we strongly recommend creating a binary attribute (e.g., is_limit_exceeded) that flags if a customer has hit their limit.
You have two main options to create this, both of which update in real-time.
Option 1: Calculated Attribute (Optimove Calculates)
Let Optimove calculate whether a player has exceeded their limit for you.
- Go to Data Studio → Calculated Attributes.
- Set up a new "Formula-based" attribute.
- Create a formula that subtracts the customer's total deposits from their set limit.
-
Logic Example:
Deposit Limit, Lifetime−Total Deposit Amount, Lifetime
-
Logic Example:
- You can then build segments based on this attribute. If the result is 0 or a negative number, the limit has been exceeded.
Why this matters: This gives you a live compliance flag (e.g. is_limit_exceeded) without building custom logic on your side. You can immediately exclude these customers from promotional campaigns and satisfy UKGC expectations that you are acting on limit breaches.
Option 2: Real-Time Attribute (You Calculate)
You calculate the compliance flag yourself and push it into Optimove.
- On your side, set up logic to determine if a limit has been exceeded.
- When a limit is exceeded, send the
ootb_deposit_limit_exceededevent:{ "tenant": 123, "timestamp": "2025-10-23T13:45:00.000000Z", "category": "track", "event": "ootb_deposit_limit_exceeded", "visitor": "visitorId1", "customer": "customerId1", "origin": "web", "context": { "ootb_is_deposit_limit_exceeded_daily": true, "ootb_is_deposit_limit_exceeded_weekly": false, "ootb_is_deposit_limit_exceeded_monthly": false, "ootb_is_deposit_limit_exceeded_lifetime": false, "ootb_limit_check_source": "deposit_attempt", "ootb_limit_check_reason": "pre_deposit_validation" } } - In Optimove, set up a Real-Time Attribute to store the latest value of the relevant parameter (for example,
ootb_is_deposit_limit_exceeded_daily).
Why this matters: This approach externalizes the compliance logic to you, which can be useful if you already run this validation before allowing a deposit attempt.
Step 4: (Recommended) Create "Gap-to-Limit" Attributes
To move from basic compliance to proactive, responsible marketing, you can calculate how close a player is to their limit.
Use Optimove's Calculated Attributes feature for this. Formula-based attributes are updated in real-time whenever an involved attribute is updated.
Example Calculated Attribute:
-
Attribute Name:
gap_from_monthly_limit - Type: Formula
-
Formula:
Deposit Limit, Monthly-Total Deposit Amount, Monthly
This attribute gives you the exact "headroom" a player has left, allowing for powerful segmentation.
Recommended Campaign Strategies
Once your data is flowing, you can immediately implement these critical strategies.
Compliance Block (Must-Do)
Exclude customers from all promotional campaigns if they have exceeded their self-imposed limit.
-
Action: Create a Target Group (e.g., "Limit Exceeders") where
Is Limit Exceeded = TRUE(or your calculated formula is <= 0). Then, use the "Existing Target Group" condition to exclude these players from all relevant promotional campaigns. - Result: This ensures you do not market deposit-based offers to players who have already hit their responsible gaming limits.
Proactive Responsible Gaming
Use your gap_from_limit attribute to engage players before they hit their limit.
-
Action: Create a trigger for players whose
gap_from_monthly_limitis less than 20% of theirdeposit_limit_monthly. - Result: Send a non-promotional, helpful communication reminding the player of their limit and providing direct links to your responsible gaming tools.
Personalized Onboarding
Use the data you've collected to personalize the new customer experience.
-
Action: Use the
deposit_limit_monthlyattribute to segment your welcome journey. - Result: Players who set lower limits can receive a journey more focused on responsible gaming tools and non-monetary features, while players with higher limits can receive your standard journey. This demonstrates to the UKGC that you are actively using the data you are required to collect.
Next Steps
This implementation can be configured using the options above. If you need assistance or have questions about the best approach for your specific setup, please contact your Customer Success Manager.