Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.
O OneSignal fez parceria com a Vendo para criar uma integração perfeita com o Shopify. A Vendo implanta o SDK do OneSignal na sua loja Shopify com um clique — sem necessidade de editar manualmente o código do tema. Ela sincroniza tags de clientes, eventos de navegação do lado do cliente e eventos de comércio do lado do servidor para o OneSignal, permitindo que você construa segmentos e acione campanhas push a partir de comportamento real e histórico de compras.Para a documentação da Vendo, consulte Vendo OneSignal Destination.
Faça login em onesignal.com e crie ou selecione um app. Escolha Web como plataforma e selecione Custom Code como tipo de integração.
Você deve selecionar Custom Code. A opção Typical Site não expõe as configurações de caminho do service worker, então o SDK tentará carregar /OneSignalSDKWorker.js da raiz da sua loja — o Shopify bloqueia isso e as inscrições push falharão silenciosamente. Se você já criou o app com Typical Site, mude para Custom Code em Settings > Platforms > Web, ou exclua e recrie o app.
2
Configurar as definições de push web
No seu app OneSignal, navegue até Settings > Push & In-App > Web Settings ou siga o guia de configuração de push web.Configuração do site
Site Name: O nome da sua loja, usado como título de notificação padrão.
Site URL: A URL acessível publicamente da sua loja Shopify (ex.: https://yourstore.com).
Não use https://your-site.myshopify.com/ se os clientes acessam seu site através de um domínio personalizado como https://your-site.com/.
Default Icon URL: Faça upload de um PNG, JPG ou GIF não animado quadrado de 256×256 que aparece em notificações e prompts. Se não definido, um ícone de sino é usado como padrão. Veja Ícones de notificação.
3
Configurar o caminho do service worker
O Shopify não permite servir arquivos da raiz do site, então você deve informar ao OneSignal onde a Vendo serve o arquivo service worker.No OneSignal, vá para Settings > Push & In-App > Web Settings, role até Advanced Push Settings e ative Customize service worker paths and filenames, depois configure:
Configuração
Valor
Path to service worker files
/apps/vendo/
Main service worker filename
OneSignalSDKWorker.js
Updater service worker filename
OneSignalSDKWorker.js
Service worker registration scope
/apps/vendo/
Configuração do service worker para lojas Shopify usando a Vendo.
A Vendo serve automaticamente o arquivo OneSignalSDKWorker.js necessário em https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js — sem uploads manuais de arquivos.
A página OneSignal > Push Settings do aplicativo Vendo exibe esses valores exatos com opção de copiar com um clique, então você não precisa redigitá-los.O Updater Filename e o Main Service Worker Filename são o mesmo arquivo. O OneSignal v16+ usa um único service worker para ambos os propósitos.
4
Copiar suas credenciais
No OneSignal, vá para Settings > Keys & IDs e copie seu App ID e REST API Key. Você os inserirá na Vendo.
Insira seu App ID e REST API Key do OneSignal da seção anterior, depois clique em Save.
4
Ativar o bloco de tema Vendo
O bloco de tema Vendo carrega o SDK do OneSignal na sua loja. Sem ele, o prompt de push não aparecerá e o rastreamento do lado do cliente não funcionará.
No administrador do Shopify, vá para Online Store > Themes > Customize.
Clique em App embeds (ícone de peça de quebra-cabeça na barra lateral esquerda).
Ative Vendo.
Clique em Save.
O bloco de tema gerencia a inicialização do SDK, o registro do service worker, a exibição do prompt push, a identificação do usuário (inscrição push, login, cadastro em newsletter) e a sincronização de tags para usuários identificados.
5
Selecionar eventos para sincronizar
No aplicativo Vendo em OneSignal > Events, ative os eventos do lado do cliente e do servidor que deseja enviar ao OneSignal. Consulte Rastreamento abaixo para a lista completa de eventos.
6
Configurar prompts de push
Se cada prompt aparece na sua loja — e quando — é controlado a partir do aplicativo Vendo, não do dashboard do OneSignal. No aplicativo Vendo, abra OneSignal > Push Settings. Você verá quatro seções, cada uma com sua própria alternância:
Seção
O que faz
Subscription Bell
Ícone de sino flutuante em que os visitantes podem clicar para se inscrever a qualquer momento
Push Slide Prompt
Banner deslizante com sua marca solicitando permissão de push
Native Browser Prompt
Aciona diretamente o diálogo de permissão integrado do navegador
Welcome Notification
Notificação push enviada automaticamente quando um visitante se inscreve
Para os prompts Push Slide e Native, você também define gatilhos — quantas visualizações de página e quantos segundos aguardar antes que o prompt seja disparado. Valores padrão sensatos vêm pré-preenchidos.Todos os quatro prompts estão desativados por padrão — ative apenas os que você deseja. Salve uma vez no final da página; as alterações entram em vigor no próximo carregamento da loja sem reimplantação do tema.
O texto dos botões do prompt, o texto da mensagem de ação, os ícones e opções avançadas como testes A/B e localização são configurados no dashboard do OneSignal. A partir do Push Settings da Vendo, clique em Open OneSignal Dashboard para ir diretamente à página Permission Prompt Setup. Se um prompt estiver configurado no dashboard do OneSignal mas sua alternância na Vendo estiver desativada, ele não será renderizado — a alternância da Vendo é a fonte de verdade para a visibilidade.
7
Sincronização de dados históricos (opcional)
A Vendo pode preencher retroativamente clientes existentes e histórico de pedidos recentes para o OneSignal. Isso acontece automaticamente em segundo plano após salvar suas credenciais.
Opções de sincronização de dados históricos na Vendo.
A Vendo usa uma abordagem somente para usuários identificados — visitantes anônimos não são rastreados no OneSignal. Os usuários devem ser identificados por um dos quatro métodos antes que os eventos sejam enviados. Isso evita usuários duplicados e garante dados limpos e acionáveis.
Método
Como funciona
Identificador usado
Inscrição push web
O visitante clica em “Permitir” no prompt push. O OneSignal cria um usuário automaticamente e a Vendo captura o ID do OneSignal.
OneSignal ID
Cadastro em newsletter
O visitante envia um formulário de newsletter ou e-mail. A Vendo captura o e-mail e chama OneSignal.login(email).
Email
Login do cliente
O cliente faz login na sua conta Shopify. A Vendo detecta isso e chama OneSignal.login() com o identificador configurado.
Shopify Customer ID ou Email
Checkout concluído
O cliente conclui uma compra. A Vendo armazena o identificador e chama OneSignal.login().
Shopify Customer ID ou Email
Se você tem um app mobile ou conexões de terceiros, selecione o identificador (Shopify Customer ID vs. Email) que corresponde às suas outras ferramentas para que os perfis de usuário permaneçam consistentes entre plataformas. Configure isso no aplicativo Vendo em Settings > Customer Identifier.
Se um assinante push (identificado pelo ID do OneSignal) fizer login ou concluir uma compra posteriormente, a Vendo chama OneSignal.login() com seu Shopify Customer ID ou e-mail. O OneSignal vincula a inscrição push ao usuário identificado — nenhum usuário duplicado é criado. Todas as inscrições push anteriores são preservadas, e os eventos do lado do servidor (pedidos, cumprimentos) chegam ao perfil de usuário correto.
A Vendo sincroniza as propriedades do cliente como tags no OneSignal para segmentação. Todos os valores são armazenados como strings (formato nativo do OneSignal).
A Vendo captura parâmetros UTM e IDs de clique no checkout e os sincroniza como tags. Valores de último toque são sobrescritos a cada checkout; valores de primeiro toque (initial_utm_*) são gravados apenas uma vez.
A Vendo pode sincronizar a associação a segmentos do Shopify como tags no formato shopify_segment_{segment_id} com valor "true". Veja a referência de Events & Properties da Vendo para detalhes sobre como executar a sincronização.
A Vendo rastreia eventos personalizados do lado do cliente na sua loja através do Shopify Web Pixel e os envia ao OneSignal. Esses eventos só são enviados após um usuário ser identificado.
Evento
Descrição
page_viewed
O cliente visita uma página (loja, checkout ou status do pedido)
product_viewed
O cliente visualiza uma página de detalhes do produto
collection_viewed
O cliente visualiza uma página de coleção de produtos
search_submitted
O cliente realiza uma busca na loja
product_added_to_cart
Um produto é adicionado ao carrinho
product_removed_from_cart
Um produto é removido do carrinho
cart_viewed
O cliente visualiza a página do carrinho
checkout_started
O cliente inicia o checkout
checkout_contact_info_submitted
Etapa de informações de contato enviada
checkout_address_info_submitted
Etapa de informações de endereço enviada
checkout_shipping_info_submitted
Método de envio selecionado
payment_info_submitted
Detalhes de pagamento enviados
checkout_completed
Checkout concluído com sucesso
alert_displayed
Alerta ou aviso de checkout exibido
ui_extension_errored
Erro de execução de extensão de UI do checkout
all_custom_events
Eventos personalizados de clientes do Shopify
Configuração de eventos do lado do cliente na Vendo.
Os eventos de comércio do Shopify são exportados e encaminhados ao OneSignal pelo pipeline da Vendo. Eles sempre usam o Shopify Customer ID como external_id.
Evento
Descrição
order_received
Um novo pedido é criado
order_fulfilled
O pedido é cumprido/enviado
order_delivered
O pedido é entregue
order_refunded
O pedido é totalmente reembolsado
order_partially_refunded
O pedido é parcialmente reembolsado
cart_abandoned
O checkout é abandonado
Configuração de eventos do lado do servidor na Vendo.
Crie um Journey acionado pelo evento cart_abandoned. Aguarde 1 hora após o abandono, depois envie uma notificação push com o link de recuperação usando a propriedade checkout_url.
Crie Journeys para order_fulfilled e order_delivered para enviar notificações push imediatas com informações de rastreamento quando os pedidos são enviados e chegam.
Visite https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js no seu navegador. Você deve ver código JavaScript. Se receber um 404, verifique se o aplicativo Vendo está instalado e o bloco de tema está ativado.Você também pode abrir o DevTools do navegador (F12), ir para Application > Service Workers e confirmar que OneSignalSDKWorker.js está registrado com um scope de /apps/vendo/.
2
Testar o prompt push
Abra sua loja em uma janela de navegação anônima/privada. Você deve ver o prompt de permissão de notificação do OneSignal. Clique em Permitir para se inscrever.
3
Enviar uma notificação de teste
No dashboard do OneSignal, vá para Messages > New Push. Envie uma notificação de teste para seu assinante e verifique se ela aparece.
4
Verificar dados do usuário no OneSignal
Vá para Audience > All Users e confirme que seu usuário de teste aparece. Verifique se as tags de usuário (e-mail, nome, etc.) estão sincronizando para usuários identificados.
5
Acionar um evento de teste
Navegue por um produto ou conclua um checkout de teste na sua loja. Confirme que o evento aparece na atividade do usuário no dashboard do OneSignal.
O service worker deve estar em /apps/vendo/OneSignalSDKWorker.js. Se você vir um erro 404 no caminho raiz (/OneSignalSDKWorker.js), o caminho do service worker não está configurado no OneSignal — siga a etapa de configuração do service worker. Se o 404 estiver no caminho /apps/vendo/, verifique se o aplicativo Vendo está instalado e o bloco de tema está ativado.
”Typical Site” foi selecionado durante a configuração do OneSignal
A Vendo requer o tipo de integração Custom Code. Typical Site não expõe as configurações de caminho do service worker, então o SDK tentará carregar /OneSignalSDKWorker.js da raiz da sua loja — o Shopify bloqueia isso e as inscrições push falharão silenciosamente.Correção: no dashboard do OneSignal, mude o tipo de integração do app para Custom Code em Settings > Platforms > Web, ou exclua o app e recrie-o usando Custom Code desde o início.
Verifique se o bloco de tema Vendo está ativado em App embeds.
No aplicativo Vendo em OneSignal > Push Settings, confirme que pelo menos uma alternância de prompt (Subscription Bell, Push Slide Prompt ou Native Browser Prompt) está ativada — todas as quatro estão desativadas por padrão.
Verifique o atraso do gatilho — um Push Slide definido para várias visualizações de página não será disparado no primeiro carregamento da página.
Confirme que seu navegador permite notificações (clique no ícone de cadeado na barra de endereços).
Tente uma janela de navegação anônima/privada caso o prompt tenha sido descartado anteriormente.
As tags só sincronizam para usuários identificados — visitantes anônimos não são rastreados. Certifique-se de que o usuário foi identificado via inscrição push, login, cadastro em newsletter ou checkout. As sincronizações iniciais de tags podem levar várias horas.
Verifique se os eventos estão habilitados no aplicativo Vendo em OneSignal > Events. Eventos do lado do cliente requerem que o Shopify Web Pixel esteja ativo e o usuário esteja identificado. Eventos do lado do servidor requerem que a REST API Key esteja configurada.
As notificações mostram “Entregue” mas não aparecem
A integração está funcionando — o problema está nas configurações de notificação do seu navegador ou sistema operacional. Verifique as configurações de notificação do seu sistema operacional para o seu navegador, certifique-se de que o modo Não Perturbe / Foco está desativado e verifique as permissões de notificação no nível do navegador.
Posso alterar o identificador de cliente após a configuração?
Sim. Atualize a configuração no aplicativo Vendo em Settings > Customer Identifier. Alterar o identificador pode criar perfis de usuário separados se os usuários existentes já foram identificados com o método anterior.
A integração Vendo foca em lojas Shopify e push web. Se você também tem um app móvel, certifique-se de que o identificador selecionado na Vendo corresponde ao usado no seu app móvel para que os perfis de usuário permaneçam consistentes.
O que acontece se um visitante nunca for identificado?
Eventos de visitantes não identificados não são enviados ao OneSignal. Assim que o visitante se identifica (inscrevendo-se no push, fazendo login, cadastrando-se em uma newsletter ou concluindo o checkout), a Vendo começa a enviar eventos. Essa abordagem somente para usuários identificados evita usuários duplicados e garante dados limpos.
Por que a Vendo usa uma abordagem somente para usuários identificados?
Rastrear visitantes anônimos cria usuários duplicados do OneSignal que nunca podem ser mesclados adequadamente, levando a contagens infladas de usuários e dados fragmentados. A abordagem somente para usuários identificados garante que cada usuário do OneSignal seja real e acionável.
Encontre seu App ID do OneSignal e chave REST API.
Eventos personalizados
Rastreie o comportamento do usuário e acione automações baseadas em eventos do Shopify.
Configuração de push web
Configure notificações web push para sua loja Shopify.
Prompts de permissão web
Configure como e quando solicitar permissão de push web aos visitantes.
Esta página foi útil?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"OneSignal","description":"OneSignal is a platform for sending push notifications, emails, in-app messages, and SMS campaigns via a single API, Journey Builder, and a dashboard.","colors":{"primary":"#3A3DB3","light":"#E54B4D","dark":"#3A3DB3"},"logo":{"light":"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107","dark":"https://mintcdn.com/onesignal/s4WC_KzLxf8ornqq/logo/OneSignal-Logo-White.svg?fit=max\u0026auto=format\u0026n=s4WC_KzLxf8ornqq\u0026q=85\u0026s=2573a53b5aea961e18c82b3af8f31925"},"favicon":"https://mintcdn.com/onesignal/SGduBFHpiRdg5l6h/favicon.ico?fit=max\u0026auto=format\u0026n=SGduBFHpiRdg5l6h\u0026q=85\u0026s=c0a99fadc0553c658a83741c5611cef4","api":{"examples":{"languages":["curl","typescript","python","php","go","ruby","java","csharp","rust"],"autogenerate":true}},"navbar":{"links":[{"href":"mailto:support@onesignal.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.onesignal.com"}},"footer":{"socials":{"github":"https://github.com/OneSignal","linkedin":"https://linkedin.com/company/onesignal","youtube":"https://www.youtube.com/@onesignalofficial/playlists"}},"seo":{"metatags":{"apple-mobile-web-app-title":"OneSignal Docs"}},"fonts":{"family":"Nunito Sans"},"styling":{"eyebrows":"breadcrumbs","latex":true},"integrations":{"ga4":{"measurementId":"G-2DGWL0VYP5"},"posthog":{"apiKey":"phc_vZpvE0f5eyzcOt30FHer34yddVmNdo9kmlMVRBzLMtn","apiHost":"https://eu.i.posthog.com","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"navigation":{"languages":[{"language":"en","href":"docs/en/home"},{"language":"cn","href":"docs/cn/home"},{"language":"ko","href":"docs/ko/home"},{"language":"ja","href":"docs/ja/home"},{"language":"tr","href":"docs/tr/home"},{"language":"pt-BR","href":"docs/pt-BR/home"},{"language":"es","href":"docs/es/home"},{"language":"fr","href":"docs/fr/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"onesignal","hasAudioNarration":false,"actualSubdomain":"onesignal","customDomains":["documentation.onesignal.com"],"gitSource":{"type":"github","owner":"onesignal","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae8fcf5b7cfd6da0ee6448f","collectionId":"66dc16b6-f4f9-4e84-bb4b-7121faef1320","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae8fcf5b7cfd6da0ee6448f"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae8fcf5b7cfd6da0ee6448f","clientVersion":"0.0.4045","searchFilterCounts":[{"language":"en","tag":"User Guides","count":201},{"language":"es","tag":"Guías del Usuario","count":178},{"language":"fr","tag":"Guides utilisateur","count":178},{"language":"ja","tag":"ユーザーガイド","count":178},{"language":"ko","tag":"사용자 가이드","count":178},{"language":"pt-BR","tag":"Guia do Usuário","count":178},{"language":"tr","tag":"Kullanıcı Kılavuzları","count":178},{"language":"cn","tag":"用户指南","count":176},{"language":"en","tag":"Message channels","count":90},{"language":"es","tag":"Canales de mensajería","count":84},{"language":"fr","tag":"Canaux de messagerie","count":84},{"language":"ja","tag":"メッセージングチャネル","count":84},{"language":"ko","tag":"메시지 채널","count":84},{"language":"pt-BR","tag":"Canais de mensagem","count":84},{"language":"tr","tag":"Mesaj kanalları","count":84},{"language":"cn","tag":"消息渠道","count":83},{"language":"default","tag":"API Reference","count":68},{"language":"default","tag":"API reference","count":64},{"language":"en","tag":"Analytics \u0026 Integrations","count":53},{"language":"es","tag":"Analítica \u0026 Integraciones","count":52},{"language":"fr","tag":"Analyses et intégrations","count":52},{"language":"ja","tag":"分析 \u0026 統合","count":52},{"language":"ko","tag":"분석 \u0026 통합","count":52},{"language":"pt-BR","tag":"Análises \u0026 Integrações","count":52},{"language":"tr","tag":"Analitik ve Entegrasyonlar","count":52},{"language":"cn","tag":"分析和集成","count":51},{"language":"cn","tag":"开发者指南","count":48},{"language":"es","tag":"Guías del desarrollador","count":48},{"language":"fr","tag":"Guides développeur","count":48},{"language":"ja","tag":"開発者ガイド","count":48},{"language":"ko","tag":"개발자 가이드","count":48},{"language":"tr","tag":"Geliştirici Kılavuzları","count":48},{"language":"en","tag":"Developer Guides","count":47},{"language":"pt-BR","tag":"Guia de desenvolvedor","count":47},{"language":"en","tag":"Integrations","count":37},{"language":"es","tag":"Integraciones","count":37},{"language":"fr","tag":"Intégrations","count":37},{"language":"ja","tag":"統合","count":37},{"language":"ko","tag":"통합","count":37},{"language":"pt-BR","tag":"Integrações","count":37},{"language":"tr","tag":"Entegrasyonlar","count":37},{"language":"cn","tag":"集成","count":36},{"language":"en","tag":"Tutorials","count":35},{"language":"cn","tag":"推送通知","count":31},{"language":"cn","tag":"OneSignal 作为目的地","count":31},{"language":"en","tag":"Push","count":31},{"language":"en","tag":"OneSignal as destination","count":31},{"language":"es","tag":"Push notificaciones","count":31},{"language":"es","tag":"OneSignal como destino","count":31},{"language":"fr","tag":"Push","count":31},{"language":"fr","tag":"OneSignal comme destination","count":31},{"language":"ja","tag":"プッシュ通知","count":31},{"language":"ja","tag":"OneSignal as 宛先","count":31},{"language":"ko","tag":"푸시","count":31},{"language":"ko","tag":"OneSignal을 데이터 목적지로 사용","count":31},{"language":"pt-BR","tag":"Push notificações","count":31},{"language":"pt-BR","tag":"OneSignal como destino","count":31},{"language":"tr","tag":"Anlık bildirimler","count":31},{"language":"tr","tag":"OneSignal hedef","count":31},{"language":"en","tag":"Mobile SDKs","count":26},{"language":"cn","tag":"移动SDK","count":25},{"language":"es","tag":"SDKs móviles","count":25},{"language":"fr","tag":"SDK mobiles","count":25},{"language":"ja","tag":"モバイルSDK","count":25},{"language":"ko","tag":"모바일 SDKs","count":25},{"language":"pt-BR","tag":"SDKs móveis","count":25},{"language":"tr","tag":"Mobil SDK'lar","count":25},{"language":"cn","tag":"教程","count":24},{"language":"es","tag":"Tutoriales","count":24},{"language":"fr","tag":"Tutoriels","count":24},{"language":"ja","tag":"チュートリアル","count":24},{"language":"ko","tag":"튜토리얼","count":24},{"language":"pt-BR","tag":"Tutoriais","count":24},{"language":"tr","tag":"Eğitimler","count":24},{"language":"en","tag":"Mobile SDK setup","count":19},{"language":"cn","tag":"移动SDK设置","count":18},{"language":"es","tag":"Configuración del SDK móvil","count":18},{"language":"fr","tag":"Configuration SDK mobile","count":18},{"language":"ja","tag":"モバイルSDKセットアップ","count":18},{"language":"ko","tag":"모바일 SDK 설정","count":18},{"language":"pt-BR","tag":"Configuração do SDK móvel","count":18},{"language":"tr","tag":"Mobil SDK kurulumu","count":18},{"language":"default","tag":"Messages","count":9},{"language":"default","tag":"Users","count":9},{"language":"default","tag":"Organization","count":9},{"language":"default","tag":"Journeys","count":8},{"language":"default","tag":"Deprecated","count":6},{"language":"default","tag":"Templates","count":6},{"language":"default","tag":"Subscriptions","count":6},{"language":"default","tag":"Segments","count":5}]},"assistantConfig":{"enableStarterQuestions":false,"deflection":{"enabled":true,"email":"support@onesignal.com","showHelpButton":true}},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"docs/pt-BR/shopify","slug":"/docs/pt-BR/shopify","pageMetadata":{"title":"Integração do Shopify para push web","description":"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.","keywords":["Shopify","Vendo","integração","web push","eventos personalizados","tags de clientes","e-commerce","carrinho abandonado"],"href":"/docs/pt-BR/shopify"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,Columns,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`O OneSignal fez parceria com a Vendo para criar uma integração perfeita com o Shopify. A Vendo implanta o SDK do OneSignal na sua loja Shopify com um clique — sem necessidade de editar manualmente o código do tema. Ela sincroniza tags de clientes, eventos de navegação do lado do cliente e eventos de comércio do lado do servidor para o OneSignal, permitindo que você construa segmentos e acione campanhas push a partir de comportamento real e histórico de compras.`}),`\n`,_jsxs(_components.p,{children:[`Para a documentação da Vendo, consulte `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/overview`,children:`Vendo OneSignal Destination`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`pré-requisitos`,children:`Pré-requisitos`}),`\n`,_jsx(_components.p,{children:`Antes de começar, certifique-se de ter:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Uma loja Shopify com o `,_jsx(_components.a,{href:`https://apps.shopify.com/`,children:`aplicativo Vendo`}),` instalado`]}),`\n`,_jsx(_components.li,{children:`Uma conta e app OneSignal (plataforma Web)`}),`\n`,_jsxs(_components.li,{children:[`Seu `,_jsx(_components.strong,{children:`App ID`}),` do OneSignal (obrigatório)`]}),`\n`,_jsxs(_components.li,{children:[`Sua `,_jsx(_components.strong,{children:`REST API Key`}),` do OneSignal (necessária para eventos do lado do servidor como sincronização de pedidos e marcação de usuários)`]}),`\n`,_jsx(_components.li,{children:`App embed da Vendo ativado nas configurações do tema do seu Shopify`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`configuração-do-onesignal`,children:`Configuração do OneSignal`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Criar um app OneSignal`,children:[_jsxs(_components.p,{children:[`Faça login em `,_jsx(_components.a,{href:`https://onesignal.com`,children:`onesignal.com`}),` e crie ou selecione um app. Escolha `,_jsx(_components.strong,{children:`Web`}),` como plataforma e selecione `,_jsx(_components.strong,{children:`Custom Code`}),` como tipo de integração.`]}),_jsx(Warning,{children:_jsxs(_components.p,{children:[`Você deve selecionar `,_jsx(_components.strong,{children:`Custom Code`}),`. A opção `,_jsx(_components.strong,{children:`Typical Site`}),` não expõe as configurações de caminho do service worker, então o SDK tentará carregar `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` da raiz da sua loja — o Shopify bloqueia isso e as inscrições push falharão silenciosamente. Se você já criou o app com Typical Site, mude para Custom Code em `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, ou exclua e recrie o app.`]})})]}),_jsxs(Step,{title:`Configurar as definições de push web`,children:[_jsxs(_components.p,{children:[`No seu app OneSignal, navegue até `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),` ou siga o guia de `,_jsx(_components.a,{href:`/docs/pt-BR/web-push-setup`,children:`configuração de push web`}),`.`]}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Configuração do site`})}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site Name`}),`: O nome da sua loja, usado como título de notificação padrão.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Site URL`}),`: A URL acessível publicamente da sua loja Shopify (ex.: `,_jsx(_components.code,{children:`https://yourstore.com`}),`).`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Deve ser a `,_jsx(_components.a,{href:`https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy`,children:`origem`}),` exata do seu site.`]}),`\n`,_jsxs(_components.li,{children:[`Não use `,_jsx(_components.code,{children:`https://your-site.myshopify.com/`}),` se os clientes acessam seu site através de um domínio personalizado como `,_jsx(_components.code,{children:`https://your-site.com/`}),`.`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Default Icon URL`}),`: Faça upload de um PNG, JPG ou GIF não animado quadrado de `,_jsx(_components.code,{children:`256×256`}),` que aparece em notificações e prompts. Se não definido, um ícone de sino é usado como padrão. Veja `,_jsx(_components.a,{href:`/docs/pt-BR/notification-icons#web-notification-icons`,children:`Ícones de notificação`}),`.`]}),`\n`]})]}),_jsxs(Step,{title:`Configurar o caminho do service worker`,children:[_jsx(_components.p,{children:`O Shopify não permite servir arquivos da raiz do site, então você deve informar ao OneSignal onde a Vendo serve o arquivo service worker.`}),_jsxs(_components.p,{children:[`No OneSignal, vá para `,_jsx(_components.strong,{children:`Settings > Push \u0026 In-App > Web Settings`}),`, role até `,_jsx(_components.strong,{children:`Advanced Push Settings`}),` e ative `,_jsx(_components.strong,{children:`Customize service worker paths and filenames`}),`, depois configure:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Configuração`}),_jsx(_components.th,{children:`Valor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Path to service worker files`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Main service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Updater service worker filename`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`OneSignalSDKWorker.js`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service worker registration scope`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/apps/vendo/`})})]})]})]}),_jsx(Frame,{caption:`Configuração do service worker para lojas Shopify usando a Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=b7bc1794445e002bd3427c94a6ec6ccf`,alt:`OneSignal Advanced Push Settings showing service worker paths configured for Vendo`,\"data-og-width\":`3038`,width:`3038`,\"data-og-height\":`1108`,height:`1108`,\"data-path\":`images/integrations/shopify/vendo-service-worker-configuration.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=280\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=f9f035641926065e0143a813b32f97cd 280w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=560\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1388d484dca925c629b100fb846276c8 560w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=840\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77b96e7af65f0af82537ea1d5dfcbb6f 840w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1100\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=1e3b388f7aed2ea888597d3ed2895bc7 1100w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=1650\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=77bd6af31b6109d131225c8fe852badd 1650w, https://mintcdn.com/onesignal/N_-d1DtCTRgGPN4l/images/integrations/shopify/vendo-service-worker-configuration.png?w=2500\u0026fit=max\u0026auto=format\u0026n=N_-d1DtCTRgGPN4l\u0026q=85\u0026s=4c669b0f4b6f23abd7666f2338ac07ce 2500w`})}),_jsxs(_components.p,{children:[`A Vendo serve automaticamente o arquivo `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` necessário em `,_jsx(_components.code,{children:`https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js`}),` — sem uploads manuais de arquivos.`]}),_jsxs(Note,{children:[_jsxs(_components.p,{children:[`A página `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),` do aplicativo Vendo exibe esses valores exatos com opção de copiar com um clique, então você não precisa redigitá-los.`]}),_jsx(_components.p,{children:`O Updater Filename e o Main Service Worker Filename são o mesmo arquivo. O OneSignal v16+ usa um único service worker para ambos os propósitos.`})]})]}),_jsx(Step,{title:`Copiar suas credenciais`,children:_jsxs(_components.p,{children:[`No OneSignal, vá para `,_jsx(_components.a,{href:`/docs/pt-BR/keys-and-ids`,children:_jsx(_components.strong,{children:`Settings > Keys \u0026 IDs`})}),` e copie seu `,_jsx(_components.strong,{children:`App ID`}),` e `,_jsx(_components.strong,{children:`REST API Key`}),`. Você os inserirá na Vendo.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`configuração-da-vendo`,children:`Configuração da Vendo`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Instalar o aplicativo Vendo`,children:_jsx(_components.p,{children:`Instale o aplicativo Vendo da Shopify App Store.`})}),_jsxs(Step,{title:`Adicionar a integração OneSignal`,children:[_jsxs(_components.p,{children:[`Na Vendo, navegue até `,_jsx(_components.strong,{children:`Destinations > OneSignal`}),`.`]}),_jsx(Frame,{caption:`Adicionar a integração OneSignal na Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=13acfaf4e6b01f77535f1a1386c4212d`,alt:`Vendo Integrations page showing the OneSignal integration option`,\"data-og-width\":`2520`,width:`2520`,\"data-og-height\":`1756`,height:`1756`,\"data-path\":`images/integrations/shopify/vendo-onesignal-integrations.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=280\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=094d74aa6803a73332fece950acf2220 280w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=560\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a0db5dcf258f52557d8081d4143790b0 560w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=840\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=a6bbbdfc27769e5d1d45711ac85ef16a 840w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1100\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=bf548380a6bcbbb3c008a74ec1ab270d 1100w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=1650\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=4d1949cdcae2c3867ea83ce58cc112f9 1650w, https://mintcdn.com/onesignal/PoskQI_qr0DD8jDV/images/integrations/shopify/vendo-onesignal-integrations.png?w=2500\u0026fit=max\u0026auto=format\u0026n=PoskQI_qr0DD8jDV\u0026q=85\u0026s=641ebffe4be3aa129aaf4ce1cb50dd1b 2500w`})})]}),_jsx(Step,{title:`Inserir suas credenciais OneSignal`,children:_jsxs(_components.p,{children:[`Insira seu `,_jsx(_components.strong,{children:`App ID`}),` e `,_jsx(_components.strong,{children:`REST API Key`}),` do OneSignal da seção anterior, depois clique em `,_jsx(_components.strong,{children:`Save`}),`.`]})}),_jsxs(Step,{title:`Ativar o bloco de tema Vendo`,children:[_jsx(_components.p,{children:`O bloco de tema Vendo carrega o SDK do OneSignal na sua loja. Sem ele, o prompt de push não aparecerá e o rastreamento do lado do cliente não funcionará.`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`No administrador do Shopify, vá para `,_jsx(_components.strong,{children:`Online Store > Themes > Customize`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`App embeds`}),` (ícone de peça de quebra-cabeça na barra lateral esquerda).`]}),`\n`,_jsxs(_components.li,{children:[`Ative `,_jsx(_components.strong,{children:`Vendo`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Clique em `,_jsx(_components.strong,{children:`Save`}),`.`]}),`\n`]}),_jsx(_components.p,{children:`O bloco de tema gerencia a inicialização do SDK, o registro do service worker, a exibição do prompt push, a identificação do usuário (inscrição push, login, cadastro em newsletter) e a sincronização de tags para usuários identificados.`})]}),_jsx(Step,{title:`Selecionar eventos para sincronizar`,children:_jsxs(_components.p,{children:[`No aplicativo Vendo em `,_jsx(_components.strong,{children:`OneSignal > Events`}),`, ative os eventos do lado do cliente e do servidor que deseja enviar ao OneSignal. Consulte `,_jsx(_components.a,{href:`#tracking`,children:`Rastreamento`}),` abaixo para a lista completa de eventos.`]})}),_jsxs(Step,{title:`Configurar prompts de push`,children:[_jsxs(_components.p,{children:[`Se cada prompt aparece na sua loja — e quando — é controlado a partir do aplicativo Vendo, não do dashboard do OneSignal. No aplicativo Vendo, abra `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`. Você verá quatro seções, cada uma com sua própria alternância:`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Seção`}),_jsx(_components.th,{children:`O que faz`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Subscription Bell`})}),_jsx(_components.td,{children:`Ícone de sino flutuante em que os visitantes podem clicar para se inscrever a qualquer momento`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Push Slide Prompt`})}),_jsx(_components.td,{children:`Banner deslizante com sua marca solicitando permissão de push`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Native Browser Prompt`})}),_jsx(_components.td,{children:`Aciona diretamente o diálogo de permissão integrado do navegador`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Welcome Notification`})}),_jsx(_components.td,{children:`Notificação push enviada automaticamente quando um visitante se inscreve`})]})]})]}),_jsxs(_components.p,{children:[`Para os prompts Push Slide e Native, você também define `,_jsx(_components.strong,{children:`gatilhos`}),` — quantas visualizações de página e quantos segundos aguardar antes que o prompt seja disparado. Valores padrão sensatos vêm pré-preenchidos.`]}),_jsxs(_components.p,{children:[`Todos os quatro prompts estão `,_jsx(_components.strong,{children:`desativados por padrão`}),` — ative apenas os que você deseja. Salve uma vez no final da página; as alterações entram em vigor no próximo carregamento da loja sem reimplantação do tema.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`O texto dos botões do prompt, o texto da mensagem de ação, os ícones e opções avançadas como testes A/B e localização são configurados no dashboard do OneSignal. A partir do Push Settings da Vendo, clique em `,_jsx(_components.strong,{children:`Open OneSignal Dashboard`}),` para ir diretamente à página Permission Prompt Setup. Se um prompt estiver configurado no dashboard do OneSignal mas sua alternância na Vendo estiver desativada, ele não será renderizado — a alternância da Vendo é a fonte de verdade para a visibilidade.`]})})]}),_jsxs(Step,{title:`Sincronização de dados históricos (opcional)`,children:[_jsx(_components.p,{children:`A Vendo pode preencher retroativamente clientes existentes e histórico de pedidos recentes para o OneSignal. Isso acontece automaticamente em segundo plano após salvar suas credenciais.`}),_jsx(Frame,{caption:`Opções de sincronização de dados históricos na Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=4eb61a384a7ac3f4596661348f98ac48`,alt:`Vendo historical data settings showing sync options for Shopify data`,\"data-og-width\":`1724`,width:`1724`,\"data-og-height\":`762`,height:`762`,\"data-path\":`images/integrations/shopify/vendo-historical-data.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=033f4c21ac8b9d1095228df3f4002766 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=b2c532afd8ae302675689113f55dd756 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=458b756d712d8606a6d2929bfe8f3671 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=1835889af2b5075bd9662932d19e6bf6 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=7c5a11069ffbf3ac0af33a530f4f6ef2 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-historical-data.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=5d81cb48d8760e6c334c51857eee2e83 2500w`})})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`rastreamento`,children:`Rastreamento`}),`\n`,_jsx(Heading,{level:`3`,id:`identificação-de-usuários`,children:`Identificação de usuários`}),`\n`,_jsxs(_components.p,{children:[`A Vendo usa uma abordagem `,_jsx(_components.strong,{children:`somente para usuários identificados`}),` — visitantes anônimos não são rastreados no OneSignal. Os usuários devem ser identificados por um dos quatro métodos antes que os eventos sejam enviados. Isso evita usuários duplicados e garante dados limpos e acionáveis.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Método`}),_jsx(_components.th,{children:`Como funciona`}),_jsx(_components.th,{children:`Identificador usado`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Inscrição push web`})}),_jsx(_components.td,{children:`O visitante clica em “Permitir” no prompt push. O OneSignal cria um usuário automaticamente e a Vendo captura o ID do OneSignal.`}),_jsx(_components.td,{children:`OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Cadastro em newsletter`})}),_jsxs(_components.td,{children:[`O visitante envia um formulário de newsletter ou e-mail. A Vendo captura o e-mail e chama `,_jsx(_components.code,{children:`OneSignal.login(email)`}),`.`]}),_jsx(_components.td,{children:`Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Login do cliente`})}),_jsxs(_components.td,{children:[`O cliente faz login na sua conta Shopify. A Vendo detecta isso e chama `,_jsx(_components.code,{children:`OneSignal.login()`}),` com o identificador configurado.`]}),_jsx(_components.td,{children:`Shopify Customer ID ou Email`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Checkout concluído`})}),_jsxs(_components.td,{children:[`O cliente conclui uma compra. A Vendo armazena o identificador e chama `,_jsx(_components.code,{children:`OneSignal.login()`}),`.`]}),_jsx(_components.td,{children:`Shopify Customer ID ou Email`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Se você tem um app mobile ou conexões de terceiros, selecione o identificador (Shopify Customer ID vs. Email) que corresponde às suas outras ferramentas para que os perfis de usuário permaneçam consistentes entre plataformas. Configure isso no aplicativo Vendo em `,_jsx(_components.strong,{children:`Settings > Customer Identifier`}),`.`]})}),`\n`,_jsx(Heading,{level:`4`,id:`fusão-de-identidades`,children:`Fusão de identidades`}),`\n`,_jsxs(_components.p,{children:[`Se um assinante push (identificado pelo ID do OneSignal) fizer login ou concluir uma compra posteriormente, a Vendo chama `,_jsx(_components.code,{children:`OneSignal.login()`}),` com seu Shopify Customer ID ou e-mail. O OneSignal vincula a inscrição push ao usuário identificado — nenhum usuário duplicado é criado. Todas as inscrições push anteriores são preservadas, e os eventos do lado do servidor (pedidos, cumprimentos) chegam ao perfil de usuário correto.`]}),`\n`,_jsx(Heading,{level:`3`,id:`tags-de-clientes`,children:`Tags de clientes`}),`\n`,_jsxs(_components.p,{children:[`A Vendo sincroniza as propriedades do cliente como `,_jsx(_components.a,{href:`/docs/pt-BR/add-user-data-tags`,children:`tags`}),` no OneSignal para segmentação. Todos os valores são armazenados como strings (formato nativo do OneSignal).`]}),`\n`,_jsx(Heading,{level:`4`,id:`identidade-e-perfil`,children:`Identidade e perfil`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email`})}),_jsx(_components.td,{children:`E-mail do cliente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_name`})}),_jsx(_components.td,{children:`Nome`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_name`})}),_jsx(_components.td,{children:`Sobrenome`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`phone`})}),_jsx(_components.td,{children:`Número de telefone do cliente`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`shopify_customer_id`})}),_jsx(_components.td,{children:`ID do cliente no Shopify`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`verified_email`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` ou `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`tax_exempt`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`\"true\"`}),` ou `,_jsx(_components.code,{children:`\"false\"`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_tags`})}),_jsx(_components.td,{children:`Tags do Shopify separadas por vírgulas`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`customer_created_at`})}),_jsx(_components.td,{children:`Data de criação do cliente (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_seen`})}),_jsx(_components.td,{children:`Timestamp ISO do primeiro evento de identificação`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`consentimento-de-marketing`,children:`Consentimento de marketing`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`marketing_state`})}),_jsx(_components.td,{children:`Estado geral de consentimento de marketing`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`email_marketing_consent`})}),_jsx(_components.td,{children:`Estado de consentimento de marketing por e-mail`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`estatísticas-de-comércio`,children:`Estatísticas de comércio`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`total_spent`})}),_jsx(_components.td,{children:`Gasto total acumulado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_count`})}),_jsx(_components.td,{children:`Total de pedidos`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`first_order_date`})}),_jsx(_components.td,{children:`Data do primeiro pedido (ISO 8601)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`last_order_date`})}),_jsx(_components.td,{children:`Data do pedido mais recente (ISO 8601)`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`tags-de-atribuição`,children:`Tags de atribuição`}),`\n`,_jsxs(_components.p,{children:[`A Vendo captura parâmetros UTM e IDs de clique no checkout e os sincroniza como tags. Valores de último toque são sobrescritos a cada checkout; valores de primeiro toque (`,_jsx(_components.code,{children:`initial_utm_*`}),`) são gravados apenas uma vez.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Tag`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_source`})}),_jsx(_components.td,{children:`UTM source de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_medium`})}),_jsx(_components.td,{children:`UTM medium de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_campaign`})}),_jsx(_components.td,{children:`UTM campaign de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_content`})}),_jsx(_components.td,{children:`UTM content de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`utm_term`})}),_jsx(_components.td,{children:`UTM term de último toque`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_source`})}),_jsx(_components.td,{children:`UTM source de primeiro toque (definido uma vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_medium`})}),_jsx(_components.td,{children:`UTM medium de primeiro toque (definido uma vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`initial_utm_campaign`})}),_jsx(_components.td,{children:`UTM campaign de primeiro toque (definido uma vez)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`gclid`})}),_jsx(_components.td,{children:`ID de clique do Google Ads`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`fbclid`})}),_jsx(_components.td,{children:`ID de clique da Meta (Facebook/Instagram)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ttclid`})}),_jsx(_components.td,{children:`ID de clique do TikTok`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`msclkid`})}),_jsx(_components.td,{children:`ID de clique do Microsoft Ads`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`associação-a-segmentos`,children:`Associação a segmentos`}),`\n`,_jsxs(_components.p,{children:[`A Vendo pode sincronizar a associação a segmentos do Shopify como tags no formato `,_jsx(_components.code,{children:`shopify_segment_{segment_id}`}),` com valor `,_jsx(_components.code,{children:`\"true\"`}),`. Veja a `,_jsx(_components.a,{href:`https://docs.vendodata.com/destinations/onesignal/events-and-properties`,children:`referência de Events \u0026 Properties da Vendo`}),` para detalhes sobre como executar a sincronização.`]}),`\n`,_jsx(Heading,{level:`3`,id:`eventos-do-lado-do-cliente`,children:`Eventos do lado do cliente`}),`\n`,_jsxs(_components.p,{children:[`A Vendo rastreia `,_jsx(_components.a,{href:`/docs/pt-BR/custom-events`,children:`eventos personalizados`}),` do lado do cliente na sua loja através do Shopify Web Pixel e os envia ao OneSignal. Esses eventos só são enviados após um usuário ser identificado.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Evento`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`page_viewed`})}),_jsx(_components.td,{children:`O cliente visita uma página (loja, checkout ou status do pedido)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_viewed`})}),_jsx(_components.td,{children:`O cliente visualiza uma página de detalhes do produto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`collection_viewed`})}),_jsx(_components.td,{children:`O cliente visualiza uma página de coleção de produtos`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`search_submitted`})}),_jsx(_components.td,{children:`O cliente realiza uma busca na loja`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_added_to_cart`})}),_jsx(_components.td,{children:`Um produto é adicionado ao carrinho`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`product_removed_from_cart`})}),_jsx(_components.td,{children:`Um produto é removido do carrinho`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_viewed`})}),_jsx(_components.td,{children:`O cliente visualiza a página do carrinho`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_started`})}),_jsx(_components.td,{children:`O cliente inicia o checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_contact_info_submitted`})}),_jsx(_components.td,{children:`Etapa de informações de contato enviada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_address_info_submitted`})}),_jsx(_components.td,{children:`Etapa de informações de endereço enviada`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_shipping_info_submitted`})}),_jsx(_components.td,{children:`Método de envio selecionado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payment_info_submitted`})}),_jsx(_components.td,{children:`Detalhes de pagamento enviados`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`checkout_completed`})}),_jsx(_components.td,{children:`Checkout concluído com sucesso`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`alert_displayed`})}),_jsx(_components.td,{children:`Alerta ou aviso de checkout exibido`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ui_extension_errored`})}),_jsx(_components.td,{children:`Erro de execução de extensão de UI do checkout`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`all_custom_events`})}),_jsx(_components.td,{children:`Eventos personalizados de clientes do Shopify`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuração de eventos do lado do cliente na Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c94b99465b8c200ebb1bb475e492f8a1`,alt:`Vendo client-side events settings showing available custom events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`726`,height:`726`,\"data-path\":`images/integrations/shopify/vendo-client-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=d1e41237a617cf28a37896112a3eaf2c 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=8b40389eb561959186fd8e0d6cabd121 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=99ccb2f69828386a1e094e78b9901911 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ef9ed5e02a0c42aeff7af27634a6e0e5 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=ae5621c278b99321f00fe51d794e56db 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-client-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=0b6f72a0bbbc2a21f1e0048cad374389 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`eventos-do-lado-do-servidor`,children:`Eventos do lado do servidor`}),`\n`,_jsxs(_components.p,{children:[`Os eventos de comércio do Shopify são exportados e encaminhados ao OneSignal pelo pipeline da Vendo. Eles sempre usam o Shopify Customer ID como `,_jsx(_components.code,{children:`external_id`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Evento`}),_jsx(_components.th,{children:`Descrição`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_received`})}),_jsx(_components.td,{children:`Um novo pedido é criado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_fulfilled`})}),_jsx(_components.td,{children:`O pedido é cumprido/enviado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_delivered`})}),_jsx(_components.td,{children:`O pedido é entregue`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_refunded`})}),_jsx(_components.td,{children:`O pedido é totalmente reembolsado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`order_partially_refunded`})}),_jsx(_components.td,{children:`O pedido é parcialmente reembolsado`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`cart_abandoned`})}),_jsx(_components.td,{children:`O checkout é abandonado`})]})]})]}),`\n`,_jsx(Frame,{caption:`Configuração de eventos do lado do servidor na Vendo.`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=c9bed30c26b0bec3b8a53eb8cde8098d`,alt:`Vendo server-side events settings showing available Shopify webhook events`,\"data-og-width\":`865`,width:`865`,\"data-og-height\":`394`,height:`394`,\"data-path\":`images/integrations/shopify/vendo-server-side-events.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=280\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=690636fef91b80a933c4eead29bd4ae1 280w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=560\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=a3a6abf2812eed57c9ef6679210bc3aa 560w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=840\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=54af0946d01f41d8019a0b0f7a50070c 840w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1100\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=e86d2c7e36e1bd0ec147df3a8a40aada 1100w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=1650\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=91583da7d36d3afa45c01bb092e31709 1650w, https://mintcdn.com/onesignal/dknFSNQuQfw5IM0j/images/integrations/shopify/vendo-server-side-events.png?w=2500\u0026fit=max\u0026auto=format\u0026n=dknFSNQuQfw5IM0j\u0026q=85\u0026s=46ebfe07dbe982664ad947a97a2c2384 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`detalhes-da-plataforma`,children:`Detalhes da plataforma`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Configuração`}),_jsx(_components.th,{children:`Valor`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Método de sincronização`}),_jsx(_components.td,{children:`Cliente + lado do servidor via Vendo`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Identidade`}),_jsx(_components.td,{children:`Shopify Customer ID, Email ou OneSignal ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Deduplicação`}),_jsx(_components.td,{children:`Hash UUID v5 por evento`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Tamanho do lote`}),_jsx(_components.td,{children:`1.000 eventos por requisição`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Formato de dados`}),_jsx(_components.td,{children:`Todos os valores armazenados como strings`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`casos-de-uso`,children:`Casos de uso`}),`\n`,_jsx(Heading,{level:`3`,id:`recuperação-de-carrinho-abandonado`,children:`Recuperação de carrinho abandonado`}),`\n`,_jsxs(_components.p,{children:[`Crie um `,_jsx(_components.a,{href:`/docs/pt-BR/journeys-overview`,children:`Journey`}),` acionado pelo evento `,_jsx(_components.code,{children:`cart_abandoned`}),`. Aguarde 1 hora após o abandono, depois envie uma notificação push com o link de recuperação usando a propriedade `,_jsx(_components.code,{children:`checkout_url`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`atualizações-de-status-do-pedido`,children:`Atualizações de status do pedido`}),`\n`,_jsxs(_components.p,{children:[`Crie Journeys para `,_jsx(_components.code,{children:`order_fulfilled`}),` e `,_jsx(_components.code,{children:`order_delivered`}),` para enviar notificações push imediatas com informações de rastreamento quando os pedidos são enviados e chegam.`]}),`\n`,_jsx(Heading,{level:`3`,id:`engajamento-de-clientes-vip`,children:`Engajamento de clientes VIP`}),`\n`,_jsxs(_components.p,{children:[`Crie um `,_jsx(_components.a,{href:`/docs/pt-BR/segmentation`,children:`segmento`}),` onde `,_jsx(_components.code,{children:`total_spent`}),` seja maior que um limite, depois envie ofertas exclusivas personalizadas com a tag `,_jsx(_components.code,{children:`first_name`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`campanhas-de-reengajamento`,children:`Campanhas de reengajamento`}),`\n`,_jsxs(_components.p,{children:[`Direcione clientes inativos criando um segmento onde `,_jsx(_components.code,{children:`last_order_date`}),` seja há mais de 90 dias e envie campanhas de reconquista.`]}),`\n`,_jsx(Heading,{level:`2`,id:`fontes-compatíveis`,children:`Fontes compatíveis`}),`\n`,_jsx(_components.p,{children:`O OneSignal funciona com as seguintes fontes de dados da Vendo:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Fonte`}),_jsx(_components.th,{children:`Eventos`}),_jsx(_components.th,{children:`Tags de usuário`}),_jsx(_components.th,{children:`Audiências`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Shopify`}),_jsx(_components.td,{children:`Sim`}),_jsx(_components.td,{children:`Sim`}),_jsx(_components.td,{children:`Sim`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Stripe`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Mixpanel`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Amplitude`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`}),_jsx(_components.td,{children:`Em breve`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`testes`,children:`Testes`}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Verificar o service worker`,children:[_jsxs(_components.p,{children:[`Visite `,_jsx(_components.code,{children:`https://yourstore.myshopify.com/apps/vendo/OneSignalSDKWorker.js`}),` no seu navegador. Você deve ver código JavaScript. Se receber um 404, verifique se o aplicativo Vendo está instalado e o bloco de tema está ativado.`]}),_jsxs(_components.p,{children:[`Você também pode abrir o DevTools do navegador (`,_jsx(_components.strong,{children:`F12`}),`), ir para `,_jsx(_components.strong,{children:`Application > Service Workers`}),` e confirmar que `,_jsx(_components.code,{children:`OneSignalSDKWorker.js`}),` está registrado com um scope de `,_jsx(_components.code,{children:`/apps/vendo/`}),`.`]})]}),_jsx(Step,{title:`Testar o prompt push`,children:_jsxs(_components.p,{children:[`Abra sua loja em uma janela de navegação anônima/privada. Você deve ver o prompt de permissão de notificação do OneSignal. Clique em `,_jsx(_components.strong,{children:`Permitir`}),` para se inscrever.`]})}),_jsx(Step,{title:`Enviar uma notificação de teste`,children:_jsxs(_components.p,{children:[`No dashboard do OneSignal, vá para `,_jsx(_components.strong,{children:`Messages > New Push`}),`. Envie uma notificação de teste para seu assinante e verifique se ela aparece.`]})}),_jsx(Step,{title:`Verificar dados do usuário no OneSignal`,children:_jsxs(_components.p,{children:[`Vá para `,_jsx(_components.strong,{children:`Audience > All Users`}),` e confirme que seu usuário de teste aparece. Verifique se as tags de usuário (e-mail, nome, etc.) estão sincronizando para usuários identificados.`]})}),_jsx(Step,{title:`Acionar um evento de teste`,children:_jsx(_components.p,{children:`Navegue por um produto ou conclua um checkout de teste na sua loja. Confirme que o evento aparece na atividade do usuário no dashboard do OneSignal.`})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`solução-de-problemas`,children:`Solução de problemas`}),`\n`,_jsx(Heading,{level:`3`,id:`o-service-worker-retorna-404`,children:`O service worker retorna 404`}),`\n`,_jsxs(_components.p,{children:[`O service worker deve estar em `,_jsx(_components.code,{children:`/apps/vendo/OneSignalSDKWorker.js`}),`. Se você vir um erro 404 no caminho raiz (`,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),`), o caminho do service worker não está configurado no OneSignal — siga a `,_jsx(_components.a,{href:`#configure-the-service-worker-path`,children:`etapa de configuração do service worker`}),`. Se o 404 estiver no caminho `,_jsx(_components.code,{children:`/apps/vendo/`}),`, verifique se o aplicativo Vendo está instalado e o bloco de tema está ativado.`]}),`\n`,_jsx(Heading,{level:`3`,id:`”typical-site”-foi-selecionado-durante-a-configuração-do-onesignal`,children:`”Typical Site” foi selecionado durante a configuração do OneSignal`}),`\n`,_jsxs(_components.p,{children:[`A Vendo requer o tipo de integração `,_jsx(_components.strong,{children:`Custom Code`}),`. Typical Site não expõe as configurações de caminho do service worker, então o SDK tentará carregar `,_jsx(_components.code,{children:`/OneSignalSDKWorker.js`}),` da raiz da sua loja — o Shopify bloqueia isso e as inscrições push falharão silenciosamente.`]}),`\n`,_jsxs(_components.p,{children:[`Correção: no dashboard do OneSignal, mude o tipo de integração do app para Custom Code em `,_jsx(_components.strong,{children:`Settings > Platforms > Web`}),`, ou exclua o app e recrie-o usando Custom Code desde o início.`]}),`\n`,_jsx(Heading,{level:`3`,id:`o-prompt-push-não-aparece`,children:`O prompt push não aparece`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Verifique se o bloco de tema Vendo está ativado em `,_jsx(_components.strong,{children:`App embeds`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`No aplicativo Vendo em `,_jsx(_components.strong,{children:`OneSignal > Push Settings`}),`, confirme que pelo menos uma alternância de prompt (Subscription Bell, Push Slide Prompt ou Native Browser Prompt) está ativada — todas as quatro estão desativadas por padrão.`]}),`\n`,_jsx(_components.li,{children:`Verifique o atraso do gatilho — um Push Slide definido para várias visualizações de página não será disparado no primeiro carregamento da página.`}),`\n`,_jsx(_components.li,{children:`Confirme que seu navegador permite notificações (clique no ícone de cadeado na barra de endereços).`}),`\n`,_jsx(_components.li,{children:`Tente uma janela de navegação anônima/privada caso o prompt tenha sido descartado anteriormente.`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`as-tags-não-aparecem-no-onesignal`,children:`As tags não aparecem no OneSignal`}),`\n`,_jsx(_components.p,{children:`As tags só sincronizam para usuários identificados — visitantes anônimos não são rastreados. Certifique-se de que o usuário foi identificado via inscrição push, login, cadastro em newsletter ou checkout. As sincronizações iniciais de tags podem levar várias horas.`}),`\n`,_jsx(Heading,{level:`3`,id:`os-eventos-não-estão-sendo-disparados`,children:`Os eventos não estão sendo disparados`}),`\n`,_jsxs(_components.p,{children:[`Verifique se os eventos estão habilitados no aplicativo Vendo em `,_jsx(_components.strong,{children:`OneSignal > Events`}),`. Eventos do lado do cliente requerem que o Shopify Web Pixel esteja ativo e o usuário esteja identificado. Eventos do lado do servidor requerem que a REST API Key esteja configurada.`]}),`\n`,_jsx(Heading,{level:`3`,id:`as-notificações-mostram-“entregue”-mas-não-aparecem`,children:`As notificações mostram “Entregue” mas não aparecem`}),`\n`,_jsx(_components.p,{children:`A integração está funcionando — o problema está nas configurações de notificação do seu navegador ou sistema operacional. Verifique as configurações de notificação do seu sistema operacional para o seu navegador, certifique-se de que o modo Não Perturbe / Foco está desativado e verifique as permissões de notificação no nível do navegador.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`perguntas-frequentes`,children:`Perguntas frequentes`}),`\n`,_jsx(Heading,{level:`3`,id:`posso-alterar-o-identificador-de-cliente-após-a-configuração`,children:`Posso alterar o identificador de cliente após a configuração?`}),`\n`,_jsxs(_components.p,{children:[`Sim. Atualize a configuração no aplicativo Vendo em `,_jsx(_components.strong,{children:`Settings > Customer Identifier`}),`. Alterar o identificador pode criar perfis de usuário separados se os usuários existentes já foram identificados com o método anterior.`]}),`\n`,_jsx(Heading,{level:`3`,id:`a-integração-vendo-suporta-apps-móveis`,children:`A integração Vendo suporta apps móveis?`}),`\n`,_jsx(_components.p,{children:`A integração Vendo foca em lojas Shopify e push web. Se você também tem um app móvel, certifique-se de que o identificador selecionado na Vendo corresponde ao usado no seu app móvel para que os perfis de usuário permaneçam consistentes.`}),`\n`,_jsx(Heading,{level:`3`,id:`o-que-acontece-se-um-visitante-nunca-for-identificado`,children:`O que acontece se um visitante nunca for identificado?`}),`\n`,_jsx(_components.p,{children:`Eventos de visitantes não identificados não são enviados ao OneSignal. Assim que o visitante se identifica (inscrevendo-se no push, fazendo login, cadastrando-se em uma newsletter ou concluindo o checkout), a Vendo começa a enviar eventos. Essa abordagem somente para usuários identificados evita usuários duplicados e garante dados limpos.`}),`\n`,_jsx(Heading,{level:`3`,id:`por-que-a-vendo-usa-uma-abordagem-somente-para-usuários-identificados`,children:`Por que a Vendo usa uma abordagem somente para usuários identificados?`}),`\n`,_jsx(_components.p,{children:`Rastrear visitantes anônimos cria usuários duplicados do OneSignal que nunca podem ser mesclados adequadamente, levando a contagens infladas de usuários e dados fragmentados. A abordagem somente para usuários identificados garante que cada usuário do OneSignal seja real e acionável.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`páginas-relacionadas`,children:`Páginas relacionadas`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`Keys \u0026 IDs`,icon:`key`,href:`/docs/pt-BR/keys-and-ids`,children:_jsx(_components.p,{children:`Encontre seu App ID do OneSignal e chave REST API.`})}),_jsx(Card,{title:`Eventos personalizados`,icon:`bolt`,href:`/docs/pt-BR/custom-events`,children:_jsx(_components.p,{children:`Rastreie o comportamento do usuário e acione automações baseadas em eventos do Shopify.`})}),_jsx(Card,{title:`Configuração de push web`,icon:`globe`,href:`/docs/pt-BR/web-push-setup`,children:_jsx(_components.p,{children:`Configure notificações web push para sua loja Shopify.`})}),_jsx(Card,{title:`Prompts de permissão web`,icon:`bell`,href:`/docs/pt-BR/permission-requests`,children:_jsx(_components.p,{children:`Configure como e quando solicitar permissão de push web aos visitantes.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Integração do Shopify para push web","description":"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.","keywords":["Shopify","Vendo","integração","web push","eventos personalizados","tags de clientes","e-commerce","carrinho abandonado"],"href":"/docs/pt-BR/shopify"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Pré-requisitos","slug":"pré-requisitos","depth":2,"children":[]},{"title":"Configuração do OneSignal","slug":"configuração-do-onesignal","depth":2,"children":[]},{"title":"Configuração da Vendo","slug":"configuração-da-vendo","depth":2,"children":[]},{"title":"Rastreamento","slug":"rastreamento","depth":2,"children":[{"title":"Identificação de usuários","slug":"identificação-de-usuários","depth":3,"children":[]},{"title":"Fusão de identidades","slug":"fusão-de-identidades","depth":4,"children":[]},{"title":"Tags de clientes","slug":"tags-de-clientes","depth":3,"children":[]},{"title":"Identidade e perfil","slug":"identidade-e-perfil","depth":4,"children":[]},{"title":"Consentimento de marketing","slug":"consentimento-de-marketing","depth":4,"children":[]},{"title":"Estatísticas de comércio","slug":"estatísticas-de-comércio","depth":4,"children":[]},{"title":"Tags de atribuição","slug":"tags-de-atribuição","depth":4,"children":[]},{"title":"Associação a segmentos","slug":"associação-a-segmentos","depth":4,"children":[]},{"title":"Eventos do lado do cliente","slug":"eventos-do-lado-do-cliente","depth":3,"children":[]},{"title":"Eventos do lado do servidor","slug":"eventos-do-lado-do-servidor","depth":3,"children":[]}]},{"title":"Detalhes da plataforma","slug":"detalhes-da-plataforma","depth":2,"children":[]},{"title":"Casos de uso","slug":"casos-de-uso","depth":2,"children":[{"title":"Recuperação de carrinho abandonado","slug":"recuperação-de-carrinho-abandonado","depth":3,"children":[]},{"title":"Atualizações de status do pedido","slug":"atualizações-de-status-do-pedido","depth":3,"children":[]},{"title":"Engajamento de clientes VIP","slug":"engajamento-de-clientes-vip","depth":3,"children":[]},{"title":"Campanhas de reengajamento","slug":"campanhas-de-reengajamento","depth":3,"children":[]}]},{"title":"Fontes compatíveis","slug":"fontes-compatíveis","depth":2,"children":[]},{"title":"Testes","slug":"testes","depth":2,"children":[]},{"title":"Solução de problemas","slug":"solução-de-problemas","depth":2,"children":[{"title":"O service worker retorna 404","slug":"o-service-worker-retorna-404","depth":3,"children":[]},{"title":"”Typical Site” foi selecionado durante a configuração do OneSignal","slug":"”typical-site”-foi-selecionado-durante-a-configuração-do-onesignal","depth":3,"children":[]},{"title":"O prompt push não aparece","slug":"o-prompt-push-não-aparece","depth":3,"children":[]},{"title":"As tags não aparecem no OneSignal","slug":"as-tags-não-aparecem-no-onesignal","depth":3,"children":[]},{"title":"Os eventos não estão sendo disparados","slug":"os-eventos-não-estão-sendo-disparados","depth":3,"children":[]},{"title":"As notificações mostram “Entregue” mas não aparecem","slug":"as-notificações-mostram-“entregue”-mas-não-aparecem","depth":3,"children":[]}]},{"title":"Perguntas frequentes","slug":"perguntas-frequentes","depth":2,"children":[{"title":"Posso alterar o identificador de cliente após a configuração?","slug":"posso-alterar-o-identificador-de-cliente-após-a-configuração","depth":3,"children":[]},{"title":"A integração Vendo suporta apps móveis?","slug":"a-integração-vendo-suporta-apps-móveis","depth":3,"children":[]},{"title":"O que acontece se um visitante nunca for identificado?","slug":"o-que-acontece-se-um-visitante-nunca-for-identificado","depth":3,"children":[]},{"title":"Por que a Vendo usa uma abordagem somente para usuários identificados?","slug":"por-que-a-vendo-usa-uma-abordagem-somente-para-usuários-identificados","depth":3,"children":[]}]},{"title":"Páginas relacionadas","slug":"páginas-relacionadas","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/onesignal/e069c1b9f3157e14/hotjar-koala.js","/_mintlify/custom/onesignal/3e5d03885ab32f49/intercom.js","/_mintlify/custom/onesignal/dbb7af4794d1b586/munchkin-marketo.js"],"subdomain":"onesignal","siteName":"OneSignal","title":"Integração do Shopify para push web - OneSignal","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/docs/en/shopify","matchLevel":1},"cn":{"href":"/docs/cn/shopify","matchLevel":1},"ko":{"href":"/docs/ko/shopify","matchLevel":1},"ja":{"href":"/docs/ja/shopify","matchLevel":1},"tr":{"href":"/docs/tr/shopify","matchLevel":1},"pt-BR":{"href":"/docs/pt-BR/shopify","matchLevel":0},"es":{"href":"/docs/es/shopify","matchLevel":1},"fr":{"href":"/docs/fr/shopify","matchLevel":1}}},"lastModified":"2026-08-28T18:16:19.005Z","originalFileLocation":"docs/pt-BR/shopify.mdx","locale":"pt-BR"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\">\u003cmeta data-mint-head name=\"application-name\" content=\"OneSignal\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Integração do Shopify para push web - OneSignal\">\u003cmeta data-mint-head property=\"og:description\" content=\"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"OneSignal\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://documentation.onesignal.com/docs/pt-BR/shopify\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Web+push\u0026amp;title=Integra%C3%A7%C3%A3o+do+Shopify+para+push+web\u0026amp;description=Conecte+o+Shopify+ao+OneSignal+atrav%C3%A9s+da+integra%C3%A7%C3%A3o+Vendo+para+notifica%C3%A7%C3%B5es+web+push%2C+tags+de+clientes%2C+eventos+de+com%C3%A9rcio+e+segmenta%C3%A7%C3%A3o+comportamental.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=ba105d3cb531b4f18f7c15277ee9ffacf5564f1af833ac51fe3e17835ac0f5a7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Integração do Shopify para push web - OneSignal\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://onesignal.mintlify.app/_mintlify/api/og/v2?division=Web+push\u0026amp;title=Integra%C3%A7%C3%A3o+do+Shopify+para+push+web\u0026amp;description=Conecte+o+Shopify+ao+OneSignal+atrav%C3%A9s+da+integra%C3%A7%C3%A3o+Vendo+para+notifica%C3%A7%C3%B5es+web+push%2C+tags+de+clientes%2C+eventos+de+com%C3%A9rcio+e+segmenta%C3%A7%C3%A3o+comportamental.\u0026amp;theme=8d648f04f85028b307bd669b\u0026amp;signature=ba105d3cb531b4f18f7c15277ee9ffacf5564f1af833ac51fe3e17835ac0f5a7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/onesignal/eCiRydtW5fLfLRWp/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"OneSignal Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3A3DB3\">\u003clink data-mint-head rel=\"canonical\" href=\"https://documentation.onesignal.com/docs/pt-BR/shopify\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/pt-BR/shopify.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"pt-BR\" href=\"https://documentation.onesignal.com/docs/pt-BR/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"zh\" href=\"https://documentation.onesignal.com/docs/cn/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ko\" href=\"https://documentation.onesignal.com/docs/ko/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://documentation.onesignal.com/docs/ja/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"tr\" href=\"https://documentation.onesignal.com/docs/tr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://documentation.onesignal.com/docs/es/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"fr\" href=\"https://documentation.onesignal.com/docs/fr/shopify\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://documentation.onesignal.com/docs/en/shopify\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://documentation.onesignal.com/#organization\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/onesignal/yJcueeDCO7UpHnnY/logo/OneSignal-Logo.svg?fit=max\u0026auto=format\u0026n=yJcueeDCO7UpHnnY\u0026q=85\u0026s=1fcfb6fef6d820fd9d99c74850711107\"}},{\"@type\":\"WebSite\",\"@id\":\"https://documentation.onesignal.com#website\",\"name\":\"OneSignal\",\"url\":\"https://documentation.onesignal.com\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://documentation.onesignal.com/docs/pt-BR/shopify#webpage\",\"url\":\"https://documentation.onesignal.com/docs/pt-BR/shopify\",\"name\":\"Integração do Shopify para push web\",\"description\":\"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\",\"dateModified\":\"2026-08-28T18:16:19.005Z\",\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"},\"breadcrumb\":{\"@id\":\"https://documentation.onesignal.com/docs/pt-BR/shopify#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://documentation.onesignal.com/docs/pt-BR/shopify#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Canais de mensagem\",\"item\":\"https://documentation.onesignal.com/docs/pt-BR/channel-setup\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Push notificações\",\"item\":\"https://documentation.onesignal.com/docs/pt-BR/push\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Web push\",\"item\":\"https://documentation.onesignal.com/docs/pt-BR/web-push-setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Integração do Shopify para push web\",\"item\":\"https://documentation.onesignal.com/docs/pt-BR/shopify\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://documentation.onesignal.com/docs/pt-BR/shopify#article\",\"headline\":\"Integração do Shopify para push web\",\"name\":\"Integração do Shopify para push web\",\"description\":\"Conecte o Shopify ao OneSignal através da integração Vendo para notificações web push, tags de clientes, eventos de comércio e segmentação comportamental.\",\"url\":\"https://documentation.onesignal.com/docs/pt-BR/shopify\",\"mainEntityOfPage\":{\"@id\":\"https://documentation.onesignal.com/docs/pt-BR/shopify#webpage\"},\"dateModified\":\"2026-08-28T18:16:19.005Z\",\"keywords\":\"Shopify, Vendo, integração, web push, eventos personalizados, tags de clientes, e-commerce, carrinho abandonado\",\"publisher\":{\"@id\":\"https://documentation.onesignal.com/#organization\"},\"isPartOf\":{\"@id\":\"https://documentation.onesignal.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"OneSignal\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"OneSignal","nav":{"global":null,"languages":[{"language":"en","pages":[{"title":"en","href":"/docs/en/shopify"}]},{"language":"cn","pages":[{"title":"cn","href":"/docs/cn/shopify"}]},{"language":"ko","pages":[{"title":"ko","href":"/docs/ko/shopify"}]},{"language":"ja","pages":[{"title":"ja","href":"/docs/ja/shopify"}]},{"language":"tr","pages":[{"title":"tr","href":"/docs/tr/shopify"}]},{"language":"pt-BR","tabs":[{"tab":"Início","pages":[{"title":"Início","href":"/docs/pt-BR/home"}]},{"tab":"Guia do Usuário","groups":[{"group":"Primeiros passos \u0026 configurações","pages":[{"title":"Guia de início rápido","href":"/docs/pt-BR/quickstart-guide"},{"group":"Painel do OneSignal","pages":[{"title":"Aplicativos, Organizações e Contas","href":"/docs/pt-BR/apps-organizations"},{"title":"Membros da equipe","href":"/docs/pt-BR/manage-team-members"},{"title":"Keys \u0026 IDs","href":"/docs/pt-BR/keys-and-ids"},{"title":"Registros de Auditoria","href":"/docs/pt-BR/audit-logs"},{"title":"Uso e faturamento","href":"/docs/pt-BR/billing-faq"},{"title":"Aplicativos e organizações desativados","href":"/docs/pt-BR/disabled-apps"}]},{"title":"Migrando para o OneSignal","href":"/docs/pt-BR/migrating-to-onesignal"}]},{"group":"Canais de mensagem","pages":[{"title":"Configuração de canais","href":"/docs/pt-BR/channel-setup"},{"group":"Push notificações","pages":[{"title":"Visão geral do Push","href":"/docs/pt-BR/push"},{"group":"Push móvel","pages":[{"title":"Configuração de push mobile","href":"/docs/pt-BR/mobile-push-setup"},{"title":"Solicitar permissões push","href":"/docs/pt-BR/prompt-for-push-permissions"},{"title":"iOS: Notificações push provisórias","href":"/docs/pt-BR/ios-provisional-push-notifications"},{"title":"Categorias de notificação Android","href":"/docs/pt-BR/android-notification-categories"},{"title":"Notificações de dados e em segundo plano","href":"/docs/pt-BR/data-notifications"},{"title":"Notificações push VoIP","href":"/docs/pt-BR/voip-notifications"}]},{"group":"Web push","pages":[{"title":"Configuração de web push","href":"/docs/pt-BR/web-push-setup"},{"title":"Prompts de permissão web","href":"/docs/pt-BR/permission-requests"},{"title":"FAQ de web push","href":"/docs/pt-BR/web-push-setup-faq"},{"title":"Comportamento de navegador para web push","href":"/docs/pt-BR/browser-behavior-and-unsubscribes"},{"title":"Plugin OneSignal para WordPress e push web","href":"/docs/pt-BR/wordpress"},{"title":"Solução de problemas do WordPress","description":"Guia abrangente para solucionar problemas comuns de configuração com Notificações Web Push do OneSignal no WordPress, incluindo compatibilidade de navegador (Chrome, Firefox, Safari), integração de plugin e resolução de conflitos de CDN ou cache.","href":"/docs/pt-BR/troubleshooting-wordpress-web-push"},{"title":"Integração do Shopify para push web","href":"/docs/pt-BR/shopify"}]},{"group":"Funcionalidades de Push","pages":[{"title":"Ícones de notificação","description":"Defina ícones de push padrão e por mensagem no Android, iOS e Web, incluindo tamanhos e a regra de transparência que evita o quadrado branco.","href":"/docs/pt-BR/notification-icons"},{"title":"Imagens de notificação e rich media","href":"/docs/pt-BR/rich-media"},{"title":"Sons de notificação","href":"/docs/pt-BR/notification-sounds"},{"title":"Contagens de badge no ícone do aplicativo","href":"/docs/pt-BR/badges"},{"title":"Botões de ação para notificações push","href":"/docs/pt-BR/action-buttons"},{"title":"Limitação de frequência de push","href":"/docs/pt-BR/frequency-capping"},{"title":"Push throttling","href":"/docs/pt-BR/throttling"},{"title":"iOS: Modos de foco e níveis de interrupção","href":"/docs/pt-BR/ios-focus-modes-and-interruption-levels"},{"title":"iOS: Relevance score","href":"/docs/pt-BR/ios-relevance-score"}]},{"group":"Analytics \u0026 troubleshooting de Push","pages":[{"title":"Relatórios de mensagens push","href":"/docs/pt-BR/push-notification-message-reports"},{"title":"Entrega confirmada","href":"/docs/pt-BR/confirmed-delivery"},{"title":"CTR de Notificação","href":"/docs/pt-BR/notification-ctr"},{"title":"Mobile push: Notificações não exibidas ou atrasadas","href":"/docs/pt-BR/notifications-show-successful-but-are-not-being-shown"},{"title":"Push web: Notificações não exibidas","href":"/docs/pt-BR/notifications-not-shown-web-push"},{"title":"Imagens de Notificação Não Aparecem","href":"/docs/pt-BR/notification-images-not-showing"},{"title":"Notificações Duplicadas","href":"/docs/pt-BR/duplicated-notifications"},{"title":"FAQ de Token Expirado FCM","href":"/docs/pt-BR/fcm-expired-token-faq"}]}]},{"group":"Mensagens em aplicativo","pages":[{"title":"Visão geral de mensagens no aplicativo","href":"/docs/pt-BR/in-app-messages-setup"},{"title":"Gatilhos de mensagens no aplicativo","href":"/docs/pt-BR/iam-triggers"},{"title":"Ações de clique em mensagens no aplicativo","href":"/docs/pt-BR/iam-click-actions"},{"group":"Design de mensagens em aplicativo","pages":[{"title":"Criar mensagens in-app com drag-and-drop","href":"/docs/pt-BR/design-your-in-app-message"},{"title":"Criar mensagens in-app com HTML","href":"/docs/pt-BR/design-your-in-app-message-with-html"},{"title":"Templates e quickstarts de mensagens no aplicativo","href":"/docs/pt-BR/in-app-html-templates"},{"title":"Referência da API JavaScript de mensagens no aplicativo","href":"/docs/pt-BR/in-app-message-api"}]},{"title":"Relatórios de mensagens no aplicativo","href":"/docs/pt-BR/in-app-message-reports"},{"title":"Solução de problemas de mensagens no aplicativo","href":"/docs/pt-BR/in-app-message-troubleshooting"}]},{"group":"Email mensagens","pages":[{"title":"Visão geral de Email","href":"/docs/pt-BR/email-messaging"},{"group":"Configuração de email","pages":[{"title":"Configuração de email","href":"/docs/pt-BR/email-setup"},{"title":"Configuração de DNS de email","href":"/docs/pt-BR/email-dns-configuration"},{"title":"Remetentes","href":"/docs/pt-BR/senders"},{"title":"Emails transacionais","href":"/docs/pt-BR/setup-transactional-emails"},{"title":"Criar uma página de cancelamento de assinatura de email personalizada","href":"/docs/pt-BR/create-custom-unsubscribe-page"}]},{"group":"Entregabilidade de email","pages":[{"title":"Relatórios de mensagens de email","href":"/docs/pt-BR/email-message-reports"},{"title":"Entregabilidade de email","href":"/docs/pt-BR/email-deliverability"},{"title":"Melhores práticas de reputação de email","href":"/docs/pt-BR/email-reputation-best-practices"},{"title":"Validação de endereço de email","href":"/docs/pt-BR/email-address-validation"},{"title":"Guia de aquecimento de email","href":"/docs/pt-BR/email-warm-up"},{"title":"Google Postmaster Tools","href":"/docs/pt-BR/google-postmaster-tools"},{"title":"Supressões","href":"/docs/pt-BR/suppressions"},{"title":"Solução de problemas de email","href":"/docs/pt-BR/email-troubleshooting"}]},{"group":"Mensagens de email","pages":[{"title":"Criar emails com arrastar e soltar","href":"/docs/pt-BR/design-emails-with-drag-and-drop"},{"title":"Criar emails com HTML","href":"/docs/pt-BR/design-emails-with-html"},{"title":"Links de cancelamento de inscrição e cabeçalhos de email","href":"/docs/pt-BR/unsubscribe-links-email-subscriptions"},{"title":"Encaminhamento de modelo de email","href":"/docs/pt-BR/email-template-forwarding"}]}]},{"group":"SMS \u0026 RCS mensagens","pages":[{"title":"Visão geral de SMS, MMS e RCS","href":"/docs/pt-BR/sms-messaging"},{"title":"Rich Communication Services (RCS)","href":"/docs/pt-BR/rcs-messaging"},{"group":"Configuração de SMS","pages":[{"title":"Configuração de SMS","href":"/docs/pt-BR/sms-setup"},{"title":"Solicitações de recursos de remetente e requisitos por país","sidebarTitle":"Solicitações de recursos de remetente","href":"/docs/pt-BR/sms-registration-requirements"},{"title":"Opt-in e coleta de SMS","href":"/docs/pt-BR/sms-opt-in-and-collection"},{"title":"Gerenciamento de palavras-chave de consentimento SMS","href":"/docs/pt-BR/sms-consent-keyword-management"},{"title":"Palavras-chave SMS","href":"/docs/pt-BR/keywords"}]},{"group":"Mensagens de SMS","pages":[{"title":"Relatórios de mensagens SMS","href":"/docs/pt-BR/sms-message-reports"},{"title":"Senhas de uso único (OTP)","sidebarTitle":"Senhas de uso único","href":"/docs/pt-BR/sms-verify"}]}]},{"group":"Atividades ao Vivo","pages":[{"title":"Live Activities","href":"/docs/pt-BR/live-activities"},{"title":"Análise de Live Activities","href":"/docs/pt-BR/live-activities-analytics"}]},{"group":"Funcionalidades","pages":[{"title":"Testes A/B","href":"/docs/pt-BR/ab-testing"},{"title":"Mensagens em múltiplos idiomas","href":"/docs/pt-BR/multi-language-messaging"},{"group":"Personalização","pages":[{"title":"Personalização","href":"/docs/pt-BR/message-personalization"},{"title":"Usando sintaxe Liquid","href":"/docs/pt-BR/using-liquid-syntax"},{"title":"Data feeds","href":"/docs/pt-BR/data-feeds"},{"title":"Personalize com Custom Events","href":"/docs/pt-BR/personalization-custom-event"},{"title":"Personalizar com propriedades","href":"/docs/pt-BR/personalization-properties-and-tags"},{"title":"Personalize mensagens com custom_data da API","href":"/docs/pt-BR/personalization-api-custom-data"},{"title":"Conteúdo Dinâmico com CSV","href":"/docs/pt-BR/dynamic-content"}]},{"group":"URLs, Links e Deep Links","pages":[{"title":"URLs, links e deep links","href":"/docs/pt-BR/links"},{"title":"Deep Linking","href":"/docs/pt-BR/deep-linking"},{"title":"Links de cancelamento de inscrição e cabeçalhos de email","href":"/docs/pt-BR/unsubscribe-links-email-subscriptions"}]},{"title":"Mensagens de Retargeting","href":"/docs/pt-BR/retargeting"},{"title":"Templates","href":"/docs/pt-BR/templates"},{"title":"Etiquetas","href":"/docs/pt-BR/labels"}]}]},{"group":"Jornadas","pages":[{"title":"Visão geral de Journeys","href":"/docs/pt-BR/journeys-overview"},{"group":"Funcionalidades de Jornada","pages":[{"title":"Configurações do Journey","href":"/docs/pt-BR/journeys-settings"},{"title":"Mensagens de Journey","href":"/docs/pt-BR/journeys-messages"},{"title":"Ações de Journey","href":"/docs/pt-BR/journeys-actions"},{"title":"Webhooks de Journey","href":"/docs/pt-BR/journeys-webhook"},{"title":"Enviar Mensagens do WhatsApp via Webhooks de Journey","href":"/docs/pt-BR/sending-whatsapp-messages-via-journey-webhooks"},{"title":"Gerenciando Journeys","href":"/docs/pt-BR/managing-journeys"},{"title":"Análise de Journey","href":"/docs/pt-BR/journeys-analytics"}]},{"title":"Exemplos de Journey","href":"/docs/pt-BR/journeys-examples"}]},{"group":"Público \u0026 eventos personalizados","pages":[{"title":"Segmentos","href":"/docs/pt-BR/segmentation"},{"group":"Usuários \u0026 Assinaturas","pages":[{"title":"Users","href":"/docs/pt-BR/users"},{"title":"Assinaturas","href":"/docs/pt-BR/subscriptions"},{"title":"Aliases","href":"/docs/pt-BR/aliases"},{"title":"Usuários de teste","href":"/docs/pt-BR/test-users"},{"title":"Excluir usuários","href":"/docs/pt-BR/delete-users"}]},{"group":"Eventos personalizados","pages":[{"title":"Eventos personalizados","href":"/docs/pt-BR/custom-events"},{"title":"Armazenamento e retenção de eventos personalizados","href":"/docs/pt-BR/custom-event-storage"}]},{"group":"Tags","pages":[{"title":"Tags","href":"/docs/pt-BR/add-user-data-tags"},{"title":"Operadores de Tempo","href":"/docs/pt-BR/time-operators"}]},{"title":"Importar","href":"/docs/pt-BR/import"}]},{"group":"Análises \u0026 Integrações","pages":[{"group":"Análises","pages":[{"title":"Visão geral de análises","href":"/docs/pt-BR/analytics-overview"},{"title":"Metas","sidebarTitle":"Metas","href":"/docs/pt-BR/goals"},{"title":"Template analytics","href":"/docs/pt-BR/template-analytics"},{"title":"Exportando dados","href":"/docs/pt-BR/exporting-data"},{"title":"Custom Outcomes","href":"/docs/pt-BR/custom-outcomes"},{"title":"Métricas de conversão","href":"/docs/pt-BR/conversion-metrics"},{"title":"Tendências de engajamento","href":"/docs/pt-BR/engagement-analytics"},{"title":"Tendências de assinaturas","href":"/docs/pt-BR/subscription-trends"},{"group":"Métricas de retenção","pages":[{"title":"Métricas de retenção","href":"/docs/pt-BR/retention-metrics"},{"title":"Interpretando curvas de retenção","href":"/docs/pt-BR/interpreting-retention-curves"}]},{"title":"Glossário de Métricas","href":"/docs/pt-BR/analytics-metrics-glossary"}]},{"group":"Eventos de Fluxo","pages":[{"title":"Event Streams","href":"/docs/pt-BR/event-streams"},{"title":"Referência de dados do Event Stream","sidebarTitle":"Dados do Event Stream","href":"/docs/pt-BR/event-streams-data"},{"title":"Event streams de mensagens no aplicativo","href":"/docs/pt-BR/iam-event-streams"},{"title":"Integração do Google Sheets com Event Streams","href":"/docs/pt-BR/google-sheets-integration-with-event-streams"}]},{"group":"Integrações","pages":[{"title":"Visão geral de integrações","href":"/docs/pt-BR/integrations"},{"title":"Integração de data warehouse, DMP e CRM","href":"/docs/pt-BR/database-dmp-crm-integration"},{"group":"OneSignal como fonte de dados","pages":[{"title":"Amplitude","href":"/docs/pt-BR/amplitude"},{"title":"Databricks","href":"/docs/pt-BR/databricks"},{"title":"Google BigQuery","href":"/docs/pt-BR/bigquery"},{"title":"Mixpanel","href":"/docs/pt-BR/mixpanel"},{"title":"Snowflake","href":"/docs/pt-BR/snowflake"},{"title":"Segment (Twilio)","href":"/docs/pt-BR/segment-onesignal-integration"}]},{"group":"OneSignal como destino","pages":[{"title":"Adobe Audience Manager","href":"/docs/pt-BR/adobe-audience-manager"},{"title":"AlloyDB","href":"/docs/pt-BR/alloydb"},{"title":"Amazon Athena","href":"/docs/pt-BR/amazon-athena"},{"title":"Amazon S3","href":"/docs/pt-BR/s3"},{"title":"Amplitude","href":"/docs/pt-BR/amplitude"},{"title":"Apache Kafka","href":"/docs/pt-BR/kafka"},{"title":"Amazon Redshift","href":"/docs/pt-BR/amazon-redshift"},{"title":"Azure Synapse","href":"/docs/pt-BR/azure-synapse"},{"title":"ClickHouse","href":"/docs/pt-BR/clickhouse"},{"title":"Confluent Cloud","href":"/docs/pt-BR/confluent-cloud"},{"title":"Databricks","href":"/docs/pt-BR/databricks"},{"title":"Elasticsearch","href":"/docs/pt-BR/elasticsearch"},{"title":"Google BigQuery","href":"/docs/pt-BR/bigquery"},{"title":"Google Cloud SQL","href":"/docs/pt-BR/google-cloud-sql"},{"title":"Google Sheets","href":"/docs/pt-BR/google-sheets"},{"title":"Greenplum","href":"/docs/pt-BR/greenplum"},{"title":"HubSpot","href":"/docs/pt-BR/hubspot"},{"title":"Materialize","href":"/docs/pt-BR/materialize"},{"title":"Microsoft Fabric","href":"/docs/pt-BR/microsoft-fabric"},{"title":"Mixpanel","href":"/docs/pt-BR/mixpanel"},{"title":"MotherDuck","href":"/docs/pt-BR/motherduck"},{"title":"MySQL","href":"/docs/pt-BR/mysql"},{"title":"PostgreSQL","href":"/docs/pt-BR/postgresql"},{"title":"Pub/Sub","href":"/docs/pt-BR/google-pubsub"},{"title":"SingleStore","href":"/docs/pt-BR/singlestore"},{"title":"Snowflake","href":"/docs/pt-BR/snowflake"},{"title":"SQL Server","href":"/docs/pt-BR/sql-server"},{"title":"Starburst Enterprise","href":"/docs/pt-BR/starburst-enterprise"},{"title":"Starburst Galaxy","href":"/docs/pt-BR/starburst-galaxy"},{"title":"Trino","href":"/docs/pt-BR/trino"},{"title":"Segment (Twilio)","href":"/docs/pt-BR/segment-onesignal-integration"}]},{"group":"Atribuição","pages":[{"title":"RevenueCat","href":"/docs/pt-BR/revenuecat"},{"title":"Adjust","href":"/docs/pt-BR/adjust"},{"title":"BlueConic","href":"/docs/pt-BR/blueconic"}]},{"title":"Integração com o OneSignal: Guia para parceiros","href":"/docs/pt-BR/building-an-integration-with-onesignal-partner-guide"}]}]},{"group":"Privacidade \u0026 Segurança","pages":[{"group":"Credenciais de segurança","pages":[{"title":"SOC 2 Type II","href":"/docs/pt-BR/soc-2-type-ii"},{"title":"ISO 27001","href":"/docs/pt-BR/iso27001"},{"title":"HIPAA","href":"/docs/pt-BR/hipaa"}]},{"group":"Privacidade de dados \u0026 conformidade regulatória","pages":[{"title":"GDPR e Direitos Individuais","href":"/docs/pt-BR/gdpr-compliance"},{"title":"Estrutura de Privacidade de Dados UE-EUA","href":"/docs/pt-BR/eu-us-data-privacy-framework"},{"title":"Conformidade regulatória de email","href":"/docs/pt-BR/email-compliance"},{"title":"Conformidade regulatória de SMS","href":"/docs/pt-BR/sms-regulatory-compliance"},{"title":"Requisitos de privacidade do aplicativo Apple","href":"/docs/pt-BR/apple-app-privacy-requirements"},{"title":"Requisitos de Segurança de Dados do Google Play","href":"/docs/pt-BR/google-play-data-safety-requirements"},{"title":"FAQs de coleta de dados e segurança","href":"/docs/pt-BR/data-questions"},{"title":"Dados coletados pelo SDK do OneSignal","href":"/docs/pt-BR/data-collected-by-the-onesignal-sdk"},{"title":"Tratamento de Dados Pessoais","href":"/docs/pt-BR/handling-personal-data"}]},{"group":"Autenticação","pages":[{"title":"Autenticação em 2 etapas","href":"/docs/pt-BR/2-step-authentication"},{"title":"Single Sign-On (SSO)","href":"/docs/pt-BR/sso"}]}]}]},{"tab":"Guia de desenvolvedor","pages":[{"title":"Guia de desenvolvedor","href":"/docs/pt-BR/developers"}]},{"tab":"Tutoriais","pages":[{"title":"Tutoriais","href":"/docs/pt-BR/tutorials"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/reference/rest-api-overview"}]},{"tab":"Release Notes","pages":[{"title":"Release Notes","href":"/release-notes/changelog"}]}],"global":{"anchors":[{"anchor":"Blog","icon":"newspaper","href":"https://onesignal.com/blog"},{"anchor":"GitHub","icon":"github","href":"https://github.com/OneSignal"},{"anchor":"YouTube","icon":"youtube","href":"https://www.youtube.com/@onesignalofficial/playlists"}]}},{"language":"es","pages":[{"title":"es","href":"/docs/es/shopify"}]},{"language":"fr","pages":[{"title":"fr","href":"/docs/fr/shopify"}]}]},"basePath":"","title":"Integração do Shopify para push web - OneSignal","buildId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","deploymentId":"dpl_36EDyZCDfRuoUD9af5CH4M1bqY2h","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DW6UFrUy.js","DynamicMarkdown-B62XqCSI.js","zoom-image-lightbox-eHyQ0tlO.js","lightbox-handle-r17bVUz3.js"]}