Use nosso impulsionador de campanhas para aproveitar ao máximo a Black Friday

Neste vídeo, mostramos como você pode testar os trechos de código.

Em apenas três passos para a sua configuração da Black Friday

Para muitos profissionais de marketing, a Black Friday é um dos dias de maior faturamento do ano. As metas são altas, a concorrência ainda mais. No entanto, os resultados muitas vezes ficam aquém das expectativas.

A principal razão: as campanhas e ofertas não são percebidas com clareza suficiente no site. Os usuários ignoram os descontos, as promoções se perdem no layout e valiosos potenciais de conversão permanecem inutilizados.

  • Importante: ative o impulsionador de campanha correspondente no seu editor visual.

  • Copie o JavaScript e CSS personalizados e verifique-os na sua configuração.

  • Cuide do seu conteúdo e publique o teste após uma garantia de qualidade bem-sucedida.

Observação: a Varify não se responsabiliza pelo funcionamento do código e das informações. É responsabilidade do usuário verificar cuidadosamente o código de teste e implementá-lo corretamente.

Como nossos clientes utilizam o Varify na Black Friday

Flexibilidade sem desenvolvedores

Altere o estilo e adicione rapidamente impulsionadores de campanha, sem depender do departamento de desenvolvimento. Isso economiza tempo e permite que você reaja imediatamente.

Testes rápidos da página de destino

Graças ao nosso script mínimo, você pode criar páginas de destino no seu CMS e testá-las diretamente com redirecionamentos – de forma rápida, fácil e sem longos tempos de espera. 

Estilo simples para a Black Friday

Quer adaptar sua loja para a Black Friday ou destacar determinados elementos movendo-os? Com o editor visual, você pode alterar o design rapidamente, sem precisar mexer no código.

Segmentação precisa para campanhas

Teste como determinados grupos-alvo reagem às suas alterações, direcionando-as especificamente a eles – com parâmetros UTM, perfis de dispositivos ou países. Assim, você saberá exatamente o que funciona – e para quem.

JS e CSS adaptados para o impulsionador de campanhas Varify

Intenção de saída

Você pode exibir um pop-up com uma imagem que aparece em um determinado momento. Você mesmo pode ajustar quando exatamente ele aparecerá.

JavaScript adicional


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();
      }
    });
  });
});


    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });
CSS adicional



/* wrapper: oculto por padrão, visível quando vf-show é adicionado */ .varify-exitIntent-wrapper { display: none; } .varify-exitIntent-wrapper.vf-show { display: block; } /* backdrop: sobreposição em tela cheia */
.varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop { posição: fixa; inset: 0; exibição: flex !importante; alinhar itens: centro; justificar conteúdo: centro; cor de fundo: rgba(0, 0, 0, 0,8);
  z-index: 2147483647; } /* modal: contêiner puro ao redor da imagem */ .varify-exitIntent { position: relative; max-width: 90vw; max-height: 90vh; background: transparent; border: none; box-shadow: none; }

/* remover preenchimento: modal de imagem pura */ .varify-exitIntent-content { preenchimento: 0 !importante; } /* a imagem nunca deve ser maior que a altura da janela de visualização */ .varify-exitIntent-content img { exibição: bloco; largura: 100%; altura: automática;
  altura máxima: 90vh; ajuste do objeto: conter; } /* ocultar barra de cabeçalho original, se houver */ .varify-exitIntent-header { exibição: nenhuma !importante; } /* sobreposição do botão fechar acima da imagem */ .varify-exitIntent-close { posição: absoluta !importante; topo: 12px;
  direita: 12px; largura: 24px; altura: 24px; exibição: flex !importante; alinhar itens: centro; justificar conteúdo: centro; fundo: transparente; cor: #fff !importante; cursor: ponteiro; z-index: 2147483647; }


    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });

Confie na maior plataforma de testes A/B desenvolvida na Alemanha

Números de BuiltWith.comForam comparadas as plataformas de teste A/B alemãs. A partir de outubro de 2025

Intenção de saída

Este pop-up contém texto, marcadores e um botão. Você pode personalizar o texto como desejar e definir quando o pop-up deve aparecer para informar seus usuários de forma direcionada.

JavaScript adicional


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();
      }
    });
  });
});

    
/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* remove TODOS os estilos padrão/tema/elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

CSS adicional


/* ================================ COMPORTAMENTO BÁSICO DO POPUP ================================ */ /* Wrapper oculto por padrão, visível quando .vf-show é adicionado via JS */ .varify-exitIntent-wrapper { display: none; }

.varify-exitIntent-wrapper.vf-show { display: block; } /* Backdrop: sobreposição escura, somente quando o wrapper tem .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; }

/* Opcional: se você quiser bloquear a rolagem na página: .vf-no-scroll { overflow: hidden !important; } */ /* Cabeçalho não necessário para este design */ .varify-exitIntent-header { display: none !important; }

/* ================================ ESTILO MODAL (LOOK BLACK FRIDAY) ================================ */ .varify-exitIntent { cor de fundo: #000 !important; cor: #fff !important; raio da borda: 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; /* acima do fundo, abaixo do botão Fechar */ overflow: visible !important; /* não corte o botão Fechar */ } /* Se o seu HTML tiver um .varify-exitIntent-inner: role apenas dentro */
.varify-exitIntent-inner { altura máxima: 80vh; overflow: auto; } /* Bloco de conteúdo */ .varify-exitIntent-content { preenchimento: 30px !important; alinhamento do texto: esquerda !important; }

/* ================================ ESTILOS DE TEXTO ================================ */ .bf-exit-intent-headline { tamanho da fonte: 22px; espessura da fonte: 800; margem: 0 0 10px; cor: #fff; }

.bf-exit-intent-subheadline { tamanho da fonte: 18px; margem: 0 0 15px; cor: #fff; } .bf-exit-intent-bullets { estilo da lista: nenhum; preenchimento: 0; margem: 0 0 20px; }

.bf-exit-intent-bullets li { margem inferior: 6px; preenchimento esquerdo: 20px; posição: relativa; cor: #fff; } .bf-exit-intent-bullets li:antes { conteúdo: "•"; cor: #d32c2c;
  position: absolute; left: 0; top: 0; } /* Botão CTA */ .bf-exit-intent-cta { display: inline-block; background-color: #d32c2c; color: #fff !important; padding: 10px 20px;
  border-radius: 4px; tamanho da fonte: 16px; espessura da fonte: 600; decoração do texto: nenhuma !importante; } .bf-exit-intent-cta:hover { cor de fundo: #b71c1c; }

/* ================================ BOTÃO FECHAR (X) – SEMPRE NA PARTE SUPERIOR ================================ */ .varify-exitIntent-close { posição: absoluta !importante; topo: 12px !importante; direita: 12px !importante; largura: 28px !importante; altura: 28px !importante;
  display: flex !important; align-items: center !important; justify-content: center !important; background: transparent !important; border: none !important; cursor: pointer !important; z-index: 2147483648 !important; /* acima de tudo */ color: #fff !important; }

.varify-exitIntent-close-icon { largura: 16px; altura: 16px; cor: #fff !important; }



    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });

Notificação sutil sobre a Black Friday

Notificação

Uma notificação discreta que aparece no canto inferior esquerdo. Com ela, você pode redirecionar o usuário para outra página de ação sem incomodá-lo – perfeita para chamadas à ação sutis.

JavaScript adicional



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';
      });
    }
  });
});



    
/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* remove TODOS os estilos padrão/tema/elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

CSS adicional


