Migration Notice: We are transitioning from <bw-widget> to <nw-blocks> tags. While both are currently supported for backward compatibility, <nw-blocks> is now the recommended tag for all new implementations. Existing <bw-widget> implementations will continue to function.
The Hero widget is a specialized single-row toplist designed for prominent placement at the top of pages. It displays one featured casino or betting brand with comprehensive information including logo, rating, bonus details, selling points, and a call-to-action button. Perfect for hero sections, landing pages, and featured brand showcases.
Key Features:
| Attribute | Type | Required | Default | Description |
|---|---|---|---|---|
id |
string | Yes | - | Must be “hero” |
cloaked-link |
string | Yes | - | Brand identifier/cloaked link |
language |
string | No | “en” | ISO 639-1 language code |
currency |
string | No | “EUR” | ISO 4217 currency code (EUR, USD, GBP, etc.) |
country |
string | No | “fr” | ISO 3166-1 country code (supports state: US-CA) |
country-state |
string | No | - | State/province code (auto-parsed from country) |
rating |
number | No | 4.5 | Star rating (0-5) |
max-rows |
number | No | 1 | Always set to 1 for hero widget |
heading-text |
string | No | "" | Custom heading text |
heading-level |
string | No | “h2” | Heading level (h1, h2, h3, h4, h5, h6, p) |
heading-alignment |
string | No | “Center” | Heading alignment (Left, Center, Right) |
show-sub-heading |
boolean | No | true | Show/hide heading and intro text |
intro-text |
string | No | "" | Introduction text below heading |
intro-text-alignment |
string | No | “Center” | Intro text alignment (Left, Center, Right) |
cta-text |
string | No | "" | Custom CTA button text (uses i18n if empty) |
cta-key |
string | No | “wgt-cta-claim-bonus” | Translation key for CTA text |
cta-colors |
string/array | No | “#05842A” | CTA button background color(s) |
cta-hover-colors |
string/array | No | “#096725” | CTA button hover color(s) |
min-width |
string | No | - | Minimum button width (e.g., “200px”) |
tracking-target |
string | No | "" | Tracking parameter for analytics |
tracking-data |
string | No | "" | Additional tracking data |
referer |
string | No | - | Referrer tracking parameter |
bonus-type |
string | No | “tb” | Bonus type filter |
eager-count |
number | No | 0 | Number of images to load eagerly |
configuration |
JSON | No | {} | Advanced configuration object |
The configuration attribute accepts a JSON object with advanced settings:
{
"component": {
"images": {
"base_url": "/logo250"
},
"href": {
"rel": "nofollow",
"target": "_blank",
"cta": "homepage"
},
"theme": {
"containerWidth": "1000",
"cta": {
"colors": ["#05842A", "#096725"]
}
}
}
}
| Property | Type | Default | Description |
|---|---|---|---|
base_url |
string | “/logo250” | Base URL path for brand logos |
| Property | Type | Default | Description |
|---|---|---|---|
rel |
string | “nofollow” | Link rel attribute |
target |
string | “_blank” | Link target attribute |
cta |
string | “homepage” | CTA tracking parameter |
| Property | Type | Default | Description |
|---|---|---|---|
containerWidth |
string | “1000” | Container width in pixels (affects responsive breakpoints) |
cta.colors |
array | ["#05842A", “#096725”] | CTA button gradient colors [start, end] |
Logo:
Brand Name:
Star Rating:
Bonus Display:
Bonus Controls:
hideBonusRibbon: Hide “Bonus” headinghideBonusText: Hide bonus amountsFeatures:
Common Selling Points:
Features:
URL Structure:
/go/{cloaked-link}/{tracking-target}?cta={cta}&wid={widget-id}&trackingData={data}&referer={referer}
Displays:
Use appropriate heading levels for SEO structure:
<!-- H1 for main page heading -->
<nw-blocks id="hero" heading-level="h1" heading-text="Best Online Casinos 2025"\>
</nw-blocks>
<!-- H2 for section headings -->
<nw-blocks id="hero" heading-level="h2" heading-text="Featured Casino"\>
</nw-blocks>
<!-- H3 for sub-sections -->
<nw-blocks id="hero" heading-level="h3" heading-text="Top Welcome Bonus"\>
</nw-blocks>
Control visual alignment:
<!-- Left aligned -->
<nw-blocks id="hero" heading-alignment="Left"\>
</nw-blocks>
<!-- Center aligned (default) -->
<nw-blocks id="hero" heading-alignment="Center"\>
</nw-blocks>
<!-- Right aligned -->
<nw-blocks id="hero" heading-alignment="Right"\>
</nw-blocks>
Add descriptive text below heading:
<nw-blocks
id="hero"
heading-text="Welcome to Premium Casino"
intro-text="Get up to $1000 bonus + 100 free spins on your first deposit"
intro-text-alignment="center"\>
</nw-blocks>
<nw-blocks
id="hero"
cloaked-link="featured-casino"
language="en"
currency="usd"
rating="4.9"
heading-text="#1 Rated Casino 2025"
heading-level="h1"
heading-alignment="center"
intro-text="Join 1 million+ players winning big every day"
cta-text="Start Playing Now"
cta-colors="#FF6B00"
cta-hover-colors="#E65100"
tracking-target="landing-hero"
eager-count="1"
configuration='{"component":{"images":{"base_url":"/logo250"},"href":{"rel":"nofollow","target":"_blank","cta":"homepage"}}}'\>
</nw-blocks>
<nw-blocks
id="hero"
cloaked-link="fresh-casino"
language="en"
currency="gbp"
rating="4.7"
heading-text="888 Casino Review"
heading-level="h2"
heading-alignment="left"
intro-text="Established in 1997 • Licensed by UKGC • 2000+ Games"
cta-text="Visit Casino"
tracking-target="review-hero"
configuration='{"component":{"images":{"base_url":"/logo250"},"href":{"rel":"nofollow","target":"_blank","cta":"review"}}}'\>
</nw-blocks>
<!-- French version -->
<nw-blocks
id="hero"
cloaked-link="cresus-casino"
language="fr"
currency="eur"
rating="4.6"
heading-text="Meilleur Casino en Ligne"
intro-text="Bonus de bienvenue jusqu'à 500€"\>
</nw-blocks>
<!-- German version -->
<nw-blocks
id="hero"
cloaked-link="betsson-casino"
language="de"
currency="eur"
rating="4.8"
heading-text="Bestes Online Casino"
intro-text="Willkommensbonus bis zu 500€" \>
</nw-blocks>
<nw-blocks
id="hero"
cloaked-link="draftkings-casino"
language="en"
currency="usd"
country="US"
rating="4.5"
heading-text="Top NJ Online Casino"
intro-text="Licensed by New Jersey Division of Gaming Enforcement"
tracking-target="nj-hero" \>
</nw-blocks>
<nw-blocks
id="hero"
cloaked-link="leovegas-casino"
language="en"
currency="eur"
rating="4.7"
show-sub-heading="false"
configuration='{"component":{"images":{"base_url":"/logo250"},"href":{"rel":"nofollow","target":"_blank","cta":"homepage"}}}' \>
</nw-blocks>
<nw-blocks
id="hero"
cloaked-link="betmgm-casino"
language="en"
currency="usd"
rating="4.6"
heading-text="Exclusive Offer"
cta-text="Get $25 Free Play"
cta-colors='["#FFD700", "#FFA500"]'
cta-hover-colors='["#FFA500", "#FF8C00"]'
min-width="250px" \>
</nw-blocks>
heading-level="h1" only once per page on main heroheading-level="h2" for section-level heroesmin-width for button consistencyeager-count="1" to load hero logo immediately<nw-blocks
id="hero"
cloaked-link="casino-brand"
configuration='{
"component": {
"images": {"base_url": "/logo250"},
"href": {"rel": "nofollow", "target": "_blank", "cta": "homepage"},
"theme": {
"containerWidth": "1200",
"cta": {
"colors": ["#1E88E5", "#1565C0"]
}
}
}
}' \>
</nw-blocks>
<!-- Gradient from green to dark green -->
<nw-blocks
id="hero"
cta-colors='["#4CAF50", "#2E7D32"]'
cta-hover-colors='["#2E7D32", "#1B5E20"]' \>
</nw-blocks>
<!-- Gold gradient -->
<nw-blocks
id="hero"
cta-colors='["#FFD700", "#FFA500"]'
cta-hover-colors='["#FFA500", "#FF8C00"]' \>
</nw-blocks>
<!-- Load hero logo immediately (no lazy loading) -->
<nw-blocks
id="hero"
cloaked-link="..."
eager-count="1" \>
</nw-blocks>
<!-- Show only table bonuses -->
<nw-blocks id="hero" bonus-type="tb" \>
</nw-blocks>
<!-- Show welcome bonuses -->
<nw-blocks id="hero" bonus-type="wb" \>
</nw-blocks>
Hero widget fetches single brand data:
{
brand: {
cloakedLink: "greatwin-casino",
brandName: "GreatWin Casino",
imgUrl: "/brands/greatwin-logo.png",
rating: 4.5,
bonus: "$1000",
extraFreespins: "100 FS",
minimumAge: "18+",
reviewPageUrl: { url: "greatwin-casino-review" },
complianceDisclaimer: {
disclaimer: "18+. T&Cs apply. Play responsibly."
},
introTextValues: [
"Fast Withdrawals",
"24/7 Support",
"Licensed by MGA"
],
hasTrackingLink: true,
isActive: true
}
}
Required Fields:
cloakedLink: Brand identifierbrandName: Casino nameimgUrl: Logo pathtrackingLink: Cloaked link for CTAOptional Fields:
rating: Star rating (0-5)bonus: Welcome bonus textextraFreespins: Additional free spinsminimumAge: Age requirementreviewPageUrl: Link to review pagecomplianceDisclaimer: Legal disclaimerintroTextValues: Selling points arrayhasTrackingLink: Show T&C linkBrand data is cached:
BRAND_HERO:{cloakedLink}:{country}:{language}If brand is inactive:
<p id="inactive-brand" style="display: none;">
The brand with name {brandName} is currently inactive or not allowed in this country! (loaded with Hero widget..)
</p>
Handling:
Brand Not Found:
Missing Selling Points:
No Bonus Data:
All examples above use the new <nw-blocks> tag. For backward compatibility, you can still use <bw-widget>:
<!-- Old syntax (still supported) -->
<bw-widget
id="hero"
cloaked-link="greatwin-casino"
language="en"
currency="eur"
max-rows="1"
rating="3.5"
configuration='{"component":{"images":{"base_url":"/logo250"},"href":{"rel":"nofollow","target":"_blank","cta":"homepage"}}}'
heading-text="Hero Test Heading"
heading-level="1"
heading-alignment="center"
show-sub-heading="true" \>
</bw-widget>
<!-- New syntax (recommended) -->
<nw-blocks
id="hero"
cloaked-link="greatwin-casino"
language="en"
currency="eur"
max-rows="1"
rating="3.5"
configuration='{"component":{"images":{"base_url":"/logo250"},"href":{"rel":"nofollow","target":"_blank","cta":"homepage"}}}'
heading-text="Hero Test Heading"
heading-level="1"
heading-alignment="center"
show-sub-heading="true" \>
</nw-blocks>
Both tags work identically, but <nw-blocks> is recommended for all new implementations.