(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
Price Increase Notice to Customers — Free Template
Need to write a price increase notice to your customers? Here is a ready-made, respectful and fair wording — fill in the date and the reason and the text updates automatically. Copy it with one click, print it for the point of sale, share it on WhatsApp, or download it as an editable Word file.
Fill in the details — the text updates automatically:
Notice to Our Customers — Price Update
Dear customers,
Starting [Date], the prices of some of our products and services will be updated, due to [Reason].
We have done everything we can to keep the update to the minimum necessary. The updated prices will appear in our price list and at the point of sale.
[Summary of main changes]
Quotes and orders approved before the update takes effect will be honored at the previous price.
Thank you for your understanding and your trust — you will keep getting the same service and the same quality.
Sincerely,
The [Business name] team
How to announce a price increase — and keep your customers’ trust
A price update is a sensitive moment in the customer relationship, and the way you announce it decides whether it lands as fair or as an unpleasant surprise at the register. Rule one: announce in advance. For service businesses with regular clients — two weeks to a month ahead; in a shop — at least a few days, and on the day itself every price tag, the price list and the website are already updated. Under Israel’s Consumer Protection Law, the displayed price is the binding price at the register.
What does a good notice include? An exact effective date, what is being updated (and just as important — what is not), one brief matter-of-fact reason, and a commitment that quotes and orders already closed will be honored at the previous price. That last line is the biggest trust lever in the whole notice — and it also gives hesitating customers a good reason to close now.
As for tone: short and respectful wins. Don’t bury the news in a paragraph of apologies — customers appreciate directness, and over-apologizing signals that even you think the move is unjustified. For ongoing engagements (subscriptions, retainers), also check what your agreement says about advance notice of price changes — in most cases written notice a reasonable time ahead is required. Publish the notice in every channel on the same day: counter, WhatsApp, email and website.
Frequently Asked Questions
How far in advance should customers be told about a price increase?
For service businesses with regular clients, two weeks to a month ahead is customary — long enough for a customer to finish a process at the old price, short enough that the notice isn’t forgotten. A retail shop can announce a few days ahead; what matters is that on the effective day every displayed price is already updated.
Is there a legal duty to announce a price increase in Israel?
It depends on the business. Under the Consumer Protection Law, the price displayed on the product or shelf is the binding price at the register — so the display must be updated at the same moment as the price itself. In ongoing engagements (subscriptions, retainers, monthly services) the duty of advance notice comes from the agreement, and written notice a reasonable time ahead is usually required.
Should the notice state the reason for the increase?
Yes — briefly and honestly. “Due to rising raw material costs” or “due to supplier price increases” reads as fair, while a dry notice with no explanation invites speculation. Don’t overdo it: one sentence of reason is enough, and a long apology actually weakens the message.
What about quotes and orders closed before the update?
Honor them at the previous price — and say so explicitly in the notice. This is the line that makes the difference in perceived fairness: a customer who closed a price with you knows your word holds, and a hesitating customer gets an incentive to close before the effective date.
How do I word a price increase notice without losing customers?
Short, respectful and without over-apologizing: a clear effective date, what is updated and what is not, one matter-of-fact reason, and emphasis on what the customer keeps getting — the same service, the same quality. End with a thank-you. Publish in all channels at once: point of sale, WhatsApp, email and website.
Key Takeaways
Announce ahead: two weeks to a month for service businesses, at least a few days in retail
State the effective date, what is being updated, and one matter-of-fact reason
Quotes and orders already closed — honor at the previous price, and say so explicitly
Under the Consumer Protection Law the displayed price binds — update display and list the same day
The template here is free — auto-fill, WhatsApp, print or download as Word
Swapping labels and printing a new price list every update? With a digital signage screen in your business, the price list and customer notices update remotely in seconds — no printing, and no old price forgotten on the shelf.
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