(function(){
var CN = 'menthorq_utm_params';
var LK = 'menthorq_utm_params';
var UK = ['utm_source','utm_medium','utm_campaign','utm_term','utm_content','utm_id'];
var CK = ['gclid','fbclid','msclkid','ttclid','twclid'];
var CD = 30;
var AK = UK.concat(CK);function sC(n,v,d){var e=new Date(Date.now()+d*864e5).toUTCString();var c=n+'='+encodeURIComponent(v)+';expires='+e+';path=/;SameSite=Lax';if(location.protocol==='https:')c+=';Secure';document.cookie=c;}
function gC(n){var m=document.cookie.match(new RegExp('(?:^|; )'+n+'=([^;]*)'));return m?decodeURIComponent(m[1]):'';}
function sv(d){var j=JSON.stringify(d);sC(CN,j,CD);try{localStorage.setItem(LK,j);}catch(e){}}
function hk(o){if(!o)return false;for(var i=0;i<AK.length;i++)if(o[AK[i]])return true;return false;}
function nm(d){if(!d)return null;if(d.first)return d;if(hk(d))return{first:d,last:d};return null;}
function ld(){var r=gC(CN);if(r){try{var n=nm(JSON.parse(r));if(n)return n;}catch(e){}}try{var s=localStorage.getItem(LK);if(s){var n=nm(JSON.parse(s));if(n)return n;}}catch(e){}return null;}
function mg(p,n){var o={};if(p)for(var k in p)o[k]=p[k];for(var k in n)o[k]=n[k];return o;}var ps = new URLSearchParams(window.location.search);
var fd = {}, has = false;
for (var i = 0; i < AK.length; i++) {
var v = ps.get(AK[i]);
if (v) { fd[AK[i]] = v; has = true; }
}// Click-ID synthesis: when only a click-id is present (no utm_source), derive
// utm_source/utm_medium so downstream analytics groups under the right channel.
var SY = {
gclid: ['google', 'cpc'],
fbclid: ['facebook', 'cpc'],
msclkid: ['bing', 'cpc'],
ttclid: ['tiktok', 'cpc'],
twclid: ['twitter', 'cpc']
};
if (has && !fd.utm_source) {
for (var sk in SY) {
if (fd[sk]) { fd.utm_source = SY[sk][0]; fd.utm_medium = SY[sk][1]; break; }
}
}if (has) {
fd.captured_at = new Date().toISOString();
var ex = ld();
// Last-touch: merge new fields ON TOP of previous last (preserva campi pregressi)
var newLast = ex && ex.last ? mg(ex.last, fd) : fd;
// First-touch: se ex.first ha almeno un UTM, e' completo e sticky.
// Se ex.first esiste ma e' click-id-only (orphan), completa con i campi nuovi.
// Se ex.first non esiste, usa fd come first.
var newFirst;
if (ex && ex.first) {
var firstHasUtm = false;
for (var i = 0; i < UK.length; i++) if (ex.first[UK[i]]) { firstHasUtm = true; break; }
newFirst = firstHasUtm ? ex.first : mg(ex.first, fd);
} else {
newFirst = fd;
}
sv({first: newFirst, last: newLast});
return;
}var raw = gC(CN);
if (raw) {
try {
var p = JSON.parse(raw);
if (!p.first && hk(p)) sv({first: p, last: p});
} catch(e) {}
return;
}try {
var s = localStorage.getItem(LK);
if (s) { var n = nm(JSON.parse(s)); if (n) sv(n); }
} catch(e) {}
})();
var breeze_prefetch = {"local_url":"https://menthorq.com","ignore_remote_prefetch":"1","ignore_list":["/account/","/login/","/thank-you/","/wp-json/openid-connect/userinfo","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://menthorq.com/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
https://menthorq.com/wp-content/themes/yootheme/vendor/assets/uikit/dist/js/uikit.js
https://menthorq.com/wp-content/themes/yootheme/vendor/assets/uikit/dist/js/uikit-icons-circle.min.js
https://menthorq.com/wp-content/themes/yootheme/assets/site/js/theme.js
window.yootheme ||= {}; yootheme.theme = {"i18n":{"close":{"label":"Close","0":"yootheme"},"totop":{"label":"Back to top","0":"yootheme"},"marker":{"label":"Open","0":"yootheme"},"navbarToggleIcon":{"label":"Open menu","0":"yootheme"},"paginationPrevious":{"label":"Previous page","0":"yootheme"},"paginationNext":{"label":"Next page","0":"yootheme"},"searchIcon":{"toggle":"Open Search","submit":"Submit Search"},"slider":{"next":"Next slide","previous":"Previous slide","slideX":"Slide %s","slideLabel":"%s of %s"},"slideshow":{"next":"Next slide","previous":"Previous slide","slideX":"Slide %s","slideLabel":"%s of %s"},"lightboxPanel":{"next":"Next slide","previous":"Previous slide","slideLabel":"%s of %s","close":"Close"}}};
Why WTI Went Negative A Breakdown of the April 2020 Collapse in the Oil Market No Sensible Roll Schedule Would Have Been Exposed In this article we will discuss why WTI went negative. The negative price happened on the penultimate trading day of the CL contract , a point at which most responsible trading schedules would have already rolled exposure to the next contract. Systematic rolls, used by ETFs and CTAs , typically unwind positions several days in advance to avoid slippage and thin liquidity.
Why this matters: Any back-adjusted futures series that follows a systematic methodology wouldn’t even capture this negative price action, making it statistically irrelevant for modeling or long-term strategy building.Conclusion: The event was outside the bounds of institutional or structured positioning. If a model uses this print to derive signal or skew data, it’s likely introducing noise, not insight.Why WTI Went Negative 5 A Structurally Unique Market Plumbing Failure At the heart of the collapse was a failure of market plumbing , caused by an obscure but massive group of Chinese mainland investment products . These vehicles used penultimate bullet swaps , a style of derivative where the final payout matches the price of the underlying at settlement, regardless of market conditions.
Because these products couldn’t directly access U.S. futures exchanges like CME, they used domestic intermediaries (e.g. ETFs or structured products), which in turn hedged exposure through swap agreements with international dealers. Those dealers were ultimately left holding the bag when these retail-style products failed to roll in time.
Key structural issues:
These instruments did not auto-roll like most U.S. or EU ETFs. Many retail holders were unaware of their responsibility to roll. As a result, swap providers ended up with massive long futures exposure into expiration. The consequence:
Providers were structurally short a zero-strike put , meaning the maximum loss was 100% of the investment. When investors failed to liquidate, clearing banks stepped in and flattened physical futures positions into an illiquid expiration , forcing settlement near or at $0. This dynamic was not a price discovery mechanism , but a forced mechanical liquidation.
The “Villain Trader” Narrative Is Misplaced Some post-event commentary blamed small trading groups (e.g., Vega Capital) for “breaking the market.” But this ignores the broader structure:
Traders recognized that structurally trapped longs were being forced through expiration. The resulting flow attracted arbitrage and momentum traders who naturally positioned in front of it. While it looked like a “sell everything” panic, these traders were mostly reacting , not initiating the collapse. Takeaway:
It wasn’t a group of manipulative traders. It was the mechanics of the swap agreements , clearing bank behavior, and a complete absence of liquidity on the other side.
Unrolled Positions and No Natural Bids In physical commodity markets, natural buyers typically require infrastructure (e.g., storage tanks) and logistical coordination. As the May CL contract approached expiration, these were already in use or full due to the global demand collapse from COVID-19.
No natural bids existed at expiration.If you didn’t have access to storage or contracts lined up, you couldn’t take delivery. The remaining open interest included players who:Didn’t roll on time Couldn’t access physical delivery Were forced to liquidate into a non-existent market This created the condition for a one-sided, zero-bid market .
Breakdown of the mechanical failure:
Unrolled positions held by passive/retail products No remaining natural liquidity Clearing banks liquidating to honor swap pricing A narrow window for execution, compounded by expired physical capacity It wasn’t a market crash in the economic sense. It was a mechanical blow-up from a clearing and execution mismatch.
Open Interest Data Confirms the Anomaly The open interest chart of CL shows an unusually large position still open on the penultimate day of trading, a glaring red flag. Normally, most positions are already exited by this point in the expiry cycle.
This confirms the visual and structural truth: a large block of positions failed to roll on time , despite the broader market having already exited.
You can use MenthorQ to access Open Interest date and more .
What Traders and Quants Can Learn Model Discipline
The April 2020 WTI print is an outlier that reflects a specific clearing disruption, not price discovery. It should not be included in model calibration , volatility estimation, or risk premia signal construction. Understand Swap Mechanics
Products with synthetic delivery obligations (e.g. bullet swaps) must be evaluated differently than traditional ETFs. If you’re trading instruments that simulate futures exposure , understand how and when they roll, liquidate, or default. Clearing and Plumbing Matter
Market dislocations are often less about price and more about structural mismatches , timing, margin calls, physical constraints. Especially in commodities, plumbing failure trumps theory . How do Quants Trade Oil.
Final Thoughts: It’s Not a “Market” Event The negative CL price of April 2020 will remain a fascinating event in trading history, but not because it tells us anything about oil supply or demand. Instead, it’s a case study in forced liquidation, bad product design, and failure to understand expiry mechanics .
Blaming traders misses the point. Ignoring the structural setup ignores the cause. And building models around it? That’s the worst outcome of all.
The price didn’t collapse because oil had negative value. It collapsed because a large, misaligned cohort of products failed to roll into a contract that no one could take delivery of , in a world that suddenly had no storage left .
That’s not volatility. That’s system failure. Chat to QUIN to continue on this topic.
Join us today
Access daily Market Research and our interactive Dashboard . Make better trading decisions.
MenthorQ ©2025 701 Brickell Key BLVD 33131, Miami (FL)
Quantitative Models
Resources
Company
Account console.warn({"message":"Unknown argument \"membership_level_operator\" on field \"customMpcsCourse\" of type \"MpcsCoursesQuery\". Did you mean \"skill_level_operator\"?"});
window.$yooessentials = window.$yooessentials || {};
window.$yooessentials.infos = window.$yooessentials.infos || [];
window.$yooessentials.errors = window.$yooessentials.errors || [];
window.$yooessentials.warnings = window.$yooessentials.warnings || [];
window.$yooessentials.errors.push({"log":"Unknown argument \"membership_level_operator\" on field \"customMpcsCourse\" of type \"MpcsCoursesQuery\". Did you mean \"skill_level_operator\"?","path":null,"trace":"#0 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(403): YOOtheme\\GraphQL\\Validator\\Rules\\KnownArgumentNames::YOOtheme\\GraphQL\\Validator\\Rules\\{closure}()\n#1 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(470): YOOtheme\\GraphQL\\Language\\Visitor::YOOtheme\\GraphQL\\Language\\{closure}()\n#2 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(276): YOOtheme\\GraphQL\\Language\\Visitor::YOOtheme\\GraphQL\\Language\\{closure}()\n#3 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Validator\/DocumentValidator.php(119): YOOtheme\\GraphQL\\Language\\Visitor::visit()\n#4 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/GraphQL.php(155): YOOtheme\\GraphQL\\Validator\\DocumentValidator::validate()\n#5 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/GraphQL.php(97): YOOtheme\\GraphQL\\GraphQL::promiseToExecute()\n#6 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source.php(71): YOOtheme\\GraphQL\\GraphQL::executeQuery()\n#7 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source\/SourceTransform.php(122): YOOtheme\\Builder\\Source->query()\n#8 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source\/SourceTransform.php(69): YOOtheme\\Builder\\Source\\SourceTransform->querySource()\n#9 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(275): YOOtheme\\Builder\\Source\\SourceTransform->prerender()\n#10 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#11 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#12 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#13 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(104): YOOtheme\\Builder->applyTransforms()\n#14 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(121): YOOtheme\\Builder->load()\n#15 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/templates\/menu\/menu.php(159): YOOtheme\\Builder->render()\n#16 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(268): require('...')\n#17 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View\/FileLoader.php(25): YOOtheme\\View->evaluate()\n#18 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\View\\FileLoader->__invoke()\n#19 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress\/src\/UrlLoader.php(26): YOOtheme\\View->YOOtheme\\{closure}()\n#20 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\Theme\\Wordpress\\UrlLoader::resolveRelativeUrl()\n#21 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(231): YOOtheme\\View->YOOtheme\\{closure}()\n#22 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-menus\/src\/MenuWalker.php(102): YOOtheme\\View->render()\n#23 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/nav-menu-template.php(621): YOOtheme\\Theme\\Wordpress\\MenuWalker->walk()\n#24 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/nav-menu-template.php(241): walk_nav_menu_tree()\n#25 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/widgets\/class-wp-nav-menu-widget.php(109): wp_nav_menu()\n#26 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(353): WP_Nav_Menu_Widget->widget()\n#27 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(536): YOOtheme\\Theme\\Widgets\\WidgetsListener->displayWidget()\n#28 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(499): YOOtheme\\Theme\\Widgets\\WidgetsListener->getWidget()\n#29 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(130): YOOtheme\\Theme\\Widgets\\WidgetsListener->createMenuWidget()\n#30 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/container\/src\/Container.php(229): YOOtheme\\Theme\\Widgets\\WidgetsListener->afterSidebar()\n#31 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/platform-wordpress\/src\/FilterLoader.php(28): YOOtheme\\Container->call()\n#32 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/class-wp-hook.php(343): YOOtheme\\Wordpress\\FilterLoader->YOOtheme\\Wordpress\\{closure}()\n#33 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/class-wp-hook.php(365): WP_Hook->apply_filters()\n#34 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/plugin.php(522): WP_Hook->do_action()\n#35 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/widgets.php(717): do_action()\n#36 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/templates\/header.php(239): dynamic_sidebar()\n#37 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(268): require('...')\n#38 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View\/FileLoader.php(25): YOOtheme\\View->evaluate()\n#39 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\View\\FileLoader->__invoke()\n#40 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress\/src\/UrlLoader.php(26): YOOtheme\\View->YOOtheme\\{closure}()\n#41 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\Theme\\Wordpress\\UrlLoader::resolveRelativeUrl()\n#42 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(231): YOOtheme\\View->YOOtheme\\{closure}()\n#43 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(82): YOOtheme\\View->render()\n#44 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/header.php(145): YOOtheme\\View->__invoke()\n#45 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template.php(814): require_once('...')\n#46 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template.php(749): load_template()\n#47 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/general-template.php(48): locate_template()\n#48 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/page.php(10): get_header()\n#49 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template-loader.php(132): include('...')\n#50 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-blog-header.php(19): require_once('...')\n#51 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/index.php(17): require('...')\n#52 {main}"});
console.warn({"message":"Unknown argument \"membership_level_operator\" on field \"customMpcsCourses\" of type \"MpcsCoursesQuery\". Did you mean \"skill_level_operator\"?"});
window.$yooessentials.errors.push({"log":"Unknown argument \"membership_level_operator\" on field \"customMpcsCourses\" of type \"MpcsCoursesQuery\". Did you mean \"skill_level_operator\"?","path":null,"trace":"#0 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(403): YOOtheme\\GraphQL\\Validator\\Rules\\KnownArgumentNames::YOOtheme\\GraphQL\\Validator\\Rules\\{closure}()\n#1 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(470): YOOtheme\\GraphQL\\Language\\Visitor::YOOtheme\\GraphQL\\Language\\{closure}()\n#2 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Language\/Visitor.php(276): YOOtheme\\GraphQL\\Language\\Visitor::YOOtheme\\GraphQL\\Language\\{closure}()\n#3 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/Validator\/DocumentValidator.php(119): YOOtheme\\GraphQL\\Language\\Visitor::visit()\n#4 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/GraphQL.php(155): YOOtheme\\GraphQL\\Validator\\DocumentValidator::validate()\n#5 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/graphql\/lib\/GraphQL.php(97): YOOtheme\\GraphQL\\GraphQL::promiseToExecute()\n#6 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source.php(71): YOOtheme\\GraphQL\\GraphQL::executeQuery()\n#7 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source\/SourceTransform.php(122): YOOtheme\\Builder\\Source->query()\n#8 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder-source\/src\/Source\/SourceTransform.php(69): YOOtheme\\Builder\\Source\\SourceTransform->querySource()\n#9 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(275): YOOtheme\\Builder\\Source\\SourceTransform->prerender()\n#10 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#11 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#12 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#13 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(288): YOOtheme\\Builder->applyTransforms()\n#14 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(104): YOOtheme\\Builder->applyTransforms()\n#15 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/builder\/src\/Builder.php(121): YOOtheme\\Builder->load()\n#16 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/templates\/menu\/menu.php(159): YOOtheme\\Builder->render()\n#17 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(268): require('...')\n#18 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View\/FileLoader.php(25): YOOtheme\\View->evaluate()\n#19 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\View\\FileLoader->__invoke()\n#20 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress\/src\/UrlLoader.php(26): YOOtheme\\View->YOOtheme\\{closure}()\n#21 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\Theme\\Wordpress\\UrlLoader::resolveRelativeUrl()\n#22 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(231): YOOtheme\\View->YOOtheme\\{closure}()\n#23 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-menus\/src\/MenuWalker.php(102): YOOtheme\\View->render()\n#24 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/nav-menu-template.php(621): YOOtheme\\Theme\\Wordpress\\MenuWalker->walk()\n#25 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/nav-menu-template.php(241): walk_nav_menu_tree()\n#26 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/widgets\/class-wp-nav-menu-widget.php(109): wp_nav_menu()\n#27 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(353): WP_Nav_Menu_Widget->widget()\n#28 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(536): YOOtheme\\Theme\\Widgets\\WidgetsListener->displayWidget()\n#29 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(499): YOOtheme\\Theme\\Widgets\\WidgetsListener->getWidget()\n#30 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress-widgets\/src\/WidgetsListener.php(130): YOOtheme\\Theme\\Widgets\\WidgetsListener->createMenuWidget()\n#31 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/container\/src\/Container.php(229): YOOtheme\\Theme\\Widgets\\WidgetsListener->afterSidebar()\n#32 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/platform-wordpress\/src\/FilterLoader.php(28): YOOtheme\\Container->call()\n#33 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/class-wp-hook.php(343): YOOtheme\\Wordpress\\FilterLoader->YOOtheme\\Wordpress\\{closure}()\n#34 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/class-wp-hook.php(365): WP_Hook->apply_filters()\n#35 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/plugin.php(522): WP_Hook->do_action()\n#36 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/widgets.php(717): do_action()\n#37 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/templates\/header.php(239): dynamic_sidebar()\n#38 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(268): require('...')\n#39 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View\/FileLoader.php(25): YOOtheme\\View->evaluate()\n#40 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\View\\FileLoader->__invoke()\n#41 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/theme-wordpress\/src\/UrlLoader.php(26): YOOtheme\\View->YOOtheme\\{closure}()\n#42 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(169): YOOtheme\\Theme\\Wordpress\\UrlLoader::resolveRelativeUrl()\n#43 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(231): YOOtheme\\View->YOOtheme\\{closure}()\n#44 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/packages\/view\/src\/View.php(82): YOOtheme\\View->render()\n#45 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/header.php(145): YOOtheme\\View->__invoke()\n#46 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template.php(814): require_once('...')\n#47 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template.php(749): load_template()\n#48 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/general-template.php(48): locate_template()\n#49 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-content\/themes\/yootheme\/page.php(10): get_header()\n#50 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-includes\/template-loader.php(132): include('...')\n#51 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/wp-blog-header.php(19): require_once('...')\n#52 \/mnt\/BLOCKSTORAGE\/home\/1543348.cloudwaysapps.com\/tsqhnrsppe\/public_html\/index.php(17): require('...')\n#53 {main}"});
UIkit.icon.add({"fa6-regular--user":"<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 448 512\" width=\"20\" height=\"20\"><path d=\"M304 128a80 80 0 10-160 0 80 80 0 10160 0zm-208 0a128 128 0 11256 0 128 128 0 11-256 0zM49.3 464h349.5c-8.9-63.3-63.3-112-129-112h-91.4c-65.7 0-120.1 48.7-129 112zM0 482.3C0 383.8 79.8 304 178.3 304h91.4c98.5 0 178.3 79.8 178.3 178.3 0 16.4-13.3 29.7-29.7 29.7H29.7C13.3 512 0 498.7 0 482.3z\"\/><\/svg>"})
var menthorq_gtm = {"system":{"ajax_url":"https://menthorq.com/wp-admin/admin-ajax.php","nonce":"4c11b822d9","site_url":"https://menthorq.com","home_url":"https://menthorq.com","timestamp":1786929938,"environment":"production"},"debug":{"enabled":false,"environment":"production"},"user":[],"container_id":"GTM-599ZCR89"};
//# sourceURL=gtm-tracking-js-extra
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/GoogleTagManager/Assets/Public/Js/gtm-tracking.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/Mixpanel/Assets/Public/Js/mixpanel-tracking.js
var menthorq_common = {"system":{"ajax_url":"https://menthorq.com/wp-admin/admin-ajax.php","nonce":"c1ac38650a","version":"1.30.1","site_url":"https://menthorq.com","home_url":"https://menthorq.com","timestamp":1786929938},"debug":{"enabled":false,"environment":"production"}};
//# sourceURL=common-core-js-extra
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/Core/Assets/Public/Js/common.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/modules/TableOfContents/Assets/Public/Js/tableofcontents.js
https://menthorq.com/wp-content/themes/memberpress-wp-th/dist/js/public.bundle.js
(function() {
'use strict';
// Function to get cookie value
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
return null;
}
// Function to delete cookie
function deleteCookie(name) {
document.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
// Read pending events from cookie
const cookieValue = getCookie('gtm_events_v2');
if (cookieValue) {
try {
// First decode URL encoding (browsers automatically encode cookies)
// Then decode from base64, then parse JSON
const urlDecoded = decodeURIComponent(cookieValue);
const decodedValue = atob(urlDecoded);
const events = JSON.parse(decodedValue);
// Validate that events is an array
if (!Array.isArray(events)) {
throw new Error('Events is not an array');
}
console.log('%c[TrackingManager GTM]%c Found ' + events.length + ' pending events in cookie', 'color: #4CAF50; font-weight: bold', 'color: inherit');
// Ensure dataLayer exists
window.dataLayer = window.dataLayer || [];
// Push all events to dataLayer
events.forEach(function(eventData, index) {
const dataLayerEvent = {
event: eventData.event
};
// Add all properties
if (eventData.properties && typeof eventData.properties === 'object') {
Object.keys(eventData.properties).forEach(function(key) {
dataLayerEvent[key] = eventData.properties[key];
});
}
dataLayerEvent._timestamp = eventData.timestamp;
window.dataLayer.push(dataLayerEvent);
console.log('%c[TrackingManager GTM]%c Event #' + (index + 1) + ':', 'color: #4CAF50; font-weight: bold', 'color: inherit', eventData);
});
console.log('%c[TrackingManager GTM]%c All events pushed to dataLayer', 'color: #4CAF50; font-weight: bold', 'color: inherit');
// Delete the cookie
deleteCookie('gtm_events_v2');
} catch (e) {
console.error('[TrackingManager GTM] Error parsing events from cookie:', e);
// Delete corrupted cookie
deleteCookie('gtm_events_v2');
}
}
// Also clean up old cookie format (v1) if it exists
deleteCookie('gtm_pending_events');
})();
(function(){
var GA4_COOKIE = 'ga4_client_id';
var GA4_LS_KEY = 'menthorq_ga4_client_id';
var COOKIE_DAYS = 730;
var MAX_RETRIES = 10;
var RETRY_MS = 500;function getCookie(name) {
var match = document.cookie.match(new RegExp('(?:^|; )' + name + '=([^;]*)'));
return match ? decodeURIComponent(match[1]) : '';
}function setCookie(name, value, days) {
var expires = new Date(Date.now() + days * 864e5).toUTCString();
var cookie = name + '=' + encodeURIComponent(value) + ';expires=' + expires + ';path=/;SameSite=Lax';
if (location.protocol === 'https:') cookie += ';Secure';
document.cookie = cookie;
}function extractClientId() {
var ga = getCookie('_ga');
if (ga) {
var parts = ga.split('.');
if (parts.length >= 4) {
return parts.slice(2).join('.');
}
}
return '';
}function capture() {
if (getCookie(GA4_COOKIE)) return true;var clientId = extractClientId();
if (clientId) {
setCookie(GA4_COOKIE, clientId, COOKIE_DAYS);
try { localStorage.setItem(GA4_LS_KEY, clientId); } catch(e) {}
return true;
}
return false;
}if (capture()) return;// _ga cookie not yet set — poll until gtag.js initializes
var attempts = 0;
var timer = setInterval(function() {
attempts++;
if (capture() || attempts >= MAX_RETRIES) {
clearInterval(timer);
// Last resort: restore from localStorage
if (!getCookie(GA4_COOKIE)) {
try {
var stored = localStorage.getItem(GA4_LS_KEY);
if (stored) setCookie(GA4_COOKIE, stored, COOKIE_DAYS);
} catch(e) {}
}
}
}, RETRY_MS);
})();