LaLiga has partnered with Bahrain-based sports, media and entertainment company Strive Sports & Entertainment to launch a joint venture in the Middle East and North Africa (MENA) and South Asia
LaLiga has a 20-strong team working across the MENA and South Asia region, including in countries such as Saudi Arabia, Egypt, Morocco and India. Over time, the league has accumulated more than 40 regional partners, five soccer academies and a strategic consultancy agreement in Iraq.
The Spanish top flight estimates it has a cumulative audience of over 500 million in the region, as well as more than 55 million followers across its regional social media channels.
The formation of the joint venture follows LaLiga agreeing a new five-year broadcast deal with South Asian streaming platform Begin covering Pakistan, Bangladesh and Sri Lanka. FanCode shows the league in India, while BeIN Sports holds LaLiga’s rights across the MENA region.
“In such a strategically important market for LaLiga as MENA and South Asia, this agreement with Strive will allow us to grow at a faster pace and unlock new markets and opportunities, working hand in hand with a partner that brings strong professionalism, reputation, and influence across the region,” said Javier Tebas, LaLiga president.
“We are pleased to embark on this new joint venture which unlocks the full potential of LaLiga as a global brand, and expanding regional reach,” added Abdulla Al Zain, chairman of Strive. “This partnership represents an important step in advancing Strive’s regional and global portfolio, and we look forward to the opportunities it will create.”
Combining richer content, in-depth data and exclusive community benefits, SportsPro+ is your VIP pass into the global sports industry . Discover more here .
Already a member? Log in here \r\n\r\n \r\n \r\n This content is only available for SportsPro+ paying members. \r\n Enjoy unrestricted access to the ultimate sports business hub today.\u00a0 \r\n Find out more \r\n\r\n \r\n \r\n This content is only available for SportsPro+ Essential members. \r\n You can upgrade your access here \r\n Find out more \r\n\r\n "},"wk_auth_migrated_users":false,"wk_content_key_prefix":"","wk_auth_allow_empty_pass":false,"wk_auth_migrated_users_text":" We have upgraded our membership system \r\nPlease check your mailbox for a secure link to sign in and set up a new password. \r\nIf you have any questions or need help, please email info@wallkit.com ","skip_lorem":false,"parse_scripts":true,"inline_modals_selector":"#wk-inline-popup-modal","wk_modal_after_sign_in":"account-settings","wk_my_account_page_url":null}}; let wkTranslations = window["wallkitTranslations"] || {"sign_in":"Sign in","my_account":"My Account"}; !function (t, e, c, n) { var s = e.createElement(c); s.async = 1, s.src = 'https://scripts.claspo.io/scripts/' + n + '.js'; var r = e.scripts[0]; r.parentNode.insertBefore(s, r); var f = function () { f.c(arguments); }; f.q = []; f.c = function () { f.q.push(arguments); }; t['claspo'] = t['claspo'] || f; }(window, document, 'script', '2F3E461D433C48E8B7053833272B0D8D'); claspo('init'); // Hide the theme-injected logo on the Sign In form (client request). // The theme (wallkit.min.js) prepends this on "wk-event-modals-ready"; hide it here. (function () { var style = document.createElement('style'); style.textContent = '#auth-modal-content .wk-form-login .wk-form-header .wk-form-header__logo{display:none!important}'; (document.head || document.documentElement).appendChild(style); })(); // NOTE: This file now handles ONLY base registration (no purchase/checkout flow). // Soft diagnostics: log when page navigates away to detect unexpected reloads function _wkGetPopupState() { var hasWk = !!window.wk; var isOpened = false; var currentFrame = null; try { if (hasWk && window.wk.popup) { if (typeof window.wk.popup.isOpened === 'function') isOpened = window.wk.popup.isOpened(); if (window.wk.popup.modalFrame && typeof window.wk.popup.modalFrame.currentFrameName !== 'undefined') { currentFrame = window.wk.popup.modalFrame.currentFrameName; } } } catch (_) {} return { hasWk: hasWk, isOpened: isOpened, currentFrame: currentFrame, lastRoute: window._wkLastRoute, pendingSub: window._wkPendingSubscriptionId }; } function _wkLogNavEvent(type) { try { var state = _wkGetPopupState(); console.log('[WK-Glue:Diag] nav-event', { type: type, visibility: (document && document.visibilityState), state: state }); } catch (_) {} } function _wkBindOverlayCloseBlocker() { try { if (window.__wkOverlayCloseBlockerBound) return; window.__wkOverlayCloseBlockerBound = true; document.addEventListener('click', (event) => { try { const target = event && event.target; if (!target) return; const isOverlayClick = (target.id === 'wk-modal-wrapper') || (target.classList && target.classList.contains('wallkit-modal-wrapper')); if (!isOverlayClick) return; const frameName = window.wk?.popup?.modalFrame?.currentFrameName; if (frameName === 'second-step-signup') { event.stopImmediatePropagation(); } } catch (_) {} }, true); } catch (_) {} } try { window.addEventListener('pagehide', function(){ _wkLogNavEvent('pagehide'); }, true); } catch(_) {} try { window.addEventListener('beforeunload', function(){ _wkLogNavEvent('beforeunload'); }, true); } catch(_) {} try { window.addEventListener('visibilitychange', function(){ if (document && document.visibilityState === 'hidden') _wkLogNavEvent('visibilitychange-hidden'); }, true); } catch(_) {} const addSignUpButton = () => { const footer = document.querySelector('.wk-form-login .wk-form__sub-footer'); if (footer && !footer.querySelector('.wk-form__footer-sign-up')) { footer.insertAdjacentHTML( 'afterbegin', ' Sign Up ' ); } }; // (Removed checkout opener helpers) // Logo intentionally not added to the Sign Up form (client request). // The original implementation is kept below (commented) in case it needs to be restored. const addSignupHeaderLogo = () => {}; // const addSignupHeaderLogo = () => { // const header = document.querySelector('.wk-form-signup .wk-form-header'); // if (header && !header.querySelector('.wk-form-header__logo')) { // header.insertAdjacentHTML( // 'afterbegin', // ' ' // ); // } // }; const addSignupHeaderTitle = () => { const header = document.querySelector('.wk-form-signup .wk-form-header'); if (!header) return; addSignupHeaderLogo(); if (!header.querySelector('h3.wk-form-header__title.step')) { const logo = header.querySelector('.wk-form-header__logo'); if (logo) { logo.insertAdjacentHTML('afterend', ' Step 1 '); } else { header.insertAdjacentHTML('afterbegin', ' Step 1 '); } } }; const addForgotHeaderLogo = () => { const header = document.querySelector('.wk-form-forgot-password .wk-form-header'); if (header && !header.querySelector('.wk-form-header__logo')) { header.insertAdjacentHTML( 'afterbegin', ' ' ); } }; const hideLoginFooterParagraph = () => { const nodes = document.querySelectorAll('.wk-form-login .wk-form-footer p.mt-3'); nodes.forEach((el) => { el.style.display = 'none'; }); }; //Show second step signup function openSecondStepSignup() { let tries = 0; const maxTries = 20; const tryInterval = setInterval(() => { tries++; const popup = window.wk && window.wk.popup; if (!popup) { if (tries >= maxTries) { clearInterval(tryInterval); } return; } try { if (typeof popup.isOpened === 'function' && !popup.isOpened()) { if (typeof popup.open === 'function') { popup.open('second-step-signup'); } } else { if (typeof popup.route === 'function') { popup.route('second-step-signup'); } else if (typeof window.wk.modal === 'function') { window.wk.modal('second-step-signup'); } else if (typeof popup.open === 'function') { popup.open('second-step-signup'); } } clearInterval(tryInterval); } catch (e) { if (tries >= maxTries) { clearInterval(tryInterval); } } }, 100); } // Top-level redirect helper reused by login and post-registration flows function checkAndRedirect() { const body = document.querySelector('body'); if (!body) return; const statusUser = body.getAttribute('data-wk-call-status-user'); const statusPlans = body.getAttribute('data-wk-call-status-plans'); console.log('Checking redirect conditions:', { statusUser, statusPlans }); // Do NOT redirect on membership page; let page-level flow handle UI/modals try { const isMembership = (window.location && window.location.pathname && window.location.pathname.indexOf('/membership') !== -1); if (isMembership) { console.log('[WK-Glue] On membership page: skip redirects after login'); updateMyAccountLink(); return; } } catch(_) {} if (statusUser === 'authorized') { if (statusPlans === 'sp-plus-free' || statusPlans === 'expired') { console.log('Redirecting to /account/my-sportspro'); window.location.href = '/account/my-sportspro'; } else if (statusPlans === 'essential') { console.log('Redirecting to /account/my-sportspro-plus-ca'); window.location.href = '/account/my-sportspro-plus-ca'; } else if (statusPlans === 'executive' || statusPlans === 'sp-community' || statusPlans === 'sp-plus-premium-sportspro-access-free' || statusPlans === 'student' ) { console.log('Redirecting to /account/my-sportspro-plus-bi'); window.location.href = '/account/my-sportspro-plus-bi'; } else { console.log('No redirect conditions met:', { statusUser, statusPlans }); updateMyAccountLink(); } } else { console.log('User not authorized, no redirect performed:', { statusUser, statusPlans }); updateMyAccountLink(); } } function updateMyAccountLink() { const body = document.querySelector('body'); if (!body) return; try { console.log('[updateMyAccountLink] called'); } catch(e) {} const links = document.querySelectorAll('.nav-login-register a.wk–sign-in'); if (!links || links.length === 0) { try { console.log('[updateMyAccountLink] link not found'); } catch(e) {} return; } const statusUser = body.getAttribute('data-wk-call-status-user'); const statusPlans = body.getAttribute('data-wk-call-status-plans'); try { console.log('[updateMyAccountLink] attributes:', { statusUser, statusPlans }); } catch(e) {} updateMyAccountLink.__tries = (updateMyAccountLink.__tries || 0); if (!statusUser || (statusUser === 'authorized' && !statusPlans)) { if (updateMyAccountLink.__tries { linkEl.textContent = label; try { linkEl.innerText = label; } catch(e) {} try { console.log(`[updateMyAccountLink] label applied to link #${idx+1}`); } catch(e) {} }); const bodyObserver = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.type === 'attributes' && ['data-wk-call-status-user', 'data-wk-call-status-plans'].includes(mutation.attributeName)) { try { console.log('[updateMyAccountLink] attribute changed:', mutation.attributeName, '=>', body.getAttribute(mutation.attributeName)); } catch(e) {} updateMyAccountLink(); } }); }); bodyObserver.observe(body, { attributes: true, attributeFilter: ['data-wk-call-status-user', 'data-wk-call-status-plans'] }); try { console.log('[updateMyAccountLink] observer started (15s)'); } catch(e) {} setTimeout(() => { bodyObserver.disconnect(); try { console.log('[updateMyAccountLink] observer disconnected'); } catch(e) {} }, 5000); } (function() { if (document.body.classList.contains('tax-sectors')) { if (typeof wallkitPostData === 'undefined' || (Array.isArray(wallkitPostData) && wallkitPostData.length === 0)) { var bodyClass = document.body.className; var match = bodyClass.match(/term-(\d+)/); if (match) { var termId = match[1]; // Searching h2.elementor-heading-title var heading = document.querySelector('.elementor-element-567f31e h2.elementor-heading-title'); var title = heading ? heading.innerText.trim() : null; console.log("🔍 Check title:", title ? title : "❌Not found title!"); if (!title) { console.warn("⚠️ Element .elementor-element-567f31e h2.elementor-heading-title not found."); return; } wallkitPostData = { data: { id: termId, title: title, type: 'tax_sectors_media_child' }, config: { check_post: true, show_blur: true } }; console.log("✅ WallkitPostData patched:", wallkitPostData); } } } })(); window.addEventListener('DOMContentLoaded', (event) => { addSignUpButton(); addSignupHeaderLogo(); addSignupHeaderTitle(); addForgotHeaderLogo(); appendPremiumGate(); _wkBindOverlayCloseBlocker(); // Mark that user explicitly started base registration via account-settings or paywall CTA click (works site-wide) try { const baseRegSelectorVariants = [ '.nav-login-register wk–sign-in', // en-dash variant '.nav-login-register .wk–sign-in', // hyphen variant '.wk–sign-up', // en-dash paywall CTA (Become a Member) '.wk-sign-up', // hyphen paywall CTA '.wk–plans', // en-dash paywall CTA (Find out more) '.wk-plans' // hyphen paywall CTA ]; document.addEventListener('click', (e) => { try { const target = e.target; if (!target) return; const el = target.closest ? target.closest(baseRegSelectorVariants.join(',')) : null; if (el) { window.__wkBaseRegClickAt = Date.now(); window.__wkBaseRegClick = true; console.log('[WK-Glue] Base registration click detected (account-settings/paywall)'); } } catch(_) {} }, true); } catch(_) {} // Intercept a click on the login button: if the user is authorized, redirect as planned; otherwise, leave the button alone. try { document.addEventListener('click', (e) => { try { const target = e.target; if (!target || !target.closest) return; const link = target.closest('.nav-login-register a.wk–sign-in'); if (!link) return; const body = document.querySelector('body'); if (!body) return; const statusUser = body.getAttribute('data-wk-call-status-user'); const statusPlans = body.getAttribute('data-wk-call-status-plans'); if (statusUser === 'authorized') { e.preventDefault(); e.stopPropagation(); if (statusPlans === 'sp-plus-free' || statusPlans === 'expired') { console.log('Redirecting to /account/my-sportspro'); window.location.href = '/account/my-sportspro'; } else if (statusPlans === 'essential') { console.log('Redirecting to /account/my-sportspro-plus-ca'); window.location.href = '/account/my-sportspro-plus-ca'; } else if ( statusPlans === 'executive' || statusPlans === 'sp-community' || statusPlans === 'sp-plus-premium-sportspro-access-free' || statusPlans === 'student' ) { console.log('Redirecting to /account/my-sportspro-plus-bi'); window.location.href = '/account/my-sportspro-plus-bi'; } else { console.log('No redirect conditions met:', { statusUser, statusPlans }); updateMyAccountLink(); } } // If it's a guest, we do nothing, let the button open the modal/execute the default } catch(_) {} }, true); } catch(_) {} window.wk = window.wk || []; window.wk.push(['ready', (params) => { console.log('wk ready'); _wkBindOverlayCloseBlocker(); insertPaywallContent(); // insertWirePaywallContent(); addSignUpButton(); addSignupHeaderLogo(); addSignupHeaderTitle(); addForgotHeaderLogo(); hideLoginFooterParagraph(); updateMyAccountLink(); appendPremiumGate(); // (Purchase buttons binding removed) window.wk.on('success-auth', function ({register}) { updateMyAccountLink(); console.log('success-auth event triggered, register:', register); // insertWirePaywallContent(); // Suppress only if checkout is already opened (to avoid routing away from checkout) if (window._wkCheckoutOpened) { try { console.log('[WK-Glue] success-auth suppressed (checkout already opened)'); } catch(_) {} let properties = {}; if (register) { properties.wk_register = register; } gaSendEvent('wk-auth-success', properties, true); return; } let properties = {}; // Open Step 2 only if user explicitly clicked account-settings (site-wide) let wantStep2 = false; try { const clicked = !!window.__wkBaseRegClick; const ts = window.__wkBaseRegClickAt || 0; // consider valid if click happened within last 10 minutes wantStep2 = clicked && (Date.now() - ts { mutations.forEach((mutation) => { if (mutation.type === 'attributes' && ['data-wk-call-status-user', 'data-wk-call-status-plans'].includes(mutation.attributeName)) { console.log(`${mutation.attributeName} changed:`, body.getAttribute(mutation.attributeName)); checkAndRedirect(); } }); }); observer.observe(body, { attributes: true, attributeFilter: ['data-wk-call-status-user', 'data-wk-call-status-plans'] }); // Disable observer after 5 seconds setTimeout(() => { observer.disconnect(); console.log('Stopped observing attributes for redirect after 2 seconds'); }, 2000); } else { // Registration success: do NOT redirect here, just refresh UI labels console.log('Registration success: skip redirect after registration'); updateMyAccountLink(); } gaSendEvent('wk-auth-success', properties, true); }); window.wk.on('wk-event-logout', () => { gaSendEvent('wk-logout', {}); }); window.wk.on('wk-event-transaction', (data) => { let transaction = data.transactions[0]; gaSendEvent('wk-transaction', { 'wk_transaction_status': transaction.status, 'wk_transaction_value': parseFloat((transaction.amount/100).toFixed(2)), 'wk_transaction_currency': transaction.currency, 'wk_transaction_pricing_id': transaction.purchases[0].item_id }); }); window.wk.on('check-access', (data) => { console.log('wk check-access'); gaSendEvent('wk-check-access', { 'wk_access_level': data.access_level, 'wk_access_allow': data.allow, 'wk_access_reason': data.reason }, true); // insertWirePaywallContent(); }); //Claspo popup window.wk.on("check-user-access", function (access) { if (access) { return; } wkShowClaspoPopup(); }); }]); }); function gaSendEvent(event, properties = {}, pageData = false) { console.log('gaSendEvent'); if(!event) return; properties.wk_page_url = window.location.href; if(window.wk.authentication.isAuthenticated()) { properties.wk_user_id = window.wk.sdk.methods.user.id; } if(pageData && wallkitPostData) { properties.wk_content_type = wallkitPostData.data.type; if(wallkitPostData.data.taxonomies) { let taxKeys = Object.keys(wallkitPostData.data.taxonomies); taxKeys.forEach((tax) => { if(!wallkitPostData.data.taxonomies[tax].items) return; let term = wallkitPostData.data.taxonomies[tax].items.map((term) => { return term.name; }); properties[`wk_content_taxonomies_${tax}`] = term.join(','); }); } } //If using gtm // gtagPush("event", event, { // ...properties // }); //If using gtag if(typeof gtag === 'function') { gtag("event", event, { ...properties }); } } function gtagPush(){ let dataLayer = window.dataLayer || []; dataLayer.push(arguments); } // (Removed purchase buttons and popup customizations) function appendPremiumGate() { const bodyTag = document.querySelector('body'); const gateTerms = ['premium', 'premium-commercial-guide-formula-e', 'premium-commercial-guide-formula-one', 'premium-commercial-guide-indycar', 'premium-commercial-guide-ipl', 'premium-commercial-guide-mlb', 'premium-commercial-guide-mls', 'premium-commercial-guide-motogp', 'premium-commercial-guide-nascar', 'premium-commercial-guide-nba', 'premium-commercial-guide-nfl', 'premium-commercial-guide-nhl', 'premium-commercial-guide-nwsl', 'premium-commercial-guide-premier-league', 'premium-commercial-guide-premier-league-wnba', 'premium-commercial-guide']; const essentialTerms = ['standard', 'standard-commercial-guide-mlb', 'standard-commercial-guide-nba', 'standard-commercial-guide-motogp', 'standard-commercial-guide-indycar', 'standard-commercial-guide-nwsl', 'standard-commercial-guide', 'standard-commercial-guide-premier-league', 'standard-commercial-guide-premier-league-wnba', 'standard-commercial-guide-nascar', 'standard-commercial-guide-nfl', 'standard-commercial-guide-nhl', 'standard-commercial-guide-mls', 'standard-commercial-guide-formula-e']; const essentialCategoryTerms = ['member-exclusives']; try { try { console.log('[appendPremiumGate] called'); console.log('[appendPremiumGate] globals', { hasWallkitPostData: typeof wallkitPostData !== 'undefined', hasWallkitSettings: typeof wallkitSettings !== 'undefined', hasPaywall: typeof wallkitSettings !== 'undefined' && !!(wallkitSettings.config && wallkitSettings.config.paywall) }); } catch (_) {} const articleGateTerms = wallkitPostData.data?.taxonomies['wallkit-gate']?.items.map((term) => { return term.slug }) || []; const articleCategoryTerms = wallkitPostData.data?.taxonomies['category']?.items.map((term) => { return term.slug }) || []; const isPremiumGate = articleGateTerms.some(t => gateTerms.includes(t)); const isEssentialGate = articleGateTerms.some(t => essentialTerms.includes(t)) || articleCategoryTerms.some(t => essentialCategoryTerms.includes(t)); try { console.log('[appendPremiumGate] articleGateTerms:', articleGateTerms); console.log('[appendPremiumGate] isPremiumGate:', isPremiumGate); } catch(_) {} if(isPremiumGate) { try { console.log('[appendPremiumGate] applying premium gate UI'); } catch(_) {} bodyTag.classList.add('premium-gate'); wallkitSettings.config.paywall.content = ` This content is only available for SportsPro+ Executive members. Enjoy unlimited access to SportsPro's platforms, including richer content, exclusive business intelligence and community benefits by becoming a SportsPro+ member today. Find out more This content is only available for SportsPro+ Executive & Essential members. Enjoy unlimited access to SportsPro's platforms, including richer content, exclusive business intelligence and community benefits by becoming a SportsPro+ member today. Find out more This content is only available for SportsPro+ Executive members. You can upgrade your access here Find out more `; } else if (isEssentialGate) { bodyTag.classList.add('essential-gate'); } } catch (error) { try { console.warn('[appendPremiumGate] error:', error); } catch(_) {} } } function insertPaywallContent() { // console.log('insertPaywallContent called'); const body = document.querySelector('body'); function checkAndInsert() { // console.log('Checking attributes...'); const hasAccess = body.getAttribute('data-wk-call-user-has-access'); const hasTaxSectors = body.classList.contains('tax-sectors'); // console.log('data-wk-call-user-has-access:', hasAccess); // console.log('has tax-sectors:', hasTaxSectors); if (hasAccess === 'false' && hasTaxSectors) { // console.log('Conditions met, searching for target container'); const targetContainer = document.querySelector( '.elementor-section .elementor-container .elementor-col-66 .elementor-widget-wrap .elementor-section' ); // console.log('targetContainer:', targetContainer); if (targetContainer) { // console.log('Inserting paywall content'); const tempDiv = document.createElement('div'); tempDiv.innerHTML = ` Register for a free SportsPro account to access this content. Or why not sign up to become a SportsPro+ member and enjoy unlimited access to SportsPro's platforms, including richer content, exclusive business intelligence and community benefits? Discover more about our membership options below: Become a Member Already a member? Log in here
Loading comments…