// Velo code (Wix Studio) // IDs used below: // Desktop button: #ctaDesktop // Mobile button: #ctaMobile // Username labels: #usernameText (desktop), #usernameTextm (mobile) // Feel free to rename; just keep them consistent here. import wixLocation from 'wix-location'; import wixWindow from 'wix-window'; $w.onReady(function () { const q = wixLocation.query || {}; // Normalize query values (support both r and R, and username aliases if you ever change) const ref = (q.r || q.R || '').toString().trim(); const username = (q.username || q.user || '').toString().trim(); console.log("r = " + ref); console.log("username = " + username); // --- Utilities ------------------------------------------------------------- // Safe element getter (won't throw if element ID not on the page) const maybe = (id) => { try { return $w(id); } catch (e) { return null; } }; // Merge params into a base URL (keeps existing query if present) const buildUrl = (base, params = {}) => { // Handle relative bases (rare here, but safe) const u = base.startsWith('http') ? new URL(base) : new URL(base, 'https://dummy.local'); Object.entries(params).forEach(([k, v]) => { if (v !== undefined && v !== null && v !== '') u.searchParams.set(k, v); }); const out = u.toString(); // Strip dummy origin if we used one return base.startsWith('http') ? out : out.replace('https://dummy.local', ''); }; // Collect & pass through any optional trackers you care about const collectOptional = (keys) => { const obj = {}; keys.forEach((k) => { if (q[k]) obj[k] = q[k]; }); return obj; }; // --- Visual username fill (optional) -------------------------------------- // If you show the username on page, populate either/both text elements if present const usernameTargets = ['#usernameText', '#usernameTextm'] .map(maybe) .filter(Boolean); usernameTargets.forEach(el => { if (username) el.text = username; }); // --- DESTINATIONS ---------------------------------------------------------- // Change these two bases only: const WEB_SIGNUP_BASE = 'https://app.ownersbox.com/wfs/signup'; // desktop web signup page const ONELINK_BASE = 'https://ownersbox.onelink.me/1fLb/rirl6tr4'; // replace XXXX/landing with your real OneLink path // (A) DESKTOP BUTTON: add ?r= to the web signup URL const desktopBtn = maybe('#ctaDesktop'); if (desktopBtn) { const desktopParams = ref ? { r: ref } : {}; // If you also want to propagate other trackers on web: Object.assign(desktopParams, collectOptional(['btag','mbsy','utm_source','utm_medium','utm_campaign'])); const desktopUrl = buildUrl(WEB_SIGNUP_BASE, desktopParams); // Either set the .link or force navigation on click; using .link lets it behave like a normal anchor. desktopBtn.link = desktopUrl; // Optional: ensure most up-to-date link at click time (helpful if you later add dynamic changes) desktopBtn.onClick(() => wixLocation.to(desktopBtn.link)); } // (B) MOBILE BUTTON via AppsFlyer OneLink: // Goal: maintain attribution through install and still deliver `r` into the app and web fallback. // Best practice: // - Put `r` as a regular param AND in af_sub1 (passthrough). // - Put `r` inside your deep link (af_dp) so the app gets it on open. // - Provide af_ios_url / af_android_url fallbacks WITH ?r for users who don’t have the app. // - Keep your deep_link_value consistent with the app routing (“signup” here). const mobileBtn = maybe('#ctaMobile'); if (mobileBtn) { const baseWebWithRef = buildUrl(WEB_SIGNUP_BASE, ref ? { r: ref } : {}); const mobileParams = { // Custom + passthrough values: ...(ref ? { r: ref, af_sub1: ref } : {}), // App deep link (your app must route this; example scheme below) ...(ref ? { af_dp: `ownersbox://signup?r=ref` } : {}), // Deep link routing hint (depends on your app’s logic) deep_link_value: 'signup', // Attribution & fallback safety: af_ios_url: baseWebWithRef, af_android_url: baseWebWithRef, // Optional settings you might already use: // af_xp: 'custom', // pid, c, af_channel, af_ad, etc. can live in your OneLink template, or pass them from q if present. ...collectOptional(['pid','c','af_channel','af_ad','btag','mbsy','utm_source','utm_medium','utm_campaign']) }; const oneLinkUrl = buildUrl(ONELINK_BASE, mobileParams); // As above, set .link and also navigate on click for freshness mobileBtn.link = oneLinkUrl; mobileBtn.onClick(() => wixLocation.to(mobileBtn.link)); } // Optional: Choose which button to show based on form factor. // If you keep both on the page, you can auto-hide the "other" one: const isMobile = wixWindow.formFactor === 'Mobile'; if (desktopBtn) desktopBtn.hidden = isMobile; if (mobileBtn) mobileBtn.hidden = !isMobile; }); Daily Fantasy Sports | OwnersBox
top of page
2024 NFL BG.png
NFL W1 2024.png

