⚠️ Important Notice: We are transitioning from
<bw-widget>to<nw-blocks>tags. While<bw-widget>is still supported for backward compatibility, all new implementations should use<nw-blocks>. Please update your existing widgets when possible.
The Brand Bonus Table 2 Widget displays a dynamically generated table of brands based on geo-targeting criteria. Unlike Brand Bonus Table (v1) which requires a specific bonustableID, this version automatically fetches and displays brands based on product, country, language, and selling point type.
Key Features:
maxrows| Attribute | Type | Default | Description |
|---|---|---|---|
id |
string | required | Component identifier (brandbonustable2) |
sellingpointtype |
string | "general" |
Type of selling point (“general”, “welcome”, etc.) |
product |
string | "CA" |
Product type (“CA” for Casino, “SB” for Sports Betting) |
country |
string | "ZZ" |
Country code (e.g., “FR”, “US”, “UK”, “ZZ” for generic) |
language |
string | "en" |
Language code (e.g., “fr”, “en”, “es”, “de”) |
maxrows |
number | 9999 |
Maximum number of brands to display |
column1title |
string | undefined |
Header text for the brand names column |
column2title |
string | undefined |
Header text for the bonus amounts column |
headercolor |
string | "#F4F4F4" |
Background color for the table header row |
target |
string | "_blank" |
Link target attribute for brand links |
rel |
string | "nofollow" |
Link rel attribute for brand links |
trackinglinktarget |
string | "" |
Additional tracking target parameter |
| Feature | Brand Bonus Table (v1) | Brand Bonus Table 2 |
|---|---|---|
| Data Source | Requires bonustableID |
Geo-targeted auto-selection |
| Configuration | Sanity CMS table config | Dynamic based on attributes |
| Columns | 2 or 3 columns | 2 columns only |
| Flexibility | Predefined brand list | Automatic brand selection |
| Use Case | Custom, curated lists | Dynamic, location-based lists |
| Max Rows | Defined in Sanity | Controlled via maxrows attribute |
Use Brand Bonus Table (v1) when:
Use Brand Bonus Table 2 when:
| Column 1: Brand Names | Column 2: Bonus Amounts |
|---|---|
| Brand Name (linked) | Bonus text with amount |
/go/ affiliate linksbonusText → additionalBonusText → bonus → “-”The widget automatically selects brands based on:
CA: Casino brandsSB: Sports betting brandsZZ shows generic/international brandsgeneral: Standard promotionswelcome: Welcome bonusesstatus: "active"Control the number of displayed brands with the maxrows attribute:
<!-- Show top 3 brands -->
maxrows="3"
<!-- Show top 10 brands -->
maxrows="10"
<!-- Show all available brands (default) -->
maxrows="9999"
<!-- or omit the attribute -->
Top Lists: Show top 3-5 brands
maxrows="3"
Comparison Pages: Show 8-12 brands
maxrows="10"
Comprehensive Lists: Show all brands
maxrows="9999"
/{reviewPageUrl}
/go/{trackingLink}
The widget automatically detects link types and applies appropriate styling and indicators.
Customize the header background to match your design:
headercolor="#05842A" <!-- Green (Casino theme) -->
headercolor="#1E90FF" <!-- Blue (Sports theme) -->
headercolor="#FF6B35" <!-- Orange (Custom) -->
headercolor="#333333" <!-- Dark gray -->
headercolor="#05842A" <!-- Hex -->
headercolor="rgb(5, 132, 42)" <!-- RGB -->
headercolor="rgba(5, 132, 42, 0.9)" <!-- RGBA -->
headercolor="darkgreen" <!-- Named color -->
All examples above use the new <nw-blocks> tag. If you need to use the legacy <bw-widget> tag for backward compatibility, simply replace <nw-blocks> with <bw-widget> in any example:
<!-- New way (recommended) -->
<nw-blocks id="brandbonustable2" product="CA" country="US" maxrows="5" >
</nw-blocks>
<!-- Old way (still supported) -->
<bw-widget id="brandbonustable2" product="CA" country="US" maxrows="5" >
</bw-widget>
Both tags work identically and support all the same attributes and functionality.
<nw-blocks id="brandbonustable2"
sellingpointtype="general"
product="CA"
country="US"
language="en"
maxrows="5"
column1title="Top Online Casinos"
column2title="Welcome Bonus"
headercolor="#05842A" >
</nw-blocks>
<nw-blocks id="brandbonustable2"
sellingpointtype="general"
product="SB"
country="UK"
language="en"
maxrows="8"
column1title="Bookmaker"
column2title="Sign-Up Offer"
headercolor="#1E90FF" >
</nw-blocks>
<nw-blocks id="brandbonustable2"
sellingpointtype="general"
product="CA"
country="FR"
language="fr"
maxrows="10"
column1title="Casino en ligne"
column2title="Bonus"
headercolor="#05842A" >
</nw-blocks>
<nw-blocks id="brandbonustable2"
sellingpointtype="general"
product="CA"
country="ZZ"
language="en"
maxrows="15"
column1title="Casino"
column2title="Bonus Offer"
headercolor="#333333" >
</nw-blocks>
<nw-blocks id="brandbonustable2"
sellingpointtype="welcome"
product="CA"
country="CA"
language="en"
column1title="Online Casino"
column2title="Welcome Package"
headercolor="#FF6B35" >
</nw-blocks>
Choose appropriate limits based on page purpose:
Always provide clear, keyword-rich column headers:
column1title="Top-Rated Online Casinos"
column2title="Welcome Bonus Amount"
Match header colors to your site’s theme.
Ensure country and language match:
country="FR" language="fr" <!-- Correct -->
country="FR" language="en" <!-- Inconsistent -->
Always specify the correct product type for accurate brand selection.
Use appropriate selling point types:
general: Most common use casewelcome: Welcome bonus focusedTest the table on mobile devices to ensure usability.
maxrows reasonable (typically under 20)If the widget itself is inactive:
This widget is currently inactive or not allowed in this country.
If no active brands match the criteria, the table will be empty with just headers.
When bonus data is unavailable for a brand:
-
Brands without review URLs appear as plain text (not linked).
.tb-container: Main container wrapperheadercolor)maxrows isn’t set to 0product attribute is correct (“CA” or “SB”)country code is accuratesellingpointtype matches your intended filterreviewPageUrl configuredtarget and rel attributes are correct