Bonus Code Generator - Reliato Campaigns
body {
font-family: 'Muli', Arial, sans-serif;
background-color: #f4f6f8;
padding: 30px;
display: flex;
justify-content: center;
}
.bhgbhgcontainer {
max-width: 1000px;
background: #fff;
padding: 30px 40px;
border-radius: 12px;
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
h2 {
color: #1a1a1a;
text-align: center;
margin-bottom: 10px;
}
p {
text-align: center;
color: #555;
margin-bottom: 30px;
font-size: 15px;
}
.form-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: space-between;
}
.form-group {
flex: 1 1 45%;
display: flex;
flex-direction: column;
}
label {
margin-bottom: 6px;
font-weight: 600;
color: #333;
}
select, input[type="date"] {
padding: 8px;
font-size: 14px;
border: 1px solid #ccc;
border-radius: 6px;
transition: all 0.2s ease-in-out;
}
select:focus, input[type="date"]:focus {
border-color: #0078D4;
outline: none;
box-shadow: 0 0 4px rgba(0,120,212,0.3);
}
#generate {
margin-top: 30px;
padding: 12px 24px;
font-size: 16px;
font-weight: bold;
background-color: #0078D4;
color: white;
border: none;
border-radius: 6px;
cursor: pointer;
display: block;
width: 100%;
transition: background-color 0.2s;
}
#generate:hover {
background-color: #005ea6;
}
#result {
margin-top: 25px;
font-size: 18px;
padding: 12px;
border-radius: 8px;
background-color: #e6f5ea;
color: #0a7d3b;
font-weight: bold;
border: 1px solid #b2e1c0;
text-align: center;
}
🎯 Bonus Code Generator - Reliato Campaigns
All fields are mandatory. If it's a seasonal event, select "Other" or "Not Defined". Please, don't create a random code without using the generator.
Generate Code
https://code.jquery.com/jquery-3.6.0.min.js
jQuery(function ($) {
const mappings = {
brand: { 'Bahigo': 'BAH', 'Wettigo': 'WGO', 'Bahibi': 'BBI' },
country: { 'Turkey': 'TR', 'Switzerland': 'CH', 'NewCountry': 'NEW' },
segmentation: { 'Segmented': 'SEG', 'Open for All': 'O4A' },
type: { 'Acquisition': 'A', 'Retention': 'R', 'VIP': 'V', 'Social Media': 'SM', 'New Media': 'NM' },
lifecycle: {
'Active': 'ACT', 'Dormant': 'DOR', 'Churn': 'CHU', 'Registered': 'RND',
'First time depositors': 'FTD', 'Reactivated': 'REA', 'New': 'NEW', 'All': 'ALL', 'EBET': 'EBET'
},
product: { 'Sports': 'SPT', 'Casino': 'CAS', 'Sports & Casino': 'HYB' },
valueLayer: { 'High': 'HI', 'Mid': 'MID', 'Low': 'LO', 'Negative': 'NEG', 'VIP': 'VIP', 'Mixed': 'MIX' },
layer: {
'Long Lapsed': 'LL', 'Slots': 'S', 'Live Casino': 'LC', 'Tennis': 'TN',
'Basketball': 'BB', 'Football': 'FB', 'Bad Experience': 'BE',
'Good Experience': 'GE', 'Healthy': 'H', 'Unhealthy': 'UH', 'Undefined': 'UN'
},
campaignType: {
'Risk of Churn Funnel': 'ROC', 'Lucky Losers Funnel': 'LL', 'Onboarding Journey': 'ONB',
'Reactivated Journey': 'RJ', 'New Player Journey': 'NPF', 'iWinBack': 'IWB',
'Post Monthly Reload': 'PMR', 'Mid Monthly Reload': 'MMR', 'Social Media': 'SM',
'Payday 2nd chance': '2ND', 'Payday V2': 'PV2', 'Game of the Month': 'GOTM',
'Game of the week': 'GOTW', 'Seasonal Campaign': 'SC', 'X-Sell': 'XS',
'Daily Shows': 'DS', 'Spin Quest': 'SQ'
},
mechanic: {
'Bet and Get': 'BG', 'Deposit and Get': 'DG', 'Cashdrop': 'CD', 'Reloads': 'REL',
'Play and Get': 'PG', 'Raffle': 'RAF', 'Leaderboard': 'LB', 'Tournament': 'TOU',
'Newsletter': 'NL', 'Random Prize Drop': 'RPD', 'Extra Winnings': 'EW',
'Bonus Buy': 'BB', 'Welcome Bonus': 'WB', 'Combi insurance': 'INS',
'Bonus Code': 'BC', 'Boosted Odds': 'BO', 'Reminder': 'REM', 'Manual': 'Manual','Other': 'OT'
},
reward: {
'Cash': 'C', 'Free Bet': 'FB', 'Risk Free Bet': 'RFB', 'FreeSpins': 'FS',
'Bonus Club Points': 'BCP', 'Platform Bonus': 'PB', 'Casino Bonus': 'CB',
'Sports Bonus': 'SB', 'Bonus Buy': 'BB', 'Bundle': 'BUN', 'Free Chips': 'FC',
'Random Reward': 'RR', 'No Reward': 'NR', 'Multi Rewards': 'MR'
},
crediting: {
'Crediting Yes': 'Crediting', 'Crediting No': 'NO', 'Multi Day Crediting': 'MDCrediting'
},
};
function formatDateToDDMMYY(dateStr) {
const d = new Date(dateStr);
if (isNaN(d)) return null;
const dd = String(d.getDate()).padStart(2, '0');
const mm = String(d.getMonth() + 1).padStart(2, '0');
const yy = String(d.getFullYear()).slice(2);
return `${dd}${mm}${yy}`;
}
$('#generate').on('click', function () {
const dateRaw = $('#date').val();
const date = formatDateToDDMMYY(dateRaw);
const fields = ["brand", "country", "segmentation", "type", "lifecycle",
"product", "valueLayer", "layer", "campaignType", "mechanic", "reward", "crediting"];
const values = [];
let missingField = null;
for (let field of fields) {
const val = $('#' + field).val();
const code = mappings[field][val];
if (!val || !code) {
missingField = field;
break;
}
values.push(code);
}
if (!date || missingField) {
$('#result').text(`❗ Please fill in: ${missingField || 'date'}`);
return;
}
const code = `${date}_${values.join("_")}`;
$('#result').text(`✅ Generated Code: ${code}`);
});
});
You must be logged in to post a comment.