FOR THE LOVE 

OF THE GAME

Compete. Win. Play Daily Fantasy Sports.

GET THE APP

qr-code
FIRST TIME DEPOSITS GET UP TO $500 IN BONUS REWARDS
WhiteLogo.png

NFL WEEK ONE   CONTESTS ARE LIVE!

For a limited time only, the first 1,000 entrants into the '$250K NFL Kickoff Special ($50K to 1st)' will receive a FREE $5 ticket to another NFL Salary Cap contest of their choosing!

Terms & conditions apply.  If you or someone you know has a gambling problem, help is available. Call (1-800-GAMBLER).

250K Trophy.png
OB_LEFT_FACING_PHONE 2.png

OUR GAMES

PP.jpg
OB_PLAYER-PICKS_LOGO_1.01.png

PLAYER
PICKS

Pick "More" or "Less" on your favorite players, and benefit from our industry-leading payouts.

SC.jpg
OB_SALARY-CAP_LOGO_1.00.png

SALARY
CAP

Build your dream fantasy team and compete against other sports fans for exciting cash prizes.

LL.jpg
OB_LL_LOGO_1.00.png

LIGHTNING
LINEUPS

Spin, pick your lineup, and win up to 6x your entry. It's the most electric way to play DFS.

MORE THAN ONE WAY TO PLAY

WhiteLogo.png

EARN MORE BY PLAYING MORE.

Our lucrative OwnersBucks loyalty program rewards you for being a dedicated player. In love, war and DFS, fortune favors the bold.

Trophy
OwnersBucks Deposit
OwnersBucks
NFL PANEL.png
OB_Football.png
FANTASY
FOOTBALL

Season Starts September

• Player Picks

• Salary Cap

• Lightning Lineups

MLB PANEL.png
OB_Baseball.png
FANTASY
BASEBALL

🟢 Active Contests

• Player Picks

• Salary Cap

• Lightning Lineups

NHL PANEL.png
OB_Puck.png
FANTASY
HOCKEY

🟢 Active Contests

• Player Picks

• Salary Cap

• Lightning Lineups

NBA PANEL.png
OB_Basketball.png
FANTASY
BASKETBALL

🟢 Active Contests

• Player Picks

• Salary Cap

• Lightning Lineups

Where Can I Play?

PLAY OWNERSBOX IN 36 STATES, DC + ALL OF CANADA

If your state is highlighted below, you're good to go!

FULL_MAP_09_23_24 (1).png
States Map Legend

WHY OWNERSBOX?

Quick Payouts
30 Minute Payouts

Finish in the money and receive your winnings within 30 minutes of the contest finish!

Support.png
Live Support

Our friendly customer support team is available via live chat and email when you need them.

Money.png
Quick Withdrawals

Seamlessly withdraw your winnings via check, Visa or Mastercard debit card!

Join The Community

ENGAGE WITH US

We offer exclusive promotions, along with other community-involved events, exclusively on Discord. Come & join 1000+ members and chat with us today!

Android Offer
DFS Game on Laptop
DFS Game on Cell Phone

GET IN ON THE ACTION 

DOWNLOAD OUR APP TODAY!

OwnersBox Logo
OWNERSBOX FANTASY SPORTS
Black Star
Apple App Store Button
Android Store Button
OwnersBox UI Phones
bottom of page