/* Caixa preta com texto branco */ .varify-notification.v_animated.v_animation.varify-init { background-color: #000 !important; color: #fff !important; }

/* Título e texto em branco */ .varify-notification-headline, .varify-notification-text { cor: #fff !important; } /* Margem do texto na parte inferior */ .varify-notification-text { margem inferior: 5px !important; }

/* Estilo do texto CTA */ .webinar-signup { cor: #fff !important; tamanho da fonte: 14px !important; espessura da fonte: 600 !important; decoração do texto: nenhuma !important; } .webinar-signup:hover { decoração do texto: sublinhado !important; }

/* Tornar o ícone de fechar (X) visível */ .varify-notification-close { cor: #fff !important; } /* Design de bolha para "Oferta da Black Friday" */ .webinar-info { cor de fundo: #d32c2c !important; /* bolha vermelha */
  color: #fff !important; /* texto branco */ border-radius: var(--border-radius--200) !important; font-weight: 600 !important; font-size: 12px !important; padding: 2px 6px !important; max-width: 160px !important;
  alinhamento do texto: centro !importante; margem inferior: 8px !importante; margem superior: 6px !importante; } /* ---------- AJUSTES MÓVEIS ---------- */ @media (largura máxima: 767px) {
  .varify-notification-headline { tamanho da fonte: 14px !important; } .varify-notification-text { tamanho da fonte: 12px !important; margem inferior: 4px !important; } .webinar-info { tamanho da fonte: 10px !important;
    padding: 1px 4px !important; max-width: 120px !important; margin-bottom: 6px !important; } .webinar-signup { font-size: 12px !important; } } @media (max-width: 576px) { /* Caixa geral menor */
  .varify-notification { padding: 8px 10px !important; min-width: 200px !important; max-width: 260px !important; border-radius: 3px !important; bottom: 20px !important; left: 20px !important; }

  /* Título menor */ .varify-notification-headline { tamanho da fonte: 13px !important; altura da linha: 1.2 !important; margem inferior: 2px !important; } /* Subtítulo menor */ .varify-notification-text { tamanho da fonte: 11px !important;
    altura da linha: 1,2 !important; } /* Emblema menor */ .webinar-info { tamanho da fonte: 10px !important; preenchimento: 1px 4px !important; largura máxima: 100px !important; margem inferior: 4px !important; }

  /* Fechar-X menor */ .varify-notification-close { tamanho da fonte: 16px !important; largura: 12px !important; altura: 12px !important; direita: 10px !important; margem superior: -6px !important; } }



    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });

Barra de informações da Black Friday

Barra de informações

Com a barra de informações, você pode exibir três conteúdos diferentes e substituir o SVG pelo seu próprio design. As tags também podem ser personalizadas e todo o elemento está vinculado, para que você possa facilmente criar um link para ele.

JavaScript adicional



window.varify.helpers.waitFor('.varify-usp-bar', (bar) => { // === CONFIGURAÇÕES PARA VOCÊ === const headlines = [ '30% DESLIGAR TUDO', '30% DESLIGAR TUDO', '30% DESLIGAR TUDO' ];

  const mobileHeadline = '30% DESLIGAR TUDO – ESPECIAL PARA CELULAR'; 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'); }

  // === APLICAR TEXTOS === bar.querySelectorAll('.varify-usp-bar-headline').forEach((el, idx) => { se (isMobile) { el.textContent = mobileHeadline; } else { el.textContent = headlines[idx] || headlines[0]; } });

  // === APLICAR ÍCONES === bar.querySelectorAll('.varify-usp-bar-icon').forEach((el) => { el.innerHTML = iconVariant === 'cross' ? crossIconSvg : defaultIconSvg; });

  // === TORNAR A BARRA CLICÁVEL === bar.addEventListener('click', (evt) => { se (evt.target.closest('.varify-usp-bar-close')) retornar; window.location.href = targetUrl; }); // ------------------------------------------------------------------ // === RECURSO MÓVEL (NOVO – O RESTO PERMANECE INALTERADO) === // ----------------if (isMobile) { // apenas o primeiro USP permanece visível const usps = bar.querySelectorAll('.varify-usp-bar-usp');
    usps.forEach((usp, index) => { se (index > 0) { usp.style.display = 'none'; } }); } });


    
/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* remove TODOS os estilos padrão/tema/elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

CSS adicional



Estilo Black Friday: fundo preto, texto branco, ocultar subtítulo. varify-usp-bar-wrapper, varify-usp-bar { cor de fundo: #000 !importante; cor: #fff !importante; } varify-usp-bar-headline {
  cor: #fff !important; tamanho da fonte: 18px !important; espessura da fonte: 700 !important; } .varify-usp-bar-text { exibição: nenhuma !important; /* Remover subtítulo; apenas os títulos permanecem */ } .varify-usp-bar-icon svg {
  preenchimento: #fff !importante; traço: #fff !importante; largura: 24px; altura: 24px; } /* Mostra o cursor do mouse como uma „mão esquerda“ sobre toda a barra */ .varify-usp-bar-wrapper { cursor: ponteiro; }

/* Garante que o X de fechar permaneça visível e não seja afetado pela troca de ícones */ .varify-usp-bar-close { color: #ffffff !important; /* X branco sobre fundo preto */ cursor: default; /* Cursor padrão para que o botão Fechar se diferencie do resto clicável */
} @media (max-width: 767px) { .varify-usp-bar.varify-usp-bar--mobile-single { text-align: center; } /* Adapte .varify-usp-bar-item à sua classe de coluna */
  .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; } }


    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });

