Nutze unseren Kampagnen-Booster, um das Beste aus Black Friday herauszuholen
In diesem Video zeigen wir dir, wie du die Code-Snippets testen kannst.
In nur drei Schritten zu deinem Black Friday Setup
Für viele Marketer gehört Black Friday zu den umsatzstärksten Tagen des Jahres. Die Ziele sind hoch, der Wettbewerb noch höher. Trotzdem bleiben die Ergebnisse oft hinter den Erwartungen zurück.
Der Hauptgrund: Kampagnen und Angebote werden auf der Webseite nicht deutlich genug wahrgenommen. Nutzer übersehen Rabatte, Aktionen gehen im Layout unter und wertvolle Conversion-Potenziale bleiben ungenutzt.
-
Wichtig: Aktiviere den jeweiligen Kampagnen Booster in deinem visuellen Editor
-
Kopiere das angepasste JavaScript & CSS und überprüfe es in deinem Setup
-
Pflege deinen Content nach und stelle den Test nach erfolgreicher QA live
Hinweis: Varify übernimmt keine Verantwortung für die Funktionsweise des Codes und der Informationen. Es liegt in der Verantwortung des Nutzers, den Testcode gründlich zu überprüfen und korrekt umzusetzen.
So nutzen unsere Kunden Varify an Black Friday
Flexibilität ohne Entwickler
Verändere das Styling und füge Kampagnen-Booster schnell selbst hinzu, ohne auf die Dev-Abteilung angewiesen zu sein. Das spart Zeit und du kannst sofort reagieren.
Schnelle Landingpage-Tests
Dank unseres minimalen Scripts kannst du Landingpages in deinem CMS designen und mit Redirects direkt testen – schnell, einfach und ohne lange Wartezeiten.
Einfaches Styling für den Black-Friday
Willst du deinen Shop auf Black Friday anpassen oder bestimmte Elemente durch Verschieben hervorheben? Mit dem visuellen Editor kannst du das Design blitzschnell ändern, ohne tief in den Code einzugreifen.
Präzises Targeting für Kampagnen
Teste, wie bestimmte Zielgruppen auf deine Änderungen reagieren, indem du sie gezielt ansteuerst – mit UTM-Parametern, Geräteprofilen oder Ländern. So weißt du genau, was funktioniert – und für wen.
Angepasstes JS & CSS für die Varify Kampagnen Booster
Black Friday PopUp - Bild
Exit Intent
Du kannst ein Popup mit einem Bild anzeigen, das zu einem bestimmten Zeitpunkt erscheint. Wann genau es auftaucht, kannst du selbst anpassen.
window.varify.helpers.onDomLoaded(() => {
// === BASIC SETTINGS (adjust if needed) ===
const POPUP_SESSION_KEY = 'varifyExitPopupSeen'; // sessionStorage key
const targetUrl = 'https://varify.io/webinars'; // landing page URL
const imageSrc = 'https://images.varify.io/bb686c8cd78a3cad7c19b26d7df61c2b634f336481bd52130e1c1d570343f346/example_bf.jpg'; // popup image
const imageAlt = 'Black Friday Deal'; // image alt text
const popupDelayMs = 1000; // delay before popup opens (in ms)
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
window.varify.helpers.waitFor('.varify-exitIntent-content', (contentDiv) => {
const wrapper = document.querySelector('.varify-exitIntent-wrapper');
const backdrop = document.querySelector('.varify-exitIntent-backdrop');
const modal = document.querySelector('.varify-exitIntent');
const closeBtn = document.querySelector('.varify-exitIntent-close');
if (!wrapper || !backdrop || !modal || !contentDiv) return;
const alreadySeen = sessionStorage.getItem(POPUP_SESSION_KEY) === '1';
// move close button into modal so it overlays the image
if (closeBtn && closeBtn.parentElement !== modal) {
modal.appendChild(closeBtn);
}
// === replace popup content with clickable image ===
contentDiv.innerHTML = '';
const link = document.createElement('a');
link.href = targetUrl;
link.target = '_blank';
link.rel = 'noopener noreferrer';
const img = document.createElement('img');
img.src = imageSrc;
img.alt = imageAlt;
img.style.display = 'block';
img.style.width = '100%';
img.style.height = 'auto';
link.appendChild(img);
contentDiv.appendChild(link);
// === always block existing exit-intent triggers ===
const stopExitIntent = (evt) => {
if (
(evt.type === 'mouseleave' || evt.type === 'mouseout') &&
(evt.relatedTarget === null || evt.clientY {
sessionStorage.setItem(POPUP_SESSION_KEY, '1');
wrapper.classList.add('vf-show');
};
setTimeout(openPopup, popupDelayMs);
// === close helpers ===
const closePopup = () => {
wrapper.classList.remove('vf-show');
};
// close via X button
if (closeBtn) {
closeBtn.addEventListener('click', (e) => {
e.preventDefault();
closePopup();
});
}
// close via click outside modal
backdrop.addEventListener('click', (e) => {
if (!modal.contains(e.target)) {
closePopup();
}
});
// close via ESC key
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
closePopup();
}
});
});
});
/* wrapper: hidden by default, visible when vf-show is added */
.varify-exitIntent-wrapper {
display: none;
}
.varify-exitIntent-wrapper.vf-show {
display: block;
}
/* backdrop: full-screen overlay */
.varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop {
position: fixed;
inset: 0;
display: flex !important;
align-items: center;
justify-content: center;
background-color: rgba(0, 0, 0, 0.8);
z-index: 2147483647;
}
/* modal: pure container around the image */
.varify-exitIntent {
position: relative;
max-width: 90vw;
max-height: 90vh;
background: transparent;
border: none;
box-shadow: none;
}
/* remove padding: pure image modal */
.varify-exitIntent-content {
padding: 0 !important;
}
/* image should never be larger than viewport height */
.varify-exitIntent-content img {
display: block;
width: 100%;
height: auto;
max-height: 90vh;
object-fit: contain;
}
/* hide original header bar if present */
.varify-exitIntent-header {
display: none !important;
}
/* close button overlay above the image */
.varify-exitIntent-close {
position: absolute !important;
top: 12px;
right: 12px;
width: 24px;
height: 24px;
display: flex !important;
align-items: center;
justify-content: center;
background: transparent;
color: #fff !important;
cursor: pointer;
z-index: 2147483647;
}
Vertraue auf die größte in Deutschland entwickelte A/B-Testing-Plattform
Black Friday PopUp - Content
Exit Intent
Dieses Popup enthält Text, Bullet Points und einen Button. Du kannst den Text nach Belieben anpassen und festlegen, wann das Popup erscheinen soll, um deine Nutzer gezielt zu informieren.
window.varify.helpers.onDomLoaded(() => {
// ================================
// CONFIG – YOU CAN EDIT THIS
// ================================
// Unique key for this popup. If you duplicate the test, change this key.
const POPUP_SESSION_KEY = 'varifyBFContentPopupSeen';
// When should the popup appear after page load (in milliseconds)?
const POPUP_DELAY_MS = 1000;
// Popup texts
const POPUP_HEADLINE = 'Black Friday Mega Deal!';
const POPUP_SUBHEADLINE = 'Don\'t miss our biggest discounts';
// Bullet points (each entry = one bullet line)
const POPUP_BULLETS = [
'Up to 50% off everything',
'Free shipping on all orders',
'Limited time offer'
];
// CTA button
const POPUP_CTA_URL = 'https://example.com/black-friday'; // landing page URL
const POPUP_CTA_TEXT = 'Save Now →'; // CTA label
// ================================
// RUNTIME LOGIC – DO NOT TOUCH :)
// ================================
// Do not run inside Varify editor
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
window.varify.helpers.waitFor('.varify-exitIntent-content', (contentDiv) => {
const wrapper = document.querySelector('.varify-exitIntent-wrapper');
const backdrop = document.querySelector('.varify-exitIntent-backdrop');
const modal = document.querySelector('.varify-exitIntent');
const closeBtn = document.querySelector('.varify-exitIntent-close');
if (!wrapper || !backdrop || !modal || !contentDiv) return;
const alreadySeen = sessionStorage.getItem(POPUP_SESSION_KEY) === '1';
// Always block the original exit-intent logic of the site
const stopExitIntent = (evt) => {
if (
(evt.type === 'mouseleave' || evt.type === 'mouseout') &&
(evt.relatedTarget === null || evt.clientY <= 0) ) { evt.stopImmediatePropagation(); if (evt.preventDefault) evt.preventDefault(); } }; document.addEventListener('mouseleave', stopExitIntent, true); document.addEventListener('mouseout', stopExitIntent, true); // If shown once in this session: hide wrapper and stop everything if (alreadySeen) { wrapper.classList.remove('vf-show'); wrapper.style.display = 'none'; return; } // Ensure close button is inside the modal so it overlays the content if (closeBtn && closeBtn.parentElement !== modal) { modal.appendChild(closeBtn); } // Build popup content contentDiv.innerHTML = ''; contentDiv.style.textAlign = 'left'; const headline = document.createElement('p'); headline.className = 'bf-exit-intent-headline'; headline.textContent = POPUP_HEADLINE; const subheadline = document.createElement('p'); subheadline.className = 'bf-exit-intent-subheadline'; subheadline.textContent = POPUP_SUBHEADLINE; const ul = document.createElement('ul'); ul.className = 'bf-exit-intent-bullets'; POPUP_BULLETS.forEach((txt) => {
const li = document.createElement('li');
li.textContent = txt;
ul.appendChild(li);
});
const cta = document.createElement('a');
cta.className = 'bf-exit-intent-cta';
cta.href = POPUP_CTA_URL;
cta.target = '_blank';
cta.rel = 'noopener noreferrer';
cta.textContent = POPUP_CTA_TEXT;
contentDiv.appendChild(headline);
contentDiv.appendChild(subheadline);
contentDiv.appendChild(ul);
contentDiv.appendChild(cta);
// Open popup after delay (once per session)
const openPopup = () => {
sessionStorage.setItem(POPUP_SESSION_KEY, '1');
wrapper.classList.add('vf-show');
};
setTimeout(openPopup, POPUP_DELAY_MS);
// Close helpers
const closePopup = () => {
wrapper.classList.remove('vf-show');
};
// Close via X button
if (closeBtn) {
closeBtn.addEventListener('click', (e) => {
e.preventDefault();
closePopup();
});
}
// Close via click outside modal
backdrop.addEventListener('click', (e) => {
if (!modal.contains(e.target)) {
closePopup();
}
});
// Close via ESC key
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') {
closePopup();
}
});
});
});
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* removes ALL default/theme/elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) {
const btn = e.target.closest(„.varify-copy-btn“);
if (!btn) return;
const codeEl = btn.parentElement.querySelector(„code“);
if (!codeEl) return;
const code = codeEl.innerText;
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(code);
} else {
const ta = document.createElement(„textarea“);
ta.value = code;
document.body.appendChild(ta);
ta.select();
document.execCommand(„copy“);
ta.remove();
}
btn.classList.add(„copied“);
btn.textContent = „Copied!“;
setTimeout(() => {
btn.classList.remove(„copied“);
btn.textContent = „Copy“;
}, 1400);
});
/* ================================
BASE POPUP BEHAVIOUR
================================ */
/* Wrapper hidden by default, visible when .vf-show is added via JS */
.varify-exitIntent-wrapper {
display: none;
}
.varify-exitIntent-wrapper.vf-show {
display: block;
}
/* Backdrop: dark overlay, only when wrapper has .vf-show */
.varify-exitIntent-backdrop {
display: none !important;
background-color: rgba(0, 0, 0, 0.8) !important;
}
.varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop {
display: flex !important;
align-items: center !important;
justify-content: center !important;
position: fixed;
inset: 0;
z-index: 2147483646;
}
/* Optional: if you ever want to lock scroll on the page:
.vf-no-scroll {
overflow: hidden !important;
}
*/
/* Header not needed for this design */
.varify-exitIntent-header {
display: none !important;
}
/* ================================
MODAL STYLING (BLACK FRIDAY LOOK)
================================ */
.varify-exitIntent {
background-color: #000 !important;
color: #fff !important;
border-radius: 10px !important;
box-shadow: 0 0 8px rgb(68 64 64 / 30%) !important;
width: 540px !important;
max-width: 80% !important;
max-height: 80% !important;
position: relative !important;
z-index: 2147483647 !important;
/* above backdrop, below close button */
overflow: visible !important;
/* do not cut off the close button */
}
/* If your HTML hat eine .varify-exitIntent-inner: scroll only inside */
.varify-exitIntent-inner {
max-height: 80vh;
overflow: auto;
}
/* Content block */
.varify-exitIntent-content {
padding: 30px !important;
text-align: left !important;
}
/* ================================
TEXT STYLES
================================ */
.bf-exit-intent-headline {
font-size: 22px;
font-weight: 800;
margin: 0 0 10px;
color: #fff;
}
.bf-exit-intent-subheadline {
font-size: 18px;
margin: 0 0 15px;
color: #fff;
}
.bf-exit-intent-bullets {
list-style: none;
padding: 0;
margin: 0 0 20px;
}
.bf-exit-intent-bullets li {
margin-bottom: 6px;
padding-left: 20px;
position: relative;
color: #fff;
}
.bf-exit-intent-bullets li:before {
content: "•";
color: #d32c2c;
position: absolute;
left: 0;
top: 0;
}
/* CTA button */
.bf-exit-intent-cta {
display: inline-block;
background-color: #d32c2c;
color: #fff !important;
padding: 10px 20px;
border-radius: 4px;
font-size: 16px;
font-weight: 600;
text-decoration: none !important;
}
.bf-exit-intent-cta:hover {
background-color: #b71c1c;
}
/* ================================
CLOSE BUTTON (X) – ALWAYS ON TOP
================================ */
.varify-exitIntent-close {
position: absolute !important;
top: 12px !important;
right: 12px !important;
width: 28px !important;
height: 28px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
background: transparent !important;
border: none !important;
cursor: pointer !important;
z-index: 2147483648 !important;
/* above everything */
color: #fff !important;
}
.varify-exitIntent-close-icon {
width: 16px;
height: 16px;
color: #fff !important;
}
Black Friday Subtile Notification
Notification
Eine dezente Benachrichtigung, die unten links erscheint. Damit kannst du den Nutzer auf eine andere Aktionsseite weiterleiten, ohne ihn zu stören – perfekt für subtile Call-to-Actions.
window.varify.helpers.onDomLoaded(() => {
// ================================
// CONFIG – YOU CAN EDIT THIS
// ================================
// Notification should be shown only once per browser session
const SESSION_KEY = 'varifyBFNotificationSeen';
// Text content
const INFO_TEXT = 'Black Friday Deal'; // small badge
const HEADLINE_TEXT = 'Black Friday Special'; // main title
const SUBHEADLINE_TEXT = 'Save 30% on everything today'; // sub text
const CTA_TEXT = 'Save now →'; // CTA label
// Link for CTA and full notification
const CTA_LINK = 'https://example.com/black-friday';
// ================================
// RUNTIME LOGIC – DO NOT TOUCH :)
// ================================
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
window.varify.helpers.waitFor('.varify-notification-content', () => {
const contentDiv = document.querySelector('.varify-notification-content');
const wrapper = document.querySelector('.varify-notification-wrapper');
const notification = document.querySelector('.varify-notification');
const closeBtn = document.querySelector('.varify-notification-close');
const wrapperLink = document.querySelector('.varify-notification-link');
if (!contentDiv || !notification) return;
const alreadySeen = sessionStorage.getItem(SESSION_KEY) === '1';
// === If already seen: hide everything immediately and do nothing further ===
if (alreadySeen) {
if (wrapper) wrapper.style.display = 'none';
notification.style.display = 'none';
return;
}
// === First session review – set content ===
// Info badge
let infoDiv = contentDiv.querySelector('.webinar-info');
if (!infoDiv) {
infoDiv = document.createElement('div');
infoDiv.className = 'webinar-info';
contentDiv.insertBefore(infoDiv, contentDiv.firstChild);
}
infoDiv.textContent = INFO_TEXT;
// Headline
const headlineEl = contentDiv.querySelector('.varify-notification-headline');
if (headlineEl) {
headlineEl.textContent = HEADLINE_TEXT;
}
// Subheadline
const subEl = contentDiv.querySelector('.varify-notification-text');
if (subEl) {
subEl.textContent = SUBHEADLINE_TEXT;
}
// CTA inside notification
let ctaEl = contentDiv.querySelector('.webinar-signup');
if (!ctaEl) {
ctaEl = document.createElement('a');
ctaEl.className = 'webinar-signup';
contentDiv.appendChild(ctaEl);
}
ctaEl.textContent = CTA_TEXT;
ctaEl.href = CTA_LINK;
ctaEl.target = '_blank';
ctaEl.rel = 'noopener noreferrer';
// whole notification clickable
if (wrapperLink) {
wrapperLink.href = CTA_LINK;
wrapperLink.target = '_blank';
wrapperLink.rel = 'noopener noreferrer';
}
// Mark as 'seen' from now on
sessionStorage.setItem(SESSION_KEY, '1');
// Close-Button: versteckt Notification komplett (Session-Flag bleibt)
if (closeBtn) {
closeBtn.addEventListener('click', (e) => {
e.preventDefault();
if (wrapper) wrapper.style.display = 'none';
notification.style.display = 'none';
});
}
});
});
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* removes ALL default/theme/elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) {
const btn = e.target.closest(„.varify-copy-btn“);
if (!btn) return;
const codeEl = btn.parentElement.querySelector(„code“);
if (!codeEl) return;
const code = codeEl.innerText;
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(code);
} else {
const ta = document.createElement(„textarea“);
ta.value = code;
document.body.appendChild(ta);
ta.select();
document.execCommand(„copy“);
ta.remove();
}
btn.classList.add(„copied“);
btn.textContent = „Copied!“;
setTimeout(() => {
btn.classList.remove(„copied“);
btn.textContent = „Copy“;
}, 1400);
});
/* Black box with white text */
.varify-notification.v_animated.v_animation.varify-init {
background-color: #000 !important;
color: #fff !important;
}
/* Headline and text in white */
.varify-notification-headline,
.varify-notification-text {
color: #fff !important;
}
/* Text margin at the bottom */
.varify-notification-text {
margin-bottom: 5px !important;
}
/* CTA text style */
.webinar-signup {
color: #fff !important;
font-size: 14px !important;
font-weight: 600 !important;
text-decoration: none !important;
}
.webinar-signup:hover {
text-decoration: underline !important;
}
/* Make the close icon (X) visible */
.varify-notification-close {
color: #fff !important;
}
/* Bubble design for "Black Friday Deal" */
.webinar-info {
background-color: #d32c2c !important;
/* red bubble */
color: #fff !important;
/* white text */
border-radius: var(--border-radius--200) !important;
font-weight: 600 !important;
font-size: 12px !important;
padding: 2px 6px !important;
max-width: 160px !important;
text-align: center !important;
margin-bottom: 8px !important;
margin-top: 6px !important;
}
/* ---------- MOBILE ADJUSTMENTS ---------- */
@media (max-width: 767px) {
.varify-notification-headline {
font-size: 14px !important;
}
.varify-notification-text {
font-size: 12px !important;
margin-bottom: 4px !important;
}
.webinar-info {
font-size: 10px !important;
padding: 1px 4px !important;
max-width: 120px !important;
margin-bottom: 6px !important;
}
.webinar-signup {
font-size: 12px !important;
}
}
@media (max-width: 576px) {
/* Smaller overall box */
.varify-notification {
padding: 8px 10px !important;
min-width: 200px !important;
max-width: 260px !important;
border-radius: 3px !important;
bottom: 20px !important;
left: 20px !important;
}
/* Smaller headline */
.varify-notification-headline {
font-size: 13px !important;
line-height: 1.2 !important;
margin-bottom: 2px !important;
}
/* Smaller subheadline */
.varify-notification-text {
font-size: 11px !important;
line-height: 1.2 !important;
}
/* Smaller badge */
.webinar-info {
font-size: 10px !important;
padding: 1px 4px !important;
max-width: 100px !important;
margin-bottom: 4px !important;
}
/* Smaller Close-X */
.varify-notification-close {
font-size: 16px !important;
width: 12px !important;
height: 12px !important;
right: 10px !important;
margin-top: -6px !important;
}
}
Black Friday Information Bar
Information Bar
Mit der Info Bar kannst du drei verschiedene Inhalte anzeigen und das SVG durch dein eigenes Design ersetzen. Die Tags lassen sich ebenfalls anpassen, und das ganze Element ist verlinkt, sodass du es einfach weiterverlinken kannst.
window.varify.helpers.waitFor('.varify-usp-bar', (bar) => {
// === SETTINGS FOR YOU ===
const headlines = [
'30% OFF EVERYTHING',
'30% OFF EVERYTHING',
'30% OFF EVERYTHING'
];
const mobileHeadline = '30% OFF EVERYTHING – MOBILE SPECIAL';
const targetUrl = 'https://example.com/black-friday';
const iconVariant = 'cross';
const crossIconSvg =
'';
const defaultIconSvg =
'';
const isMobile = window.matchMedia('(max-width: 767px)').matches;
if (isMobile) {
bar.classList.add('varify-usp-bar--mobile-single');
}
// === APPLY TEXTS ===
bar.querySelectorAll('.varify-usp-bar-headline').forEach((el, idx) => {
if (isMobile) {
el.textContent = mobileHeadline;
} else {
el.textContent = headlines[idx] || headlines[0];
}
});
// === APPLY ICONS ===
bar.querySelectorAll('.varify-usp-bar-icon').forEach((el) => {
el.innerHTML = iconVariant === 'cross' ? crossIconSvg : defaultIconSvg;
});
// === MAKE THE BAR CLICKABLE ===
bar.addEventListener('click', (evt) => {
if (evt.target.closest('.varify-usp-bar-close')) return;
window.location.href = targetUrl;
});
// ------------------------------------------------------------------
// === MOBILE FEATURE (NEU – REST UNVERÄNDERT) ===
// ------------------------------------------------------------------
if (isMobile) {
// nur der erste USP bleibt sichtbar
const usps = bar.querySelectorAll('.varify-usp-bar-usp');
usps.forEach((usp, index) => {
if (index > 0) {
usp.style.display = 'none';
}
});
}
});
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* removes ALL default/theme/elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) {
const btn = e.target.closest(„.varify-copy-btn“);
if (!btn) return;
const codeEl = btn.parentElement.querySelector(„code“);
if (!codeEl) return;
const code = codeEl.innerText;
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(code);
} else {
const ta = document.createElement(„textarea“);
ta.value = code;
document.body.appendChild(ta);
ta.select();
document.execCommand(„copy“);
ta.remove();
}
btn.classList.add(„copied“);
btn.textContent = „Copied!“;
setTimeout(() => {
btn.classList.remove(„copied“);
btn.textContent = „Copy“;
}, 1400);
});
/* Black Friday styling: black background, white text, hide subtext */
.varify-usp-bar-wrapper,
.varify-usp-bar {
background-color: #000 !important;
color: #fff !important;
}
.varify-usp-bar-headline {
color: #fff !important;
font-size: 18px !important;
font-weight: 700 !important;
}
.varify-usp-bar-text {
display: none !important;
/* Remove subheadline; only headlines remain */
}
.varify-usp-bar-icon svg {
fill: #fff !important;
stroke: #fff !important;
width: 24px;
height: 24px;
}
/* Zeigt den Mauszeiger als „Link-Hand“ über der gesamten Bar */
.varify-usp-bar-wrapper {
cursor: pointer;
}
/* Stellt sicher, dass das Schließ-X sichtbar bleibt und nicht vom Icon‑Swap betroffen ist */
.varify-usp-bar-close {
color: #ffffff !important;
/* Weißes X auf schwarzem Hintergrund */
cursor: default;
/* Standard-Cursor, damit sich der Close‑Button vom klickbaren Rest unterscheidet */
}
@media (max-width: 767px) {
.varify-usp-bar.varify-usp-bar--mobile-single {
text-align: center;
}
/* Passe .varify-usp-bar-item an deine Spalten-Klasse an */
.varify-usp-bar.varify-usp-bar--mobile-single .varify-usp-bar-item:not(:first-child) {
display: none;
}
.varify-usp-bar-icon {
width: 61px !important;
height: 61px !important;
}
}
Black Friday Exit Intent - Bild
Exit Intent (Desktop)
Wenn ein Nutzer die Seite verlassen möchte, erscheint ein Popup mit einem Bild. Perfekt, um die Aufmerksamkeit noch einmal zu erregen, bevor der Nutzer die Seite verlässt.
window.varify.helpers.onDomLoaded(() => {
/* === YOUR SETTINGS === */
const imgSrc = "https://images.varify.io/bb686c8cd78a3cad7c19b26d7df61c2b634f336481bd52130e1c1d570343f346/example_bf.jpg";
const targetUrl = "https://example.com/black-friday"; // Link for the image
const sessionKey = "varify_exit_popup_seen"; // Do not change
/* ========================= */
// Do not run in editor
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has("varify-variation-name") || p.has("varify-variation-id");
}
if (isInEditor()) return;
// Do not show more than once per session
if (sessionStorage.getItem(sessionKey)) return;
window.varify.helpers.waitFor('.varify-exitIntent-content', (contentDiv) => {
const wrapper = document.querySelector('.varify-exitIntent-wrapper');
const backdrop = document.querySelector('.varify-exitIntent-backdrop');
const modal = document.querySelector('.varify-exitIntent');
const closeBtn = document.querySelector('.varify-exitIntent-close');
if (!wrapper || !backdrop || !modal || !closeBtn) return;
// Replace content with image popup
contentDiv.innerHTML = "";
const link = document.createElement("a");
link.href = targetUrl;
link.target = "_blank";
link.rel = "noopener noreferrer";
const img = document.createElement("img");
img.src = imgSrc;
img.alt = "Black Friday Image";
img.style.display = "block";
img.style.width = "100%";
img.style.height = "auto";
link.appendChild(img);
contentDiv.appendChild(link);
// Exit intent trigger
const exitHandler = (e) => {
if (e.clientY {
if (!modal.contains(evt.target)) closePopup();
});
closeBtn.addEventListener("click", (e) => {
e.preventDefault();
closePopup();
});
document.addEventListener("keydown", (e) => {
if (e.key === "Escape") closePopup();
});
});
});
/* Backdrop hidden by default */
.varify-exitIntent-backdrop {
display: none !important;
background-color: rgba(0, 0, 0, 0.8) !important;
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
justify-content: center;
align-items: center;
}
/* Show popup only when wrapper has vf-show */
.varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop {
display: flex !important;
}
/* Prevent scroll when popup is open */
.vf-no-scroll {
overflow: hidden !important;
}
/* Content is just the image, so remove padding */
.varify-exitIntent-content {
padding: 0 !important;
}
/* Modal background black */
.varify-exitIntent {
background: #000 !important;
border-radius: 8px !important;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.4);
width: 540px;
max-width: 90%;
max-height: 90%;
overflow: hidden;
/* important so image never overflows */
position: relative;
}
/* Close button always visible above image */
.varify-exitIntent-close {
position: absolute;
right: 8px;
top: 8px;
width: 28px;
height: 28px;
background: rgba(255, 255, 255, 0.9);
border-radius: 50%;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
}
.varify-exitIntent-close-icon {
width: 14px;
height: 14px;
color: #000 !important;
}
.varify-exitIntent-header {
display: none !important;
}
/* Wrapper with your background */
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* removes ALL default/theme/elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) { const btn = e.target.closest(„.varify-copy-btn“); if (!btn) return; const codeEl = btn.parentElement.querySelector(„code“); if (!codeEl) return; const code = codeEl.innerText; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code); } else { const ta = document.createElement(„textarea“); ta.value = code; document.body.appendChild(ta); ta.select(); document.execCommand(„copy“); ta.remove(); } btn.classList.add(„copied“); btn.textContent = „Copied!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copy“; }, 1400); });
Black Friday Exit Intent - Content
Exit Intent (Desktop)
Dieses Popup erscheint, wenn der Nutzer die Seite verlassen möchte, und enthält Text, Bullet Points und einen Button. Du kannst den Inhalt ganz nach deinen Vorstellungen anpassen, um den Nutzer zurückzuholen.
window.varify.helpers.onDomLoaded(() => {
// ================================
// CONFIG – YOU CAN EDIT THIS
// ================================
// Unique key for this popup. Change if you want a separate session logic.
const POPUP_SESSION_KEY = 'varifyBFContentExitPopupSeen';
// Popup texts
const POPUP_HEADLINE = 'Black Friday Mega Deal!';
const POPUP_SUBHEADLINE = 'Don\'t miss our biggest discounts';
// Bullet points (each entry = one bullet line)
const POPUP_BULLETS = [
'Up to 50% off everything',
'Free shipping on all orders',
'Limited time offer'
];
// CTA button
const POPUP_CTA_URL = 'https://example.com/black-friday'; // landing page URL
const POPUP_CTA_TEXT = 'Save Now →'; // CTA label
// Exit intent sensitivity (keep it simple: trigger when mouse leaves at top)
const EXIT_TRIGGER_Y = 0;
// ================================
// RUNTIME LOGIC – DO NOT TOUCH :)
// ================================
// Do not run inside Varify editor
function isInEditor() {
const p = new URLSearchParams(location.search);
return p.has('varify-variation-name') || p.has('varify-variation-id');
}
if (isInEditor()) return;
// Do not show more than once per session
if (sessionStorage.getItem(POPUP_SESSION_KEY) === '1') return;
window.varify.helpers.waitFor('.varify-exitIntent-content', (contentDiv) => {
const wrapper = document.querySelector('.varify-exitIntent-wrapper');
const backdrop = document.querySelector('.varify-exitIntent-backdrop');
const modal = document.querySelector('.varify-exitIntent');
const closeBtn = document.querySelector('.varify-exitIntent-close');
if (!wrapper || !backdrop || !modal || !closeBtn || !contentDiv) return;
let popupOpened = false;
// Ensure close button is inside modal so it overlays the content
if (closeBtn.parentElement !== modal) {
modal.appendChild(closeBtn);
}
// Build popup content (headline, subheadline, bullets, CTA)
contentDiv.innerHTML = '';
contentDiv.style.textAlign = 'left';
const headline = document.createElement('p');
headline.className = 'bf-exit-intent-headline';
headline.textContent = POPUP_HEADLINE;
const subheadline = document.createElement('p');
subheadline.className = 'bf-exit-intent-subheadline';
subheadline.textContent = POPUP_SUBHEADLINE;
const ul = document.createElement('ul');
ul.className = 'bf-exit-intent-bullets';
POPUP_BULLETS.forEach((txt) => {
const li = document.createElement('li');
li.textContent = txt;
ul.appendChild(li);
});
const cta = document.createElement('a');
cta.className = 'bf-exit-intent-cta';
cta.href = POPUP_CTA_URL;
cta.target = '_blank';
cta.rel = 'noopener noreferrer';
cta.textContent = POPUP_CTA_TEXT;
contentDiv.appendChild(headline);
contentDiv.appendChild(subheadline);
contentDiv.appendChild(ul);
contentDiv.appendChild(cta);
// Exit-intent trigger (simple: mouse leaves at top)
const exitHandler = (e) => {
if (popupOpened) return;
// nur reagieren, wenn Maus oben rausgeht
if (e.clientY > EXIT_TRIGGER_Y) return;
openPopup();
popupOpened = true;
document.removeEventListener('mouseout', exitHandler);
};
document.addEventListener('mouseout', exitHandler);
function openPopup() {
sessionStorage.setItem(POPUP_SESSION_KEY, '1');
wrapper.classList.add('vf-show');
backdrop.style.display = '';
document.documentElement.classList.add('vf-no-scroll');
document.body.classList.add('vf-no-scroll');
}
function closePopup() {
wrapper.classList.remove('vf-show');
backdrop.style.display = 'none';
document.documentElement.classList.remove('vf-no-scroll');
document.body.classList.remove('vf-no-scroll');
}
// Outside click closes
backdrop.addEventListener('click', (evt) => {
if (!modal.contains(evt.target)) closePopup();
});
// X button closes
closeBtn.addEventListener('click', (e) => {
e.preventDefault();
closePopup();
});
// ESC closes
document.addEventListener('keydown', (e) => {
if (e.key === 'Escape') closePopup();
});
});
});
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* removes ALL default/theme/elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) {
const btn = e.target.closest(„.varify-copy-btn“);
if (!btn) return;
const codeEl = btn.parentElement.querySelector(„code“);
if (!codeEl) return;
const code = codeEl.innerText;
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(code);
} else {
const ta = document.createElement(„textarea“);
ta.value = code;
document.body.appendChild(ta);
ta.select();
document.execCommand(„copy“);
ta.remove();
}
btn.classList.add(„copied“);
btn.textContent = „Copied!“;
setTimeout(() => {
btn.classList.remove(„copied“);
btn.textContent = „Copy“;
}, 1400);
});
/* ---------------------------------------------
Backdrop hidden by default
--------------------------------------------- */
.varify-exitIntent-backdrop {
display: none !important;
background-color: rgba(0, 0, 0, 0.8) !important;
position: fixed !important;
top: 0;
bottom: 0;
left: 0;
right: 0;
justify-content: center;
align-items: center;
z-index: 2147483646 !important;
}
/* ---------------------------------------------
Show popup when wrapper has .vf-show
--------------------------------------------- */
.varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop {
display: flex !important;
}
/* ---------------------------------------------
Prevent page from scrolling while popup is open
--------------------------------------------- */
.vf-no-scroll {
overflow: hidden !important;
}
/* ---------------------------------------------
Modal styling (for popup with content)
--------------------------------------------- */
.varify-exitIntent {
background-color: #000 !important;
color: #fff !important;
border-radius: 10px !important;
box-shadow: 0 0 18px rgba(0, 0, 0, 0.6);
width: 540px !important;
max-width: 90% !important;
max-height: 90% !important;
overflow: visible !important;
position: relative !important;
padding: 0 !important;
z-index: 2147483647 !important;
}
/* ---------------------------------------------
Content Area
--------------------------------------------- */
.varify-exitIntent-content {
padding: 30px !important;
text-align: left !important;
}
/* ---------------------------------------------
Hide default unused header block
--------------------------------------------- */
.varify-exitIntent-header {
display: none !important;
}
/* ---------------------------------------------
Close button (always visible above content)
--------------------------------------------- */
.varify-exitIntent-close {
position: absolute !important;
top: 12px !important;
right: 12px !important;
width: 28px !important;
height: 28px !important;
border-radius: 50% !important;
background: rgba(255, 255, 255, 0.9) !important;
color: #000 !important;
z-index: 2147483648 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
padding: 0 !important;
}
.varify-exitIntent-close-icon {
width: 14px !important;
height: 14px !important;
color: #000 !important;
}
/* ---------------------------------------------
Typography for content popup
--------------------------------------------- */
.bf-exit-intent-headline {
font-size: 22px !important;
font-weight: 800 !important;
margin: 0 0 10px !important;
color: #fff !important;
}
.bf-exit-intent-subheadline {
font-size: 18px !important;
margin: 0 0 15px !important;
color: #fff !important;
}
/* ---------------------------------------------
Bullet list
--------------------------------------------- */
.bf-exit-intent-bullets {
list-style: none !important;
padding: 0 !important;
margin: 0 0 20px !important;
}
.bf-exit-intent-bullets li {
margin-bottom: 6px !important;
padding-left: 20px !important;
position: relative !important;
color: #fff !important;
}
.bf-exit-intent-bullets li::before {
content: "•" !important;
color: #d32c2c !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
}
/* ---------------------------------------------
CTA button
--------------------------------------------- */
.bf-exit-intent-cta {
display: inline-block !important;
background-color: #d32c2c !important;
color: #fff !important;
padding: 10px 20px !important;
border-radius: 4px !important;
font-size: 16px !important;
font-weight: 600 !important;
text-decoration: none !important;
}
.bf-exit-intent-cta:hover {
background-color: #b71c1c !important;
}
/* ---------------------------------------------
Responsive tweaks for very small viewports
--------------------------------------------- */
@media only screen and (max-height: 700px) {
.varify-exitIntent {
max-height: 75% !important;
}
}
@media only screen and (max-width: 380px) {
.varify-exitIntent-content {
padding: 20px !important;
}
.bf-exit-intent-headline {
font-size: 19px !important;
}
.bf-exit-intent-subheadline {
font-size: 16px !important;
}
}
/* Wrapper with your background */
.varify-code-block {
background: #f5f2f0;
border-radius: 8px;
border: 1px solid #e0ddd9;
padding: 0;
position: relative;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
margin-bottom: 24px;
}
/* Code area */
.varify-code-block pre {
margin: 0;
padding: 16px 18px;
overflow: auto;
white-space: pre;
}
.varify-code-block code {
color: #333;
font-size: 13px;
line-height: 1.55;
display: block;
}
/* Copy button – fully neutralized, no more blue */
.varify-copy-btn {
all: unset !important; /* kills ALL default/theme/Elementor styles */
display: inline-block !important;
position: absolute !important;
top: 10px !important;
right: 10px !important;
padding: 6px 10px !important;
border-radius: 6px !important;
background: rgba(255,255,255,0.4) !important;
backdrop-filter: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;
border: 1px solid rgba(255,255,255,0.35) !important;
color: #333 !important;
font-size: 11px !important;
font-weight: 600 !important;
text-decoration: none !important;
cursor: pointer !important;
box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}
/* Optional feedback after copy */
.varify-copy-btn.copied {
background: rgba(80, 200, 120, 0.55) !important;
color: #fff !important;
}
document.addEventListener(„click“, function (e) { const btn = e.target.closest(„.varify-copy-btn“); if (!btn) return; const codeEl = btn.parentElement.querySelector(„code“); if (!codeEl) return; const code = codeEl.innerText; if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(code); } else { const ta = document.createElement(„textarea“); ta.value = code; document.body.appendChild(ta); ta.select(); document.execCommand(„copy“); ta.remove(); } btn.classList.add(„copied“); btn.textContent = „Copied!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copy“; }, 1400); });
Das sagen unsere PRO Nutzer
Varify Pro Feature
Upgrade jetzt auf PRO und spare als Bestandskunde
Ein Klick genügt, um dein Upgrade zu starten und alle erweiterten Funktionen von Varify.io zu nutzen.