The Operator Wizard is a multi-step quiz that guides users through a series of questions and recommends operators based on their answers. It is configured via a dedicated OperatorWizard Prismic document, which is linked from an OperatorWizard slice on a page.
OperatorWizard document.OperatorWizard slice.OperatorWizard document you createdEach question has a range of options for the user to choose. If an option matches with an operator, the operator will receive points. At the end the 3 operators with the highest score will be displayed for the user. Some options might alter what data is displayed with the operator.
Each question in the wizard is an OperatorWizardQuestion slice with one of these variations:
Matches operators based on year founded. E.g. Year condition - “2” condition operator - “newer_than_number” If the current year is 2026, operators founded from 2024 or later would receive points
Works the same way as year founded, but on the property “date_launched”.
If an offer is set on the Wizard Document, it will make use of date_launched from override data
A straight forward slice. An operator will receive points if they have the payment method the user has selected. If multi_select is possible, the operator will receive more points the more methods it matches
Matches the value to the lowest min_deposit on any of an operators payment methods. If condition operator is matches exactly, and the value is 1. The operators minimum deposit must be of 1. If the condition is value_or_less, it would also match 0 etc. Note the numbers are in local currency.
Matches the operators withdrawalTimeTests withdrawal speed
Works the same way as payment methods. Matches gameCategories set on an operator to the ones the user has selected.
Here you can write whichever title you want, and optionally include an image.
We include presets for matching conditions. For example has_sportsbook, which will award points to operators with sportsbook.
You can also include an operatorList, which combined with selecting match condition to custom_list will award all operators in that list points.
Some of these presets might alter the data shown in the result list. For example if has_sports_book is chosen by an user, if there is enough space, that data point will be shown in the list.
If an operator has an offer, with a matching offer type set, they will receive points.
The User Info Form variation collects contact details from the user. Which fields are shown is configurable via boolean toggles:
Any combination of these can be enabled. There should optimally only be one User Info Form per wizard.
This slice is in prototype and doesnt work for scoring operators as of right now.
It will add the slider value to the url, only useful for result display type: confirmation
This slice compares a series of values to a chosen operator data value.
You first choose the operator data point to compare, for example `betting margin“ Then you chose your options. For example: value 5 and condition operator: value_or_less If the user chooses this option, only operators that has a betting margin numeric value of 5 or less will receive score.
Note that not all operator data points are natively a numeric value. Sometimes the text value needs to be converted to a number. It will always correctly handle simple stuff like 5.4%, but could potentially fail on more complex texts, such as “From 6 - 7%“
When a user completes the wizard, their contact info and result URL are saved to the database. Submissions can be viewed at /admin/extras/wizard-users. This is only saved when User info form is added, and when email is enabled
Each submission records:
CF-Connecting-IP header)Returning users matched by email, have their new submissions appended to their existing record.
When a user successfully submits the User Info Form, a Google Tag Manager event named wizard_submission_with_user_data is pushed to the dataLayer. The event only fires on a successful submission, so it can be used as a conversion trigger in GTM.
Configured on the operator_wizard document via the result_display_type field: