(function () {
try {
// AQ-r2 (2026-06-09): respect the explicit-denial sentinel
// written by cookie-consent-harden.js writeATR() on any
// marketing-axis denial (payload.marketing === false; cycle-3 F1).
// Without this gate, the next page navigation re-creates
// gmx_first_touch from the current URL+referrer+utm_*+click_ids,
// silently undoing the reject-all deletion (sweep finding #1).
// The sentinel is cleared the moment the visitor grants
// marketing in the banner (analytics-only grant does NOT
// clear), restoring the writer path on the very next
// page load. Page-cache-safe: the sentinel is a
// browser-resident cookie checked in the inline script, so
// varnish/breeze-served HTML still hits this gate.
if (/(?:^|;\s*)gmx_consent_denied=1(?:;|$)/.test(document.cookie || '')) return;
var CLICK_IDS = ['gclid','fbclid','msclkid','ttclid','wbraid','gbraid','li_fat_id'];
var qs = new URLSearchParams(window.location.search);
var urlClickIdKey = null;
for (var i = 0; i < CLICK_IDS.length; i++) {
if (qs.get(CLICK_IDS[i])) { urlClickIdKey = CLICK_IDS[i]; break; }
}// Parse existing cookie.
var existing = null;
var match = document.cookie.match(/(?:^|;\s*)gmx_first_touch=([^;]+)/);
if (match) {
try { existing = JSON.parse(decodeURIComponent(match[1])); } catch (e) { existing = null; }
}// GWP-273 — referrer-enrichment branch.
// Keep existing unless either (a) URL carries a new click id
// the stored payload lacks (paid click is a higher-value
// signal and upgrades direct/organic), OR (b) the stored
// payload has empty referrer AND the current document.referrer
// is non-empty + external (Safari/ITP/policy-quirk catch:
// first-hit may have missed the referrer; later same-session
// page-loads can recover it).
var existingHasRef = !!(existing && existing.referrer && existing.referrer !== '');
var docRef = document.referrer || '';
var refHost = '';
if (docRef) {
try {
refHost = new URL(docRef).hostname.replace(/^www\./, '').toLowerCase();
} catch (e) { refHost = ''; }
}
var ownHost = (location.host || '').replace(/^www\./, '').toLowerCase();
var currentExternalRef = !!(refHost && refHost !== ownHost);
var canEnrichRef = !!existing && !existingHasRef && currentExternalRef;if (existing) {
if (!urlClickIdKey && !canEnrichRef) return;
if (urlClickIdKey && existing[urlClickIdKey] && !canEnrichRef) return;
}var utm_keys = [
'utm_source','utm_medium','utm_campaign','utm_content','utm_term',
'utm_adgroup','utm_matchtype','utm_network','utm_device','utm_placement'
];
// GWP-273 — merge-preserving base. When enriching an existing
// payload, retain its landing_url + ts + prior click ids /
// utms; only overlay referrer (and any click id appended below
// via the forEach). Branches with/without urlClickIdKey were
// collapsed — both produced the identical Object.assign — the
// click id is added uniformly later.
//
// GWP-273 design choice: "latest external referrer wins" —
// accepted edge case where a user opens a new external tab
// post-empty-first-touch and returns; low-volume, simple, no
// sentinel flag needed.
var data;
if (existing && canEnrichRef) {
data = Object.assign({}, existing, { referrer: docRef });
} else {
data = { landing_url: window.location.href, referrer: docRef, ts: Date.now() };
}
utm_keys.concat(CLICK_IDS).forEach(function (k) {
var v = qs.get(k);
if (v) data[k] = v;
});
// GWP-208 — carry Meta's first-party click-linker cookies (_fbc
// = fb.1.<ts>.<fbclid>, _fbp) into the captured payload so they
// ride the persistent gmx_first_touch cookie cross-page (LP X →
// LP Y) the same way the URL click-ids do. The CF7 hidden-field
// populator copies the whole payload verbatim, so fbc/fbp reach
// the lead even when the form lives on a page without ?fbclid.
var fbcMatch = document.cookie.match(/(?:^|;\s*)_fbc=([^;]+)/);
if (fbcMatch && fbcMatch[1]) data.fbc = decodeURIComponent(fbcMatch[1]);
var fbpMatch = document.cookie.match(/(?:^|;\s*)_fbp=([^;]+)/);
if (fbpMatch && fbpMatch[1]) data.fbp = decodeURIComponent(fbpMatch[1]);
var encoded = encodeURIComponent(JSON.stringify(data));
if (encoded.length > 3800) return;
var expires = new Date(Date.now() + 90 * 864e5).toUTCString(); // GWP-143 C1: match Google Ads 90-day attribution window
var secure = window.location.protocol === 'https:' ? '; Secure' : '';
document.cookie = 'gmx_first_touch=' + encoded + '; Path=/; Expires=' + expires + '; SameSite=Lax' + secure;
} catch (e) {}
})();
/* Meta Pixel base — inline in wp_head so Breeze Delay-All-JS does not defer it; fbevents.js is async-injected (optimizer-invisible). */
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');/* Symmetric with server GMX_Consent: revoke BEFORE init; cookies/sends held until grant. */
fbq('consent', 'revoke');
fbq('init', '1857131551802431');
fbq('track', 'PageView'); /* queued; flushed to Meta only after consent grant *//* Grant bridge — reads the SAME ATR marketing signal as GMX_Consent.applyConsent(). */
(function () {
function read(name){var m=document.cookie.match('(?:^|; )'+name.replace(/([.*+?^${}()|[\]\\])/g,'\\$1')+'=([^;]*)');return m?decodeURIComponent(m[1]):'';}
function marketingGranted(){
try {
var given = read('atr_cookie_notice_consent_given');
if (!given) return false; // undecided -> stay revoked
var c = JSON.parse(read('atr_cookie_notice_consent') || '{}');
return !!(c.marketing || c.ad_storage === 'granted');
} catch (e) { return false; } // NO-SILENT-OK: parse/read failure degrades gracefully to revoked (consent stays held; no marketing send) — not an error to report.
}
function apply(){ if (marketingGranted()) fbq('consent', 'grant'); }
apply();
document.addEventListener('click', function(ev){
if (ev.target && ev.target.closest && ev.target.closest('[class*="atr-cookie"], #atr-cookie-notice')) setTimeout(apply, 50);
}, true);
window.addEventListener('storage', apply);
})();
var breeze_prefetch = {"local_url":"https://gomixapp.com","ignore_remote_prefetch":"1","ignore_list":["/cart/","/checkout/","/my-account/","https://gomixapp.co.il/(.)/u05d4u05d8u05d5u05e4u05e1-u05e0u05e9u05dcu05d7-u05d1u05d4u05e6u05dcu05d7u05d4/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
Need a closed for holiday sign for the door of your business? Here is a ready-made, respectful notice to customers — fill in the holiday and the dates and the text updates automatically. Copy it with one click, print it for the door, share it on WhatsApp, or download it as a Word file. Perfect for Rosh Hashana, Passover or any chag on the Israeli calendar.
Fill in the details — the text updates automatically:
Closed for the Holiday
Dear customers,
We will be closed for [Reason] starting [Date].
We look forward to welcoming you back as usual on [Reopening date].
For urgent matters you can leave a message: [Phone or WhatsApp]
Wishing you and your families a happy holiday!
The [Business name] team
How to write a closed-for-holiday sign — without losing customers
Hang the sign a few days before the holiday, not on the morning of the holiday eve — customers plan shopping and errands ahead, and whoever finds a locked door with no warning remembers it. Alongside the door, the same notice should appear everywhere customers look for you: your Google Business Profile, your WhatsApp Business status and your social pages.
The most important line on the sign is not the closing — it is the reopening date. “Back on Tuesday” keeps the customer with you; “closed until further notice” sends them to a competitor. Name the holiday (it softens the message — in Israel everyone understands closing for a chag), give an exact date range, and add a contact channel for urgent matters if you have one. Finish with a holiday greeting — a sign is also a business card.
Two things businesses forget: special hours on Google — your Business Profile has a dedicated holiday-hours tool, and a customer who checks Google, sees “open” and finds a locked door will write a review about it; and chol hamoed (the intermediate days) — if you are open on shortened hours, spell them out precisely instead of “partially open”. And remember that your employees deserve a separate, orderly notice about the holiday work schedule.
Frequently Asked Questions
What must a closed-for-holiday sign include?
The name of the holiday, the date the closure starts, and above all — an explicit reopening date. “Back on Tuesday, April 7” works far better than “closed until further notice”, which leaves the customer in uncertainty. Add a contact channel for urgent matters and a warm holiday greeting.
When should the sign go up, and where else should the notice appear?
A few days before the holiday — not on the morning of the holiday eve, when some customers have already planned to come. Alongside the door, publish the same notice on your Google Business Profile, your WhatsApp Business status and your social pages, so customers meet the information in every channel where they look for you.
Should I also update my hours on Google before the holiday?
Yes — and it is critical: most customers check Google before heading out. Google Business Profile has a dedicated “special hours” tool for holidays — set your closure dates in advance and Google will show customers the business is closed on those dates. A sign on the door without a Google update sends customers to a locked door.
What do I write if we are open on chol hamoed with shorter hours?
Spell the hours out precisely — “during chol hamoed we are open 9:00-14:00” — rather than a vague “partially open”. If the intermediate-days hours differ from day to day, add a small days-and-hours table, or hang a temporary opening hours sign for the holiday next to this one.
How do I word a sign for a longer closure, like a company-wide break?
Give a full date range (“from Sunday, April 12 to Thursday, April 23”), an explicit return date, and who answers urgent inquiries in the meantime — phone, WhatsApp or email. For businesses with regular customers it is worth sending the notice by mailing list or WhatsApp a week ahead as well, not relying on the sign alone.
Key Takeaways
A closed-for-holiday sign must state an explicit reopening date — never “until further notice”
Hang it a few days ahead, and publish on Google, WhatsApp and social too
Set “special hours” in your Google Business Profile before every holiday
Open on chol hamoed? Give exact hours, not “partially open”
The template here is free — auto-fill, WhatsApp share, print or download
The same ritual every holiday eve — print, hang, take down after the chag? With a digital signage screen at the entrance you schedule the holiday notice ahead: it goes up by itself on the holiday eve and switches back to your regular opening hours when you return.
var atrCookieNoticeSettings = {"cookieName":"atr_cookie_notice_consent","decisionCookieName":"atr_cookie_notice_consent_given","expiryDays":"365","autoHideDelay":"0","enableDebug":"","siteName":"GoMixApp","isPrivacyPage":"","privacyPolicyUrl":"https://gomixapp.com/privacy-policy/","privacyNoteText":"\ud83d\udca1 You can read this page while deciding about cookies","mode":"simple"};
//# sourceURL=atr-cookie-notice-simple-js-extra