It’s Saturday and William Hill are giving us a free Scratch of the Day. Today’s offer is simple: Stake £10.00 on any sport and William Hill will give us a £5.00 free bet! This guarantees us a quick and easy profit of at least £3.70!
Terms of the offer
Click on the banner and scratch to reveal the offer.
Tap find out how to claim and “claim” the offer – Wait 30 seconds before placing any qualifying bets.
Minimum stake of £10.00 on any sport market up until 23.59 on Saturday 4th April 2020.
Minimum odds of 1.20 (1/5) or greater.
Qualifying Bet and Strategy
We will treat this bet a simple Bet X Get X offer. All we need to do is back and lay a qualifying bet and extract our profit from the £5.00 free bet. As usual we will be finding a close match to place our qualifying bet on with odds above 1.20. We can also use a Bet Boost to get our odds even closer or a possible arb. We should aim to lose no less than £0.40 for this offer.
Qualifying
Free Bet SNR
Risk Free
Back Bet
Stake (£)
Cachback
Odds (Decimal)
Commission (%)
Lay Bet
Odds (Decimal)
Commission (%)
+ Add part lay
Required Lay £
Bookmaker
Exchange
Cashback
Total
If Back Wins |
|
|
|
|
If Lay Wins |
|
|
|
|
Part Lay Odds (Decimal) X
';
$('.part_lay_sec').append(cloneHtml);
});
$('.layback_bottom_innersec').on('click', '.closepartlay', function(){
$(this).closest('.innerpartlay').remove();
var Dataset = find_alldata();
var calData = calculate_layback(Dataset);
setHtmlData(calData);
});
});
function calculate_layback(Dataset , adlay){
var back_commission = Dataset.back_commission;
var lay_commission = Dataset.lay_commission;
var layStake = 0;
var standardLayStake = 0;
var underlayStake = 0;
var overlayStake = 0;
var sliderMin = 0;
var sliderMax = 0
if(back_commission > 0){
back_commission = (back_commission /100);
}else{
back_commission = 0;
}
if(lay_commission > 0){
lay_commission = (lay_commission /100);
}else{
lay_commission = 0;
}
Dataset['filldata'] = 0;
if(Dataset.back_odds > 0 && Dataset.lay_odds > 0 && Dataset.top_stake > 0){
if(Dataset.BetType == 'QUF'){
Dataset['back-win'] = Dataset.back_odds * Dataset.top_stake - (Dataset.back_commission * ((Dataset.back_odds - 1) * Dataset.top_stake) / 100);
Dataset['back-loss'] = - Dataset.top_stake;
partProfitBack = parseFloat(Dataset['back-win']) - parseFloat(Dataset.partLayLoss) - parseFloat(Dataset.top_stake);
partProfitLay = parseFloat(Dataset.partLayWin) + parseFloat(Dataset['back-loss']);
standardLayStake = (parseFloat(parseFloat(partProfitBack) - parseFloat(partProfitLay)) / (parseFloat(Dataset.lay_odds) - Dataset.lay_commission / 100));
underlayStake = (Dataset['back-win'] - Dataset.top_stake - Dataset.partLayLoss) / (Dataset.lay_odds - 1);
overlayStake = (Dataset.top_stake - (Dataset.partLayStakeTotal * (1 - Dataset.lay_commission / 100))) / (1 - Dataset.lay_commission / 100);
standardLayStake = standardLayStake.toFixed(2);
underlayStake = underlayStake.toFixed(2);
overlayStake = overlayStake.toFixed(2);
Dataset['back-win'] = Dataset['back-win'] - Dataset.top_stake;
Dataset['standardLayStake'] = standardLayStake;
Dataset['underlayStake'] = underlayStake;
Dataset['overlayStake'] = overlayStake;
Dataset = setLayStake(Dataset, adlay);
layWin = parseFloat(parseFloat(Dataset['layStake']) + parseFloat(Dataset.partLayStakeTotal)) * (1 - Dataset.lay_commission / 100);
layWin = layWin.toFixed(2);
layLoss = parseFloat(-Dataset['layStake'] * (Dataset.lay_odds - 1)).toFixed(2) - parseFloat(Dataset.partLayLoss).toFixed(2);
layLoss = layLoss.toFixed(2);
Dataset['lay-win'] = layWin;
Dataset['lay-loss'] = layLoss;
Dataset['min'] = Dataset['sliderMin'];
Dataset['max'] = Dataset['sliderMax'];
Dataset['required-data'] = parseFloat(Dataset['layStake']);
//Dataset['required-data'] = Dataset.lay_odds * Dataset.top_stake / (Dataset.back_odds - Dataset.back_commission / 100);
Dataset['back-win-total'] = parseFloat(Dataset['back-win']) + parseFloat(Dataset['lay-loss']);
Dataset['lay-win-total'] = parseFloat(Dataset['lay-win']) + parseFloat(Dataset['back-loss']);
}else if(Dataset.BetType == 'SNR'){
Dataset['back-win'] = ((Dataset.top_stake * Dataset.back_odds) - Dataset.top_stake) * (1 - Dataset.back_commission / 100);
Dataset['back-loss'] = 0;
partProfitBack = parseFloat(Dataset['back-win']) - parseFloat(Dataset.partLayLoss);
partProfitLay = parseFloat(Dataset.partLayWin) + parseFloat(Dataset['back-loss']);
standardLayStake = ((partProfitBack - partProfitLay) / (Dataset.lay_odds - Dataset.lay_commission / 100));
underlayStake = (Dataset['back-win'] - Dataset.top_stake - Dataset.partLayLoss) / (Dataset.lay_odds - 1);
overlayStake = (Dataset['back-win'] - Dataset.partLayLoss) / (Dataset.lay_odds - 1);
standardLayStake = standardLayStake.toFixed(2);
underlayStake = underlayStake.toFixed(2);
overlayStake = overlayStake.toFixed(2);
Dataset['standardLayStake'] = standardLayStake;
Dataset['underlayStake'] = underlayStake;
Dataset['overlayStake'] = overlayStake;
Dataset = setLayStake(Dataset, adlay);
layWin = parseFloat(parseFloat(Dataset['layStake']) + parseFloat(Dataset.partLayStakeTotal)) * (1 - Dataset.lay_commission / 100);
layWin = layWin.toFixed(2);
layLoss = parseFloat(-Dataset['layStake'] * (Dataset.lay_odds - 1)).toFixed(2) - parseFloat(Dataset.partLayLoss).toFixed(2);
layLoss = layLoss.toFixed(2);
Dataset['lay-win'] = layWin;
Dataset['lay-loss'] = layLoss;
Dataset['min'] = Dataset['sliderMin'];
Dataset['max'] = Dataset['sliderMax'];
Dataset['required-data'] = parseFloat(Dataset['layStake']);
Dataset['back-win-total'] = parseFloat(Dataset['back-win']) + parseFloat(Dataset['lay-loss']);
Dataset['lay-win-total'] = parseFloat(Dataset['lay-win']) + parseFloat(Dataset['back-loss']);
}else if(Dataset.BetType == 'SR'){
Dataset['back-win'] = Dataset.back_odds * Dataset.top_stake - (Dataset.back_commission * ((Dataset.back_odds - 1) * Dataset.top_stake) / 100) - Dataset.top_stake;
Dataset['back-loss'] = - Dataset.top_stake;
backRefund = 0;
partProfitBack = parseFloat(Dataset['back-win']) - parseFloat(Dataset.partLayLoss);
partProfitLay = parseFloat(Dataset.partLayWin) + parseFloat(Dataset['back-loss']);
layRefund = parseFloat(Dataset.refundAmount);
layRefund = layRefund.toFixed(2);
standardLayStake = (((partProfitBack - partProfitLay) - (Dataset.refundAmount)) / (Dataset.lay_odds - Dataset.lay_commission / 100));
underlayStake = (Dataset['back-win'] - Dataset.top_stake - Dataset.partLayLoss) / (Dataset.lay_odds - 1);
overlayStake = (Dataset['back-win'] - Dataset.partLayLoss) / (Dataset.lay_odds - 1);
standardLayStake = standardLayStake.toFixed(2);
underlayStake = underlayStake.toFixed(2);
overlayStake = overlayStake.toFixed(2);
Dataset['standardLayStake'] = standardLayStake;
Dataset['underlayStake'] = underlayStake;
Dataset['overlayStake'] = overlayStake;
Dataset = setLayStake(Dataset, adlay);
layWin = parseFloat(parseFloat(Dataset['layStake']) + parseFloat(Dataset.partLayStakeTotal)) * (1 - Dataset.lay_commission / 100);
layWin = layWin.toFixed(2);
layLoss = parseFloat(-Dataset['layStake'] * (Dataset.lay_odds - 1)).toFixed(2) - parseFloat(Dataset.partLayLoss).toFixed(2);
layLoss = layLoss.toFixed(2);
Dataset['backRefund'] = backRefund;
Dataset['layRefund'] = layRefund;
Dataset['lay-win'] = layWin;
Dataset['lay-loss'] = layLoss;
Dataset['min'] = Dataset['sliderMin'];
Dataset['max'] = Dataset['sliderMax'];
Dataset['required-data'] = parseFloat(Dataset['layStake']);
Dataset['back-win-total'] = parseFloat(Dataset['back-win']) + parseFloat(Dataset['lay-loss']) + parseFloat(Dataset['backRefund']);
Dataset['lay-win-total'] = parseFloat(Dataset['lay-win']) + parseFloat(Dataset['back-loss']) + parseFloat(Dataset['layRefund']);
}
Dataset['back-win'] = parseFloat(Dataset['back-win']);
Dataset['back-loss'] = parseFloat(Dataset['back-loss']);
Dataset['lay-win'] = parseFloat(Dataset['lay-win']);
Dataset['lay-loss'] = parseFloat(Dataset['lay-loss']);
Dataset['filldata'] = 1;
}
return Dataset;
}
function setLayStake(Dataset ,sliderUsed){
if (Dataset['standardLayStake'] < 0) {
Dataset['standardLayStake'] = 0
};
if (Dataset['underlayStake'] < 0) {
Dataset['underlayStake'] = 0
};
if (Dataset['overlayStake'] < 0) {
Dataset['overlayStake'] = 0
};
var layStake = 0;
if (sliderUsed >= 0) {
layStake = sliderUsed
} else {
layStake = Dataset['standardLayStake']
};
if (layStake < 0) {
layStake = 0
};
if (Number(Dataset['overlayStake']) < Number(Dataset['underlayStake'])) {
temp = Dataset['overlayStake'];
Dataset['overlayStake'] = Dataset['underlayStake'];
Dataset['underlayStake'] = temp
};
sliderMin = Number(Dataset['underlayStake']) * 0.8;
sliderMax = Number(Dataset['overlayStake']) + ((Dataset['overlayStake'] - Dataset['standardLayStake']) * 0.2);
if (sliderMin < 0) {
sliderMin = 0
}
Dataset['layStake'] = layStake;
Dataset['sliderMin'] = sliderMin;
Dataset['sliderMax'] = sliderMax;
return Dataset;
}
function find_alldata(){
var DataBet = {}
var BetType = jQuery('input[name=BetType]:checked').val();
var top_stake = jQuery('.top_stake').val();
var back_odds = jQuery('input[name="back_odds"]').val();
var back_commission = jQuery('input[name="back_commission"]').val();
var lay_odds = jQuery('input[name="lay_odds"]').val();
var lay_commission = jQuery('input[name="lay_commission"]').val();
var refundAmount = jQuery('input[name="refund_amount"]').val();
//var top_layback = jQuery('select[name="top_layback"]').val();
var partLayWin = 0;
var partLayLoss = 0;
var partLayStakeTotal = 0;
var thisPartLayWin = 0;
var thisPartLayLoss = 0;
var isPartLay = 0;
if(jQuery('.partlaystake').length > 0 && jQuery('.partlayodds').length > 0){
jQuery( ".partlaystake" ).each(function( index ) {
var thisData = jQuery(this);
isPartLay = 1;
partLayStake = thisData.val();
partLayOdds = thisData.closest('.innerpartlay').find('.partlayodds').val();
if (partLayStake != '' && partLayOdds != '') {
partLayStakeTotal += Number(partLayStake);
thisPartLayWin = partLayStake * (1 - lay_commission / 100);
thisPartLayLoss = partLayStake * (partLayOdds - 1);
partLayWin += parseFloat(thisPartLayWin);
partLayLoss += parseFloat(thisPartLayLoss);
}
});
partLayWin = partLayWin.toFixed(2);
partLayLoss = partLayLoss.toFixed(2);
partLayStakeTotal = partLayStakeTotal.toFixed(2);
}
DataBet['BetType'] = BetType;
DataBet['isPartLay'] = isPartLay;
DataBet['top_stake'] = top_stake;
DataBet['back_odds'] = back_odds;
DataBet['back_commission'] = back_commission;
DataBet['refundAmount'] = parseFloat(refundAmount);
DataBet['lay_odds'] = lay_odds;
DataBet['lay_commission'] = lay_commission;
DataBet['partLayWin'] = partLayWin;
DataBet['partLayLoss'] = partLayLoss;
DataBet['partLayStakeTotal'] = partLayStakeTotal;
return DataBet;
}
function setHtmlData(htmlData){
if(htmlData.filldata == 1){
var back_win = htmlData['back-win'].toFixed(2);
var back_loss = htmlData['back-loss'].toFixed(2);
var lay_win = htmlData['lay-win'].toFixed(2);
var lay_loss = htmlData['lay-loss'].toFixed(2);
var back_win_total = parseFloat(htmlData['back-win-total']).toFixed(2);
var lay_win_total = parseFloat(htmlData['lay-win-total']).toFixed(2);
var required_data = parseFloat(htmlData['required-data']).toFixed(2);
if(back_win >= 0){
jQuery('.back_win_data').html('
+'+back_win+'');
}else{
jQuery('.back_win_data').html('
'+back_win+'');
}
if(back_loss >= 0){
jQuery('.back_loss_data').html('
+'+back_loss+'');
}else{
jQuery('.back_loss_data').html('
'+back_loss+'');
}
if(lay_win >= 0){
jQuery('.lay_win_data').html('
+'+lay_win+'');
}else{
jQuery('.lay_win_data').html('
'+lay_win+'');
}
if(lay_loss >= 0){
jQuery('.lay_loss_data').html('
+'+lay_loss+'');
}else{
jQuery('.lay_loss_data').html('
'+lay_loss+'');
}
if(back_win_total >= 0){
jQuery('.back_win_total').html('
+'+back_win_total+'');
}else{
jQuery('.back_win_total').html('
'+back_win_total+'');
}
if(lay_win_total >= 0){
jQuery('.lay_win_total').html('
+'+lay_win_total+'');
}else{
jQuery('.lay_win_total').html('
'+lay_win_total+'');
}
jQuery('.required_data_range').text(required_data);
var minRange = htmlData['min'].toFixed(2);
var maxRange = htmlData['max'].toFixed(2);
jQuery('.adjustlay_left_sec').text(minRange);
jQuery('.adjustlay_right_sec').text(maxRange);
jQuery('input[name="adjustlay"]').removeAttr('disabled');
jQuery('input[name="adjustlay"]').attr('min', minRange);
jQuery('input[name="adjustlay"]').attr('max', maxRange);
jQuery('input[name="adjustlay"]').val(required_data);
if(htmlData.BetType == 'SR'){
var backrefund_data = parseFloat(htmlData['backRefund']).toFixed(2);
var layrefund_data = parseFloat(htmlData['layRefund']).toFixed(2);
if(backrefund_data >= 0){
jQuery('.backrefund_data').html('
+'+backrefund_data+'');
}else{
jQuery('.backrefund_data').html('
'+backrefund_data+'');
}
if(layrefund_data >= 0){
jQuery('.layrefund_data').html('
+'+layrefund_data+'');
}else{
jQuery('.layrefund_data').html('
'+layrefund_data+'');
}
}
}
}
As we can see by the calculator, if we place a back bet of 3.00 and a lay bet of 3.05 our qualifying loss will be £0.30.
What’s next?
Our £5.00 free bet will be credited instantly once our qualifying bet has been placed. We should expect to extract 80% cash making our free bets worth at least £4.00. After we take away our initial qualifying loss we should have made ourselves an easy £3.70 in profit
By this point you should know how to extract profit from free bets, but if your still unsure or need a refresher the perfect guide can be found here.