Black Friday Exit Intent - Imagem

Intenção de saída (desktop)

Quando um usuário deseja sair da página, aparece um pop-up com uma imagem. Perfeito para chamar a atenção mais uma vez antes que o usuário saia da página.

JavaScript adicional



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();
    });

  });
});


    
/* Invólucro com seu plano de fundo */ .varify-code-block { background: #f5f2f0; Raio da borda: 8px; borda: 1px sólido #e0ddd9; preenchimento: 0; position: relative; font-family: Consolas, Menlo, Monaco, "Fira Code", monospace; margin-bottom: 24px; } /* Área de código */ .varify-code-block pre { margin: 0; padding: 16px 18px; overflow: auto; white-space: pre; } .varify-code-block code { cor: #333; tamanho da fonte: 13px; altura da linha: 1,55; display: block; } /* Botão Copiar - totalmente neutralizado, sem mais azul */ .varify-copy-btn { all: unset !important; /* remove TODOS os estilos padrão/tema/elementar */ 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; cor: #333 !important; tamanho da fonte: 11px !important; peso da fonte: 600 !importante; decoração de texto: nenhum !importante; cursor: pointer !important; box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important; } /* Feedback opcional após a cópia */ .varify-copy-btn.copied { background: rgba(80, 200, 120, 0.55) !important; cor: #fff !important; } document.addEventListener("click", function (e) { const btn = e.target.closest(".varify-copy-btn"); if (!btn) return; const codeEl = btn.parentElement.querySelector("code"); se (!codeEl) return; const code = codeEl.innerText; Se (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("copiado"); btn.textContent = "Copiado!"; setTimeout(() => { btn.classList.remove("copied"); btn.textContent = "Copy"; }, 1400); });
CSS adicional



/* Backdrop oculto por padrão */ .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; } /* Mostrar pop-up apenas quando o wrapper tiver vf-show */ .varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop { display: flex !important; }

/* Impedir rolagem quando o pop-up estiver aberto */ .vf-no-scroll { overflow: hidden !important; } /* O conteúdo é apenas a imagem, portanto, remova o preenchimento */ .varify-exitIntent-content { padding: 0 !important; } /* Fundo modal preto */
.varify-exitIntent { fundo: #000 !important; raio da borda: 8px !important; sombra da caixa: 0 0 8px rgba(0, 0, 0, 0.4); largura: 540px; largura máxima: 90%;
  altura máxima: 90%; overflow: oculto; /* importante para que a imagem nunca transborde */ posição: relativa; } /* Botão Fechar sempre visível acima da imagem */ .varify-exitIntent-close { posição: absoluta; direita: 8px; topo: 8px; largura: 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 { largura: 14px; altura: 14px; cor: #000 !importante; } .varify-exitIntent-header { exibição: nenhuma !importante; }


    

/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* remove TODOS os estilos padrão/tema/elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

Black Friday Exit Intent - Conteúdo

Intenção de saída (desktop)

Este pop-up aparece quando o usuário deseja sair da página e contém texto, marcadores e um botão. Você pode personalizar o conteúdo de acordo com suas preferências para trazer o usuário de volta.

JavaScript adicional


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();
    });
  });
});


    
/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* remove TODOS os estilos padrão/tema/elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

CSS adicional

