(function ($) { "use strict"; var $window = $(window); function debounce(func, wait, immediate) { var timeout; return function () { var context = this, args = arguments; var later = function () { timeout = null; if (!immediate) func.apply(context, args); }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) func.apply(context, args); }; } function rtl_slick() { if ($("body").hasClass("rtl")) { return true; } else { return false; } } $window.on("elementor/frontend/init", function () { var ModuleHandler = elementorModules.frontend.handlers.Base; var PostMarquee = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.wrapper = this.$element.find(".elespare-flash-wrap"); this.run(); }, getDefaultSettings: function () { var pauseticker = false; if (this.getElementSettings("_pause_on_hover") == "yes") { pauseticker = true; } return { //duration in milliseconds of the marquee speed: this.getElementSettings("_animation_speed"), //gap in pixels between the tickers gap: 0, //time in milliseconds before the marquee will start animating delayBeforeStart: 0, //'left' or 'right' // direction: 'right', //true or false - should the marquee be duplicated to show an effect of continues flow duplicated: true, pauseOnHover: pauseticker, startVisible: true, }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, run: function () { var filter_wrap = this.wrapper.find(".marquee.elespare-flash-side"); filter_wrap.marquee(this.getDefaultSettings()); }, }); var PostCarousel = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: false, arrows: false, checkVisible: false, container: ".elespare-posts-wrap", dots: false, infinite: true, rows: 0, slidesToShow: 3, prevArrow: $("
") .append(this.findElement(".slick-prev").clone().show()) .html(), nextArrow: $("
") .append(this.findElement(".slick-next").clone().show()) .html(), }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var autoplaycarousel = false; if (this.getElementSettings("autoplay") == "yes") { autoplaycarousel = true; } var settings = { infinite: !!this.getElementSettings("loop"), autoplay: autoplaycarousel, autoplaySpeed: this.getElementSettings("autoplay_speed"), speed: this.getElementSettings("animation_speed"), centerMode: !!this.getElementSettings("center"), slidesToScroll: 1, rtl: rtl_slick(), }; switch (this.getElementSettings("navigation")) { case "arrow": settings.arrows = true; break; case "dots": settings.dots = true; break; case "both": settings.arrows = true; settings.dots = true; break; } // var blockname = this.elements.$container.attr('data-blockname'); settings.slidesToShow = parseInt(this.getElementSettings("slides_to_show")) || 1; settings.slidesToShow = parseInt(this.getElementSettings("slides_to_show")) || 1; settings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: parseInt(this.getElementSettings("slides_to_show_tablet")) || settings.slidesToShow, }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: parseInt(this.getElementSettings("slides_to_show_mobile")) || parseInt(this.getElementSettings("slides_to_show_tablet")) || settings.slidesToShow, }, }, ]; return $.extend({}, this.getSettings(), settings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); //Masonry var PostMasonry = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getLayoutMode: function () { var layout = "even"; return layout === "even" ? "masonry" : layout; }, getDefaultSettings: function () { return { itemSelector: ".elespare-posts-masonry-item-wrapper", percentPosition: true, layoutMode: this.getLayoutMode(), }; }, getDefaultElements: function () { return { $container: this.findElement(".elespare-isotope"), }; }, run: function () { var self = this; self.elements.$container.isotope(self.getDefaultSettings()); }, }); //------- var MainBannerOne = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: true, arrows: true, checkVisible: false, container: ".elespare-carousel-wrap", dots: false, infinite: true, rows: 0, slidesToShow: 1, prevArrow: $("
") .append(this.findElement(".slick-prev").clone().show()) .html(), nextArrow: $("
") .append(this.findElement(".slick-next").clone().show()) .html(), }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var autoplaybanner = false; if (this.getElementSettings("_autoplay") == "yes") { autoplaybanner = true; } var bannersettings = { infinite: !!this.getElementSettings("_loop"), autoplay: autoplaybanner, autoplaySpeed: this.getElementSettings("_autoplay_speed"), speed: this.getElementSettings("_animation_speed"), slidesToScroll: 1, rtl: rtl_slick(), }; bannersettings.slidesToShow = parseInt(this.elements.$container.attr("data-num")) || 1; bannersettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: 1, }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: 1, }, }, ]; return $.extend({}, this.getSettings(), bannersettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); var MainBannerTwo = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: true, arrows: true, checkVisible: false, container: ".elespare-carousel-wrap", dots: false, infinite: true, rows: 0, slidesToShow: 1, prevArrow: $("
") .append(this.findElement(".slick-prev").clone().show()) .html(), nextArrow: $("
") .append(this.findElement(".slick-next").clone().show()) .html(), }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var autoplaybanner = false; if (this.getElementSettings("_autoplay") == "yes") { autoplaybanner = true; } var bannersettings = { infinite: !!this.getElementSettings("_loop"), autoplay: autoplaybanner, autoplaySpeed: this.getElementSettings("_autoplay_speed"), speed: this.getElementSettings("_animation_speed"), slidesToScroll: 1, rtl: rtl_slick(), }; bannersettings.slidesToShow = parseInt(this.elements.$container.attr("data-num")) || 1; bannersettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: 1, }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: 1, }, }, ]; return $.extend({}, this.getSettings(), bannersettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); //----- //Post banner slider var PostBannerCarousel = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: true, arrows: true, checkVisible: false, container: ".elespare-carousel-wrap", dots: false, infinite: true, rows: 0, slidesToShow: 1, prevArrow: $("
") .append(this.findElement(".slick-prev").clone().show()) .html(), nextArrow: $("
") .append(this.findElement(".slick-next").clone().show()) .html(), }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var autoplaybanner = false; if (this.getElementSettings("_autoplay") == "yes") { autoplaybanner = true; } var bannersettings = { infinite: !!this.getElementSettings("_loop"), autoplay: autoplaybanner, autoplaySpeed: this.getElementSettings("_autoplay_speed"), speed: this.getElementSettings("_animation_speed"), slidesToScroll: 1, rtl: rtl_slick(), }; var parent_class = this.elements.$container.parents(".elementor-column"); var admin_attr = parent_class.attr("data-col"); if ( admin_attr <= 33 || parent_class.hasClass("elementor-col-33") || parent_class.hasClass("elementor-col-20") || parent_class.hasClass("elementor-col-16") ) { bannersettings.slidesToShow = 1; } else { bannersettings.slidesToShow = parseInt(this.elements.$container.attr("data-num")) || 1; } bannersettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: 1, }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: 1, }, }, ]; return $.extend({}, this.getSettings(), bannersettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); var PostBannerTrendings = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: true, arrows: false, checkVisible: false, container: ".elespare-trending-wrap", dots: false, infinite: true, vertical: true, verticalSwiping: true, rows: 0, slidesToShow: 3, }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var slide_to_show = this.getElementSettings("trending_slides_to_show"); var parent_class = this.elements.$container.parents(".elementor-element"); var widget_name = parent_class .find(".elementor-widget-main-banner-1") .attr("data-widget_type"); var widget_name_banner_2 = parent_class .find(".elementor-widget-main-banner-2") .attr("data-widget_type"); var verticals = true; var admin_attr = parent_class.attr("data-col"); if ( widget_name == "main-banner-1.default" || widget_name_banner_2 == "main-banner-2.default" ) { if (admin_attr == "66" || parent_class.hasClass("elementor-col-66")) { verticals = false; slide_to_show = 2; } else if ( admin_attr == "50" || parent_class.hasClass("elementor-col-50") ) { verticals = false; slide_to_show = 2; } else if ( admin_attr == "33" || parent_class.hasClass("elementor-col-33") ) { verticals = false; slide_to_show = 1; } else if ( admin_attr == "25" || parent_class.hasClass("elementor-col-25") ) { verticals = false; slide_to_show = 1; } else { verticals = false; slide_to_show = this.getElementSettings("trending_slides_to_show"); } } else { verticals = false; } var autoplayverticale = false; if (this.getElementSettings("trending_autoplay") == "yes") { autoplayverticale = true; } var verticalsettings = { infinite: !!this.getElementSettings("trending_loop"), autoplay: autoplayverticale, autoplaySpeed: this.getElementSettings("trending_autoplay_speed"), speed: this.getElementSettings("trending_animation_speed"), slidesToShow: slide_to_show, slidesToScroll: 1, vertical: verticals, rtl: rtl_slick(), }; verticalsettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: parseInt( this.getElementSettings("trending_slides_to_show_tablet") ) || verticalsettings.slidesToShow, vertical: false, }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: parseInt( this.getElementSettings("trending_slides_to_show_mobile") ) || parseInt(this.getElementSettings("slides_to_show_tablet")) || verticalsettings.slidesToShow, vertical: false, }, }, ]; return $.extend({}, this.getSettings(), verticalsettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); var PostBannerVerticaleTrendings = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: true, arrows: false, checkVisible: false, container: ".elespare-trending-wrap", dots: false, infinite: true, vertical: true, verticalSwiping: true, rows: 0, slidesToShow: 3, }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var slide_to_show = 3; var autoplayverticale = false; if (this.getElementSettings("trending_autoplay") == "yes") { autoplayverticale = true; } var parent_class = this.elements.$container.parents( ".elementor-element.elementor-widget-post-banner" ); var widget_name = parent_class.attr("data-widget_type"); if (widget_name == "post-banner.default") { if ( parent_class .find(".elespare-banner-one-wrap") .hasClass("banner-style-4") || parent_class .find(".elespare-banner-one-wrap") .hasClass("banner-style-5") || parent_class .find(".elespare-banner-one-wrap") .hasClass("banner-style-6") ) { slide_to_show = 4; } } var verticalsettings = { infinite: !!this.getElementSettings("trending_loop"), autoplay: autoplayverticale, autoplaySpeed: this.getElementSettings("trending_autoplay_speed"), speed: this.getElementSettings("trending_animation_speed"), slidesToShow: slide_to_show, slidesToScroll: 1, vertical: true, verticalSwiping: true, // rtl: rtl_slick() }; verticalsettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: 2, vertical: false, verticalSwiping: false, rtl: rtl_slick(), }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: 1, vertical: false, verticalSwiping: false, rtl: rtl_slick(), }, }, ]; return $.extend({}, this.getSettings(), verticalsettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); //Post Trending Carousel var PostTrendingsCarousel = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.run(); }, getDefaultSettings: function () { return { autoplay: false, arrows: false, checkVisible: false, container: ".elespare-trending-wrap", dots: false, infinite: true, vertical: false, verticalSwiping: false, rows: 0, slidesToShow: 3, }; }, getDefaultElements: function () { return { $container: this.findElement(this.getSettings("container")), }; }, onElementChange: debounce(function () { this.elements.$container.slick("unslick"); this.run(); }, 200), getSlickSettings: function () { var verticals = false; var slide_to_show = 3; var parent_class = this.elements.$container.parents(".elementor-column"); var rtl = rtl_slick(); var admin_attr = parent_class.attr("data-col"); if (parent_class.hasClass("elementor-col-66")) { verticals = false; slide_to_show = 2; rtl = rtl_slick(); } if (parent_class.hasClass("elementor-col-50")) { verticals = false; slide_to_show = 2; rtl = rtl_slick(); } if (parent_class.hasClass("elementor-col-33")) { verticals = true; slide_to_show = 5; rtl = false; } if (parent_class.hasClass("elementor-col-25")) { verticals = true; slide_to_show = 2; rtl = false; } if (parent_class.hasClass("elementor-col-16")) { verticals = true; slide_to_show = 2; rtl = false; } if (admin_attr == "66") { verticals = false; slide_to_show = 2; rtl = rtl_slick(); } if (admin_attr == "50") { verticals = false; slide_to_show = 2; rtl = rtl_slick(); } if (admin_attr == "33") { verticals = true; slide_to_show = 5; rtl = false; } if (admin_attr == "25") { verticals = true; slide_to_show = 2; rtl = false; } if (admin_attr == "16") { verticals = true; slide_to_show = 2; rtl = false; } var verticalsettings = { infinite: !!this.getElementSettings("trending_loop"), autoplay: !!this.getElementSettings("trending_autoplay"), autoplaySpeed: this.getElementSettings("trending_autoplay_speed"), speed: this.getElementSettings("trending_animation_speed"), slidesToShow: slide_to_show, slidesToScroll: 1, vertical: verticals, rtl: rtl, }; verticalsettings.responsive = [ { breakpoint: elementorFrontend.config.breakpoints.lg, settings: { slidesToShow: 2, vertical: false, verticalSwiping: false, rtl: rtl_slick(), }, }, { breakpoint: elementorFrontend.config.breakpoints.md, settings: { slidesToShow: 5, vertical: true, verticalSwiping: true, rtl: false, }, }, ]; return $.extend({}, this.getSettings(), verticalsettings); }, run: function () { this.elements.$container .not(".slick-initialized") .slick(this.getSlickSettings()); }, }); //Tabs var PostTab = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.wrapper = this.$element.find(".elespare-post-tab"); this.run(); }, run: function () { var filter_wrap = this.wrapper.find(".elespare-post-tab-filter"), filter = filter_wrap.find("li"), event = this.wrapper.data("event"), args = this.wrapper.data("query-args"); filter.on( event, debounce(function (e) { e.preventDefault(); var $self = $(this), term_id = $self.data("term"), $wrapper = $self.closest(".elespare-post-tab"), content = $wrapper.find(".elespare-post-tab-content"), loading = content.find(".elespare-post-tab-loading"), tab_item = content.find(".elespare-post-tab-item-wrapper"), $content_exist = false; if (0 === loading.length) { filter.removeClass("active"); tab_item.removeClass("active"); $self.addClass("active"); tab_item.each(function () { var $self = $(this), $content_id = $self.data("term"); if (term_id === $content_id) { $self.addClass("active"), ($content_exist = true); } }); if (false === $content_exist) { $.ajax({ url: ElespareLocalize.ajax_url, type: "POST", data: { action: "elespare_post_tab_action", security: ElespareLocalize.nonce, post_tab_query: args, term_id: term_id, }, beforeSend: function () { content.append( '' ); }, success: function (response) { content.find(".elespare-post-tab-loading").remove(); content.append(response); }, error: function (error) {}, }); } } }, 200) ); }, }); var SearchForm = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.wrapper = this.$element.find(".elespare-search-wrapper"); this.run(); }, run: function () { var searchContainer = this.wrapper.find(".elespare-search--toggle"); var btn = this.wrapper.find(".elespare-search-icon--toggle"); var close = this.wrapper.find(".elespare--site-search-close"); var dropdown_click = this.wrapper.find( ".elespare-search-dropdown-toggle" ); btn.on("click", function () { searchContainer.addClass("show"); dropdown_click.toggleClass("show"); }); close.on("click", function () { searchContainer.removeClass("show"); }); const $menu = this.wrapper.find(".elespare-search-dropdown-toggle"); $(document).mouseup((e) => { if ( !$menu.is(e.target) && // if the target of the click isn't the container... $menu.has(e.target).length === 0 ) { // ... nor a descendant of the container $menu.removeClass("show"); } }); $(document).on("keydown", function (e) { if (e.keyCode === 27) { // ESC searchContainer.removeClass("show"); } }); }, }); var NavMenu = ModuleHandler.extend({ onInit: function () { ModuleHandler.prototype.onInit.apply(this, arguments); this.wrapper = this.$element.find(".elespare-navigation-wrapper"); this.run(); }, run: function () { var toggle = this.wrapper.find(".elespare-menu-toggle"); var nav = this.wrapper.find(".elespare-moblie-ham-menu"); var overlay = this.wrapper.find(".elespare-overlay"); var close = this.wrapper.find(".elespare--close-menu-side-bar"); var main = this.wrapper.find(".elespare-main-navigation"); var desktop_subnav = main.find("ul >.menu-item-has-children>a"); var sub = main.find(".sub-menu"); if ( this.wrapper.hasClass("vertical") || this.wrapper.hasClass("horizontal") ) { sub.each(function (index) { $(this).wrap('
'); }); } sub .parents("li") .find("> a") .append('

Waarom 35x niet altijd 35x is: lees de kleine lettertjes

Je ziet «35x inzetvereiste» staan en denkt: dat is bij elk casino hetzelfde. Tot je na een avond spelen ontdekt dat je nog duizenden euro’s moet rondspelen voordat er iets naar je rekening gaat. Het verschil zit zelden in het getal 35. Het zit in de vraag waarover dat getal wordt berekend. Wie een ShakeBet promo code gebruikt of een ShakeBet bonuscode invult bij de registratie, krijgt precies te maken met die vraag, en het antwoord bepaalt of je effectieve speelbedrag €2.000 is of bijna €4.000.

De meeste bonusvoorwaarden noemen de inzetvereiste prominent, vaak in vet of als losse regel in de aanbieding. De grondslag, dus of de 35x geldt over het bonusbedrag alleen of over bonus plus je eigen storting, staat vaak dieper in de algemene voorwaarden. Dat detail verandert de rekensom fundamenteel. Bij een bonus van 100% op je storting verdubbelt de grondslag namelijk precies je speelverplichting, terwijl het getal 35x onaangeroerd blijft. Twee casino’s kunnen dus allebei «35x» adverteren en toch een verschil van honderden of duizenden euro’s aan rondspelen opleveren.

Deze gids neemt je mee door de rekenmethodes achter inzetvereisten, laat met concrete bedragen zien wat het verschil van 50 procent in de praktijk betekent en legt uit waar je bij ShakeBet precies op moet letten. Daarbij komen ook de ShakeBet welkomstpakket-voorwaarden, de bonus code zonder storting en de actieve promo code 2026 aan bod, zodat je niet alleen het getal leest maar ook begrijpt waar het op wordt toegepast. Rekenmachine erbij, voorwaarden erbij: na dit stuk vergelijk je bonussen op dezelfde manier als een doorgewinterde speler.

Hoe inzetvereisten in de kern worden berekend: bonusbedrag versus bonus plus storting

Een inzetvereiste van 35x betekent niet bij elk casino hetzelfde. De vermenigvuldiger is identiek, maar de grondslag waarop hij wordt toegepast verschilt. Het ene casino rekent 35x over het bonusbedrag, het andere over bonus plus storting. Dat verschil bepaalt hoeveel je daadwerkelijk moet rondspelen voordat winst vrijkomt, en het is de meest onderschatte regel in elke bonusvoorwaarde.

De formule kent twee varianten. Bij de eerste methode geldt: inzetvereiste = bonusbedrag x 35. Krijg je €200 bonus, dan speel je €7.000 rond. Bij de tweede methode geldt: inzetvereiste = (bonusbedrag + storting) x 35. Stort je €200 en krijg je €200 bonus, dan is de grondslag €400 en speel je €14.000 rond. De vermenigvuldiger is gelijk, het speelbedrag verdubbelt. Wie alleen naar het getal 35x kijkt, vergelijkt appels met peren.

De grondslag is dus de kern van elke vergelijking. Lees in de bonusvoorwaarden altijd de zin die begint met «de inzetvereiste bedraagt 35 keer…» en let op wat er direct na «keer» staat: «het bonusbedrag» of «het bonusbedrag plus de storting». Die paar woorden scheiden een redelijke bonus van een die je nauwelijks kunt vrijspelen. Bij een inzetvereiste van 35x op bonus plus storting ligt het effectieve speelbedrag ruwweg twee keer zo hoog als bij 35x op alleen de bonus, uitgaande van een storting die gelijk is aan de bonus.

Er zijn meer variabelen die de grondslag beinvloeden. Sommige casino’s rekenen alleen de bonus, maar verhogen het percentage of verlagen het maximum. Andere hanteren een inzetvereiste per bonusdeel, zodat een welkomstpakket met drie stortingen drie aparte berekeningen oplevert. Bij een bonus code zonder storting is de grondslag vaak het bonusbedrag, maar gelden afwijkende regels voor de maximale uitbetaling. De grondslag blijft in alle gevallen het ankerpunt: zonder dat bedrag te kennen, zegt de factor 35x weinig over de werkelijke speelduur en het risico op je saldo.

Praktisch betekent dit dat je bij het vergelijken van casino promoties eerst de grondslag vaststelt, daarna de vermenigvuldiger, en pas dan kijkt naar termijnen, maximale inzet en bijdragende spellen. Een bonus met 40x op alleen de bonus kan gunstiger uitpakken dan een bonus met 35x op bonus plus storting. Reken altijd het absolute speelbedrag uit in plaats van te vertrouwen op het gepubliceerde getal. Dat ene sommetje voorkomt verrassingen bij de eerste uitbetaling.

Het verschil van 50 procent: rekenvoorbeeld met 35x op bonus versus 35x op bonus plus storting

Neem een bonus van €200 op een storting van €200. Bij een inzetvereiste van 35x op alleen het bonusbedrag moet je 35 x €200 = €7.000 aan inzet rondspelen voordat er iets naar je saldo kan. Reken je diezelfde 35x over bonus plus storting, dan is de grondslag €400 en kom je uit op 35 x €400 = €14.000. Het verschil is €7.000, precies de helft meer speelvolume, terwijl op beide aanbiedingen «35x inzetvereiste» staat. Dat is de kern van waarom je nooit alleen naar het getal 35x moet kijken.

Zet daar de randvoorwaarden naast. Stel dat je aan een gokkast speelt met een gemiddelde uitbetalingsgraad van 96 procent. Dan kost elke €100 aan inzet gemiddeld €4 aan huisvoordeel. Bij €7.000 inzet is dat ongeveer €280, bij €14.000 ongeveer €560. De bonus van €200 verdampt in het tweede scenario ruimschoots voordat je de vereiste hebt gehaald. Speel je aan een tafelspel dat maar voor 10 procent meetelt, dan loopt het werkelijke bedrag dat je moet rondspelen nog eens met een factor tien op.

Werk het door voor een standaard welkomstbonus met een groter bedrag. Stel: 100 procent tot €500, inzetvereiste 35x. Op bonus alleen is dat €17.500 aan inzet. Op bonus plus storting (€500 + €500 = €1.000) is dat €35.000. Bij een maximale inzet van €5 per draai praat je over 3.500 respectievelijk 7.000 spins. De termijn waarin dat moet gebeuren, vaak 30 dagen, wordt dan de echte beperkende factor, niet de hoogte van het bonusbedrag.

Bij een pakket met meerdere stortingen telt het effect per deel door. Een eerste storting van €1.000 met 100 procent bonus levert €1.000 bonus op. Op bonus alleen: 35 x €1.000 = €35.000 inzet. Op bonus plus storting: 35 x €2.000 = €70.000. Een tweede storting van €1.000 met 50 procent bonus geeft €500 bonus, dus €17.500 versus €52.500 bij de zwaardere grondslag. Elke stap verdubbelt of verdriedubbelt het speelvolume, terwijl de kop van de aanbieding hetzelfde blijft.

De rekenregel die je bij het vergelijken hanteert: zoek in de bonusvoorwaarden de regel die de grondslag benoemt. Staat er «het bonusbedrag», dan geldt de lichte variant. Staat er «bonus plus storting» of «het totale bonusbedrag inclusief de kwalificerende storting», dan betaal je effectief het dubbele aan inzet. Reken daarna zelf door: grondslag x inzetvereiste = het bedrag dat je moet rondspelen. Vergelijk dat getal tussen casino’s, niet de 35x die in de advertentie prijkt.

Bonus (100% op €500) Grondslag Inzetvereiste Rond te spelen Spins bij €5 max inzet
€500 Bonus alleen 35x €17.500 3.500
€500 Bonus + storting 35x €35.000 7.000

Waarom 35x niet altijd 35x is: de kleine lettertjes bij ShakeBet en concurrenten vergeleken

De regel «35x inzetvereiste» leest bij vrijwel elk casino hetzelfde. Toch bepaalt één woord in de bonusvoorwaarden hoeveel je werkelijk moet rondspelen: de grondslag. Bij ShakeBet geldt de inzetvereiste van 35x op het bonusbedrag. Bij een aantal concurrenten rekent dezelfde 35x over bonus plus storting. Dat verschil staat zelden in de advertentie, maar het verdubbelt bijna wat je moet inzetten.

Waar de kleine lettertjes het verschil maken

Neem een bonus van €100 op een storting van €100. Rekent een casino 35x over alleen de bonus, dan speel je €3.500 rond. Rekent het 35x over bonus plus storting, dan wordt de basis €200 en kom je op €7.000. De vermelding «35x» is in beide gevallen technisch correct. De effectieve inzet is dat niet.

ShakeBet heeft geen bonus code zonder storting. Elke bonus uit het welkomstpakket komt dus voort uit een storting, en de inzetvereiste van 35x wordt telkens op het bonusbedrag toegepast, niet op het gestorte bedrag. Dat maakt de rekensom per bonusdeel eenvoudig na te lopen: de eerste storting geeft 100% tot €2.000 + 50 free spins, de tweede storting 50% tot €1.000 + 100 free spins, de derde storting 150% tot €4.000 + 200 free spins. De inzetvereiste gaat in alle drie de gevallen over het bonusgedeelte.

Bij concurrenten met dezelfde getallen maar een andere grondslag ligt het speelbedrag fors hoger. Een bonus van €100 bovenop €100 eigen inleg betekent daar €7.000 aan inzet, waar ShakeBet €3.500 vraagt. Over een volledig welkomstpakket loopt dat verschil op tot duizenden euro’s extra rondspelen, zonder dat de bonus zelf groter is.

De vuistregel is simpel: zoek in de bonusvoorwaarden de zin die begint met «de inzetvereiste wordt berekend over». Staat daar «het bonusbedrag», dan geldt de kale bonus als basis. Staat er «het bonusbedrag plus de storting» of «de totale bonuswaarde inclusief storting», dan betaal je in speelvolume bijna het dubbele. Lees daarnaast de regels over bijdragende spellen, maximale inzet per ronde en de termijn waarbinnen je de inzet haalt. Een lage inzetvereiste op papier verliest zijn voordeel zodra tafelspellen maar voor 10% meetellen of de deadline kort is.

Vergelijk casino’s daarom nooit op het getal 35x alleen. Reken de grondslag om naar euro’s, tel de free spins actie en de wekelijkse cashback mee waar die in echt geld wordt uitbetaald, en leg de uitkomst naast elkaar. Via https://shake-bet-casino-nl.com/promo-code/ fungeert de site als informatieve gids met partnerlinks en zet de voorwaarden per promotie op een rij, zodat je de berekening zelf kunt controleren voordat je een bonus activeert.

ShakeBet promo code en bonuscode: waar de inzetvereiste precies op ingaat

Wat de ShakeBet bonuscode activeert en waar de 35x op wordt toegepast

De ShakeBet promo code WELCOME2026 is de actieve code voor het welkomstpakket. Je vult hem in bij het registratieformulier of in het bonusvak van de stortingspagina. Zonder die stap wordt het pakket niet aan je account gekoppeld, ook al stort je hetzelfde bedrag. De code opent dus de bonusvoorwaarden; hij verandert niets aan het bedrag dat je zelf stort.

Zodra de code is geaccepteerd, geldt de inzetvereiste van 35x. Bij ShakeBet wordt die 35x berekend over het bonusbedrag, niet over bonus plus storting. Stort je €100 en ontvang je een bonus van €100, dan speel je 35 x €100 = €3.500 vrij. Bij een casino dat rekent over bonus plus storting was dat 35 x €200 = €7.000 geweest. Dat verschil van €3.500 aan speelrondes is precies waar de kleine lettertjes over gaan.

Let op de volgorde. De bonuscode invoeren gebeurt in hetzelfde scherm als de eerste storting, en pas daarna wordt het bonusbedrag aan je saldo toegevoegd. Doe je dat niet, dan staat de storting als gewoon speeltegoed op je account en is er geen bonusbedrag om over te rekenen. Er is dan ook geen inzetvereiste, maar je krijgt de free spins actie of de stortingsbonus niet.

Bij het ShakeBet welkomstpakket geldt dezelfde grondslag per bonusdeel. De eerste storting geeft 100% tot €2.000 + 50 free spins, de tweede 50% tot €1.000 + 100 free spins, de derde 150% tot €4.000 + 200 free spins. Elke keer wordt de 35x toegepast op het bonusbedrag van dat deel, niet op het totaal van je stortingen. Stort je €200 in stap één, dan is de bonus €200 en de inzet €7.000 over dat deel. De promo code 2026 hoef je doorgaans maar één keer te gebruiken; daarna activeren de vervolgstortingen via dezelfde bonusinstelling, mits je binnen de gestelde termijn stort.

Eén praktisch punt: de inzetvereiste geldt voor het bonusgeld, maar sommige spellen dragen maar gedeeltelijk bij. Slots tellen meestal 100%, tafelspellen vaak 10% of 0%. Een inzet van €3.500 op slots is dus niet hetzelfde als €3.500 op roulette. Controleer dat in de bonusvoorwaarden voordat je gaat draaien, en check of de wekelijkse cashback en sportweddenschappen buiten de bonusgrondslag vallen.

Bonus code zonder storting: een andere grondslag en dus een ander speelrisico

Een bonus code zonder storting werkt fundamenteel anders dan een stortingsbonus, en dat zie je direct terug in de berekening van de inzetvereiste. Waar een welkomstbonus een duidelijk grondslagbedrag heeft (het gestorte bedrag plus eventueel de bonus), is die grondslag bij een no-deposit-bonus per definitie nul. Het casino geeft je speeltegoed zonder dat je iets hebt ingelegd, dus de inzetvereiste kan alleen over het bonusbedrag zelf worden berekend. Klinkt logisch, maar de praktijk is weerbarstiger: veel aanbieders plakken op zo’n gratis bonus een hogere vermenigvuldiger of een afwijkende rekenmethode.

Neem een typische no-deposit-actie van €10 met een inzetvereiste van 35x. Dat betekent €350 aan inzet voordat je iets kunt opnemen. Omdat je niets hebt gestort, is er geen enkele buffer: elke inzet komt rechtstreeks uit het bonusgeld, en zodra het saldo leeg is, stopt het spel. Bij een stortingsbonus kun je je eigen inleg nog inzetten; bij een no-deposit-bonus is het bonusbedrag je enige werkkapitaal. Het effectieve speelrisico per euro bonus ligt daardoor hoger, ook al oogt 35x hetzelfde.

ShakeBet heeft geen bonus code zonder storting. Wie op zoek is naar een gratis tegoed zonder eerste storting, komt bij deze aanbieder dus niet aan zijn trekken; alle acties lopen via een storting en de bijbehorende ShakeBet bonuscode. Dat is relevant voor de vergelijking, want het betekent dat de grondslag bij ShakeBet altijd bestaat uit gestort geld, wat de berekening transparanter maakt dan bij casino’s die no-deposit-acties mengen met stortingsbonussen.

Wat no-deposit-bonussen extra lastig maakt, zijn de maximale uitbetalingslimieten. Een gratis bonus van €10 met 35x inzet kan een plafond hebben van bijvoorbeeld €50 of €100 op de winst die je mag opnemen. Je speelt dus honderden euro’s door, maar de opbrengst is begrensd. Sommige casino’s rekenen de inzetvereiste bovendien over de maximale uitbetalingslimiet in plaats van over het bonusbedrag, wat de effectieve inzet weer verandert. Lees bij elke no-deposit-actie daarom drie dingen: waarover de inzetvereiste wordt berekend, hoe hoog het uitbetalingsplafond is en of het bonusbedrag zelf ooit wordt omgezet naar echt geld. Zonder die drie gegevens is een percentage als 35x inhoudsloos.

Het ShakeBet welkomstpakket doorgerekend: effectieve inzet per bonusdeel en per promotiecode 2026

Drie stortingen, drie keer rekenen: de effectieve inzet van het ShakeBet welkomstpakket

ShakeBet biedt een welkomstpakket tot €7.000 + 350 free spins, en dat bedrag komt niet uit één bonus maar uit drie stortingsbonussen. Het welkomstpakket bestaat uit drie stortingsbonussen, elk met een eigen percentage en maximum. De eerste storting geeft 100% tot €2.000 + 50 free spins, de tweede storting geeft 50% tot €1.000 + 100 free spins en de derde storting geeft 150% tot €4.000 + 200 free spins. De actieve promo code 2026 is WELCOME2026; die voer je in bij het registratieformulier of in het stortingsscherm, afhankelijk van waar je de bonus activeert.

De bonusvoorwaarden vereisen een inzetvereiste van 35x. Bij ShakeBet geldt die 35x op het bonusbedrag, niet op bonus plus storting. Dat maakt de doorrekening overzichtelijk, maar je moet per deel wel het juiste bonusbedrag pakken, want het maximum verschilt per storting.

Bonusdeel Storting Bonus (max) Inzet 35x op bonus
Eerste storting €2.000 €2.000 + 50 free spins €70.000
Tweede storting €2.000 €1.000 + 100 free spins €35.000
Derde storting €2.667 €4.000 + 200 free spins €140.000

Stort je steeds het bedrag dat nodig is om het bonusmaximum te raken, dan kom je op een totale effectieve inzet van €245.000. Dat is het bedrag dat je moet rondspelen voordat winsten uit de bonus vrij komen voor echt geld uitbetaling. Reken je met kleinere stortingen, dan schaalt de inzet mee: een storting van €100 levert bij de eerste storting €100 bonus op en dus €3.500 inzet, niet €7.000 zoals bij een grondslag van bonus plus storting.

De free spins actie heeft eigen regels. Winsten uit de 350 spins worden doorgaans als bonusgeld geboekt en vallen onder dezelfde 35x inzetvereiste, maar het bedrag dat je daadwerkelijk moet rondspelen hangt af van wat de spins opleveren, niet van een vast bedrag. De wekelijkse cashback staat hier los van: die wordt uitbetaald in echt geld en kent geen inzetvereiste, waardoor hij als het ware gratis rendement toevoegt naast het welkomstpakket.

De promo code 2026 verandert de grondslag niet. WELCOME2026 activeert het pakket en de bijbehorende voorwaarden; de 35x blijft op het bonusbedrag van toepassing. Wat de code wel bepaalt, is welk bonusdeel je precies ontvangt en of je in aanmerking komt voor de reload bonus of andere casino promoties. Controleer bij elke storting of de code opnieuw moet worden ingevoerd voordat je opnieuw stort. Wie het volledige pakket wil benutten, doet er goed aan per storting het bonusmaximum te berekenen en de inzet per deel apart te plannen. Een overzicht van de actuele voorwaarden en de werking van de code vind je via shake-bet-casino-nl.com, dat fungeert als informatieve gids met partnerlinks.

Checklist voor het vergelijken van inzetvereisten: waar je in de voorwaarden op moet letten

Een bonus vergelijken op alleen het percentage en het maximumbedrag zegt weinig. De echte kosten van een promotie zitten in vijf of zes regels diep in de bonusvoorwaarden. Wie de ShakeBet promo code of een promotie bij een concurrent naast elkaar legt, moet daarom altijd dezelfde set vragen langslopen voordat er een oordeel valt over welke aanbieding gunstiger is.

Begin bij de grondslag van de inzetvereiste. Staat er «35x het bonusbedrag» of «35x bonus plus storting»? Dat verschil bepaalt of je bij een storting van €100 met €100 bonus 3.500 euro moet rondspelen, of 7.000 euro. Controleer daarnaast of de inzetvereiste per bonusdeel geldt of over het hele pakket, want bij het ShakeBet welkomstpakket met drie stortingsbonussen kan een gemiste tweede storting de voorwaarden van het eerste deel alsnog beinvloeden.

Kijk vervolgens naar de bijdragende spellen. Gokkasten tellen doorgaans 100 procent mee, tafelspellen vaak 10 procent of helemaal niet, en live casino soms 0 procent. Een ogenschijnlijk lage inzetvereiste van 35x kan zo in de praktijk oplopen tot 350x als je vooral blackjack speelt. Noteer ook de maximale inzet per draai of per ronde: bij sommige casino’s mag je tijdens het vrijspelen niet boven €5 inzetten, en een overtreding kan de bonus en winst laten vervallen.

Let op de termijn. Dertig dagen klinkt ruim, maar bij een pakket van €7.000 bonus plus 350 free spins is dat een strak schema. Reken uit hoeveel je per week minimaal moet rondspelen om binnen de termijn te blijven, en check of free spins een eigen geldigheidsduur hebben van bijvoorbeeld zeven of tien dagen. Lees daarna de kleine regels over het maximale uitbetalingsbedrag, zeker bij een bonus code zonder storting, waar limieten van €50 tot €100 gebruikelijk zijn.

Voorwaarde Wat je zoekt Risico bij onduidelijkheid
Grondslag inzetvereiste Bonus alleen of bonus plus storting Effectieve inzet verdubbelt zonder dat je het merkt
Bijdragende spellen Percentage per spelcategorie 35x wordt in de praktijk 100x of meer
Geldigheidsduur Dagen voor bonus en free spins apart Restbonus en winst vervallen
Maximale inzet Bedrag per draai tijdens vrijspelen Bonus wordt geannuleerd bij overschrijding
Maximale uitbetaling Plafond bij no-deposit en free spins Grote winst wordt afgekapt

Vergelijk tot slot de uitbetaling zelf. De wekelijkse cashback wordt bij ShakeBet in echt geld uitbetaald, zonder inzetvereiste, en dat is een ander voordeel dan een reload bonus die opnieuw 35x moet worden rondgespeeld. Een bonuscode invoeren is een handeling van seconden; het lezen van de voorwaarden kost een kwartier. Dat kwartier is het verschil tussen een promotie die je iets oplevert en een die je alleen tijd kost. Gebruik een spreadsheet of notitieblok, zet de vijf punten hierboven per casino naast elkaar en beoordeel pas daarna welke promo code 2026 daadwerkelijk het beste bij je speelgedrag past.

Praktisch gezien: pak de bonusvoorwaarden erbij voordat je ook maar iets stort. Noteer per casino vier dingen: waarover de inzetvereiste wordt berekend (alleen het bonusbedrag of bonus plus storting), welk percentage van je inzet aan de ronde meetelt per spelcategorie, hoeveel dagen je hebt om de ronde af te maken en wat het maximale bedrag per inzet is. Zet die vier naast elkaar in een spreadsheetje en reken met je eigen stortingsbedrag de effectieve inzet uit. Bij een bonus van €100 met 35x op alleen de bonus speel je €3.500 rond; rekent een casino over bonus plus storting, dan kan datzelfde tientje aan bonus zo oplopen tot €7.000 of meer speelvolume. Dat verschil bepaalt of een promotie haalbaar is of vooral een mooie regel tekst op de landingspagina.

Wil je het ShakeBet welkomstpakket zelf doorrekenen, doorloop dan deze volgorde. Controleer eerst of de actieve promo code 2026 nog geldig is en welke code je in het registratieformulier invult; zonder geldige code geen bonus en dus geen inzetvereiste om te halen. Stort daarna pas de eerste storting, want de klok op de 35x inzetvereiste begint te lopen zodra de bonus op je account staat. Speel de ronde uit op slots met een hoge bijdrage, houd je aan de maximale inzet per spin en sla de free spins actie pas aan als je de bijbehorende inzetvoorwaarden hebt gelezen. De wekelijkse cashback en eventuele reload bonus vallen onder eigen voorwaarden, dus behandel die als aparte promoties en niet als verlenging van je welkomstpakket.

Voor een eerlijke vergelijking tussen aanbieders gebruik je shake-bet-casino-nl.com als startpunt: de gids bundelt de bonusvoorwaarden per casino en verwijst via partnerlinks door naar de actuele acties. Lees daar de kleine lettertjes van minstens twee concurrenten naast elkaar en kijk specifiek naar de grondslag van de inzetvereiste, de maximale uitbetaling bij een bonus code zonder storting en de termijn waarbinnen je moet rondspelen. Zo zie je binnen een kwartier welke promo code 2026 daadwerkelijk bij je speelgedrag past, en welke alleen op papier aantrekkelijk is.

Scroll al inicio