window.dataLayerPYS = window.dataLayerPYS || [];
console.log('PixelYourSite PRO version 12.6.6');
var breeze_prefetch = {"local_url":"https://www.canadiansavers.ca","ignore_remote_prefetch":"1","ignore_list":["/how-to-earn-points/","/login/","/profile/","/forgot-password/","/profile/my-brands/","/profile/my-categories/","/profile/my-stores/","/sign-up/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://www.canadiansavers.ca/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
var pysTikTokRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-tiktok/v1/event","debug":""};
var pysOpenAIRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-openai/v1/event","debug":""};
var pysFacebookRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-facebook/v1/event","debug":""};
//# sourceURL=jquery-core-js-extra
(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
.push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '230245');
ml('enablePopups', true);
jQuery(document).ready(function($) {
// Notification function
function showNotification(message) {
const container = $('.tfs-notification-container');
const notification = $(`
<div class="tfs-notification">
<span class="tfs-notification-icon">
<svg viewBox="0 0 24 24" width="16" height="16">
<polyline points="20 6 9 17 4 12" fill="none" stroke="white" stroke-width="2"/>
</svg>
</span>
<span class="tfs-notification-message">${message}</span>
</div>
`);
container.append(notification);
notification[0].offsetHeight;
setTimeout(() => {
notification.addClass('show');
}, 10);
setTimeout(() => {
notification.removeClass('show');
setTimeout(() => {
notification.remove();
}, 300);
}, 3000);
}
// Handle Select All button
$('.select-all-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', true);
});
// Handle Select None button
$('.select-none-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', false);
});
// Handle search functionality
let searchTimeout;
$('.taxonomy-search-input').on('input', function() {
const $input = $(this);
const $container = $input.closest('.taxonomy-follow-list');
clearTimeout(searchTimeout);
searchTimeout = setTimeout(function() {
const searchTerm = $input.val().toLowerCase();
const $items = $container.find('.taxonomy-item');
const $noTerms = $container.find('.no-terms-message');
let visibleItems = 0;
$items.each(function() {
const termName = $(this).data('term-name');
if (termName.includes(searchTerm)) {
$(this).show();
visibleItems++;
} else {
$(this).hide();
}
});
if (visibleItems === 0) {
$noTerms.show();
} else {
$noTerms.hide();
}
}, 300);
});
// Handle accordion toggles
$('.accordion-toggle').on('click', function(e) {
e.preventDefault();
const $button = $(this);
const $content = $button.closest('.followed-item-header').next('.accordion-content');
const isExpanded = $button.attr('aria-expanded') === 'true';
$button.attr('aria-expanded', !isExpanded);
if (!isExpanded) {
$content.prop('hidden', false);
const $item = $button.closest('.followed-item');
const termId = $item.data('term-id');
const taxonomy = $item.data('taxonomy');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'update_last_visit',
term_id: termId,
taxonomy: taxonomy,
nonce: 'bd017affde'
}
});
} else {
$content.prop('hidden', true);
}
});
// Form submission handler: regular POST submit, no AJAX
$('.taxonomy-follow-form').off('submit').on('submit', function() {
const $form = $(this);
const $button = $form.find('.follow-taxonomy-button');
$button.prop('disabled', true).text('Updating...');
});
const $stickyCta = $('.tfs-sticky-cta');
let activeStickyButton = null;
function isMobileTfs() {
return window.matchMedia('(max-width: 767px)').matches;
}
function getActiveLauncher() {
const $launchers = $('.tfs-add-button-wrapper:visible');
if (!$launchers.length) {
return null;
}
let best = null;
let bestTop = Number.POSITIVE_INFINITY;
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
$launchers.each(function() {
const rect = this.getBoundingClientRect();
const absoluteTop = rect.top + scrollTop;
if (absoluteTop < bestTop) {
bestTop = absoluteTop;
best = this;
}
});
return best;
}
function setStickyButtonFromLauncher(launcher) {
if (!launcher || !$stickyCta.length) {
return;
}
const button = launcher.querySelector('.tfs-open-modal-button');
if (!button) {
return;
}
const modalTarget = button.getAttribute('data-tfs-modal-target') || '';
if (activeStickyButton === modalTarget && $stickyCta.children().length) {
return;
}
activeStickyButton = modalTarget;
const clone = button.cloneNode(true);
clone.classList.add('tfs-sticky-open-modal-button');
$stickyCta.empty().append(clone);
}
function updateStickyCta() {
if (!$stickyCta.length) {
return;
}
if (!isMobileTfs()) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
if ($('.tfs-modal-overlay.is-open').length) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true');
$('body').removeClass('has-tfs-sticky-cta');
return;
}
const launcher = getActiveLauncher();
if (!launcher) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
setStickyButtonFromLauncher(launcher);
const rect = launcher.getBoundingClientRect();
const shouldShow = rect.bottom < 0 || rect.top > (window.innerHeight - 80);
$stickyCta.toggleClass('is-visible', shouldShow)
.attr('aria-hidden', shouldShow ? 'false' : 'true');
$('body').toggleClass('has-tfs-sticky-cta', shouldShow);
}
$(window).on('scroll resize orientationchange load', updateStickyCta);
$(document).on('click', '.tfs-sticky-cta .tfs-open-modal-button', function() {
setTimeout(updateStickyCta, 20);
});
setTimeout(updateStickyCta, 50);
// Individual follow button handler
$('.tfs-follow-button').on('click', function(e) {
if (!$(this).hasClass('follow-taxonomy-button')) {
e.preventDefault();
var $button = $(this);
var termId = $button.data('term-id');
var taxonomy = $button.data('taxonomy');
var action = $button.data('action');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: action,
term_id: termId,
taxonomy: taxonomy,
nonce: 'bd017affde'
},
beforeSend: function() {
$button.prop('disabled', true).addClass('loading');
},
success: function(response) {
if (response.success) {
if (response.data.is_following) {
$button.addClass('is-following')
.data('action', 'unfollow_term');
showNotification('Successfully followed!');
} else {
$button.removeClass('is-following')
.data('action', 'follow_term');
showNotification('Successfully unfollowed');
}
// Reload page after a short delay
setTimeout(function() {
window.location.reload();
}, 1500);
} else {
alert('Action failed. Please try again.');
}
},
error: function() {
alert('An error occurred. Please try again.');
},
complete: function() {
$button.prop('disabled', false).removeClass('loading');
}
});
}
});
});
document.documentElement.className += " js";
(function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();
window.pushMST_config={"vapidPK":"BPXoRQolBdaYgbUv5xasrzRIkdVBsxyQ5qCGGAJgqiEAYVeWlVWos21eT1pHT1Ve4H0LoT2UlGbN5N78rDeHAz4","enableOverlay":true,"swPath":"/sw.js","i18n":{}};
var pushmasterTag = document.createElement('script');
pushmasterTag.src = "https://cdn.pushmaster-cdn.xyz/scripts/publishers/648adb4fc6ef390008e58b83/SDK.js";
pushmasterTag.setAttribute('defer','');
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(pushmasterTag, firstScriptTag);
(function(){
var loc = window.location.href;
var dd = document.createElement('script');
dd.type = 'text/javascript'; dd.src = '//static.digidip.net/canadiansavers.js?loc=' + loc;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(dd, s);
})();
Contests and Gift Cards Jean Coutu Latest offer published on: Sep 10, 26
2 active offers
Sep 10, 26 latest publication
Oct 7, 26 next known deadline
Jean Coutu is a Canadian drugstore group that is located across Quebec, Ontario, and New Brunswick. If you live in any of those provinces and collect Air Miles, you’re in luck! Find here lots of printable Jean Coutu coupons to help you earn free Air Miles reward miles with your in-store purchases at Jean Coutu!
Contests in Canada – Win Cash, Gift Cards & Prizes Sep 10, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Aug 24, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Aug 20, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Aug 13, 2026
Health & Beauty Contests Canada Jul 25, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Jul 24, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Jul 3, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Jun 24, 2026
Contests in Canada – Win Cash, Gift Cards & Prizes Jun 23, 2026
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(adsbygoogle = window.adsbygoogle || []).push({});
(function() {
function getUTM(param) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(param) || '';
}
// Hook global gtag
if (typeof gtag !== 'undefined') {
const originalGtag = gtag;
window.gtag = function() {
// arguments = ['event', 'AdSense', {...}]
if (arguments[0] === 'event' && arguments[1] === 'AdSense') {
let params = arguments[2] || {};
// Override avec les vraies valeurs URL
params.utm_campaign = getUTM('utm_campaign');
params.utm_source = getUTM('utm_source');
params.utm_medium = getUTM('utm_medium');
params.utm_content = getUTM('utm_content');
arguments[2] = params;
}
return originalGtag.apply(this, arguments);
};
}
})();
(function() {
if (window.innerWidth > 767) return;
let shown = false;
window.addEventListener('scroll', function() {
if (shown) return;
document.querySelectorAll('.sidebar-widget-mobile-delay').forEach(el => {
el.style.display = '';
});
shown = true;
}, { passive: true });
})();
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/js.cookie-2.1.3.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/sha256.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/tld.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/public.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/inview.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/pgwmodal.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/unveil.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/hoverintent.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/countdown.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/custom.js
jQuery(document).ready(function($) {
var retina = window.devicePixelRatio > 1 ? true : false;
if(retina) {
jQuery(".logo_image img").attr("src", "https://www.canadiansavers.ca/wp-content/uploads/2025/08/canadian-savers-logo.webp");
}
});
//# sourceURL=rehub-js-after
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/userlogin.js