/* --------------------------------------------- Fundo oculto por padrão --------------------------------------------- */
.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; } /* --------------------------------------------- Mostrar pop-up quando o wrapper tiver .vf-show --------------------------------------------- */ .varify-exitIntent-wrapper.vf-show .varify-exitIntent-backdrop { display: flex !important; } /* --------------------------------------------- Impedir que a página role enquanto o pop-up estiver aberto --------------------------------------------- */ .vf-no-scroll { overflow: hidden !important; } /* --------------------------------------------- Estilo modal (para pop-up com conteúdo) --------------------------------------------- */ .varify-exitIntent { cor de fundo: #000 !importante; cor: #fff !importante; raio da borda: 10px !importante; sombra da caixa: 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; }

/* --------------------------------------------- Área de conteúdo --------------------------------------------- */ .varify-exitIntent-content { padding: 30px !important; text-align: left !important; }

/* --------------------------------------------- Ocultar bloco de cabeçalho padrão não utilizado --------------------------------------------- */ .varify-exitIntent-header { display: none !important; }

/* --------------------------------------------- Botão Fechar (sempre visível acima do conteúdo) --------------------------------------------- */ .varify-exitIntent-close { posição: absoluta !importante;
  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 { largura: 14px !important; altura: 14px !important; cor: #000 !important; } /* --------------------------------------------- Tipografia para pop-up de conteúdo --------------------------------------------- */ .bf-exit-intent-headline { tamanho da fonte: 22px !important; peso da fonte: 800 !important; margem: 0 0 10px !important; cor: #fff !important; }

.bf-exit-intent-subheadline { tamanho da fonte: 18px !important; margem: 0 0 15px !important; cor: #fff !important; } /* ---------------------------------------------
   Lista com marcadores --------------------------------------------- */ .bf-exit-intent-bullets { list-style: none !important; padding: 0 !important; margin: 0 0 20px !important; }

.bf-exit-intent-bullets li { margem inferior: 6px !important; preenchimento esquerdo: 20px !important; posição: relativa !important; cor: #fff !important; } .bf-exit-intent-bullets li::before { conteúdo: "•" !important;
  color: #d32c2c !important; position: absolute !important; left: 0 !important; top: 0 !important; } /* --------------------------------------------- Botão CTA --------------------------------------------- */ .bf-exit-intent-cta { exibição: inline-block !important; cor de fundo: #d32c2c !important; cor: #fff !important; preenchimento: 10px 20px !important;
  border-radius: 4px !important; tamanho da fonte: 16px !important; espessura da fonte: 600 !important; decoração do texto: nenhuma !important; } .bf-exit-intent-cta:hover { cor de fundo: #b71c1c !important; }

/* --------------------------------------------- Ajustes responsivos para janelas de visualização muito pequenas --------------------------------------------- */
@media only screen and (altura máxima: 700px) { .varify-exitIntent { altura máxima: 75% !important; } } @media only screen and (largura máxima: 380px) { .varify-exitIntent-content { preenchimento: 20px !important; }

  .bf-exit-intent-headline { tamanho da fonte: 19px !important; } .bf-exit-intent-subheadline { tamanho da fonte: 16px !important; } }

/* Wrapper com seu plano de fundo */
.varify-code-block {
fundo: #f5f2f0;
Raio da borda: 8px;
borda: 1px sólido #e0ddd9;
preenchimento: 0;
posição: relativa;
font-family: Consolas, Menlo, Monaco, „Fira Code“, monospace;
Margem inferior: 24px;
}

/* Área de código */
.varify-code-block pre {
margem: 0;
preenchimento: 16px 18px;
transbordamento: automático;
white-space: pre;
}

.varify-code-block code {
Cor: #333;
tamanho da fonte: 13px;
Altura da linha: 1,55;
exibição: bloco;
}

/* Botão Copiar - totalmente neutralizado, não mais azul */
.varify-copy-btn {
all: unset !important; /* elimina TODOS os estilos padrão/tema/Elementor */

display: inline-block !important;
position: absolute !important;
top: 10px !important;
direita: 10px !important;

padding: 6px 10px !important;
Raio da borda: 6px !important;

Fundo: rgba(255,255,255,0.4) !important;
filtro de plano de fundo: blur(12px) !important;
-webkit-backdrop-filter: blur(12px) !important;

borda: 1px solid rgba(255,255,255,0.35) !important;

cor: #333 !important;
Tamanho da fonte: 11px !important;
font-weight: 600 !important;
Decoração de texto: nenhum !importante;

cursor: ponteiro !important;
box-shadow: 0 4px 12px rgba(0,0,0,0,0.08) !important;
}

/* Feedback opcional após a cópia */
.varify-copy-btn.copied {
Fundo: rgba(80, 200, 120, 0,55) !important;
cor: #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 = „Copiado!“; setTimeout(() => { btn.classList.remove(„copied“); btn.textContent = „Copiar“; }, 1400); });

O que dizem nossos usuários PRO

Recurso do Varify Pro

Gerente de contas e sucesso
Suavização de outlier
Integração com o BigQuery
API de experimentos
Segmentação geográfica
Opções de pagamento flexíveis
DPA personalizado
CNAME personalizado
Integração personalizada
Exportar resultados
Migração de outra ferramenta de teste
Suporte do Slack
Conjunto de cartões digitais

Atualize agora para PRO e economize como cliente existente

Basta um clique para iniciar sua atualização e usar todos os recursos avançados do Varify.io.