# Scripts

***

### 🎫- Como funciona?

Com a configuração de Scripts personalizados é possível rastrear as conversões e trabalhar com Remarketing nas principais plataformas de anúncios como Facebook Ads e Google Ads, além disso Scripts permitem que desenvolvedores ampliem as funcionalidades já disponíveis na plataforma de delivery.

{% hint style="warning" %}
**Atenção**! Para configurar Scripts é necessário treinamento técnico especializado, você pode obter auxílio com uma agência de Marketing ou com gestores de tráfego.&#x20;

**A CCM Pedido Online não efetua esse tipo de configuração dentro dos sistemas Facebook Ads e Google Ads.**
{% endhint %}

{% hint style="success" %}
**Quer algo mais simples, e sem configurações adicionais?**

Está precisando medir a efetividade de uma campanha que você fez com um Digital influencer da sua região? então use a ferramenta **Cadastro de Influencers**, disponível no **CCM Retaguarda** -> **Menu Principal** -> **Divulgação e Marketing** -> **Influencers**, com ela você poderá quantificar o número de cliques e de vendas concluídas através de Links personalizados.
{% endhint %}

### 🔗- Eventos disponíveis

A plataforma CCM pode disparar eventos nas seguintes etapas de um pedido:

* Página inicial
* Visualização do cardápio
* Visualização do carrinho de compras ou Inserção de um novo item (Add to Cart)
* Forma de pagamento (Tela de Checkout)
* Pedido finalizado (Purchase/Conversão concluída) Evento disparado somente quando o pedido é aceito pelo estabelecimento.
* Aba Meus pedidos
* Tela de cadastro
* Novo endereço cadastrado
* Tela de Login

### 🔗- Variáveis

É possível usar as seguintes variáveis em alguns eventos.

* **\[totPedido]** Valor total do pedido no momento ou final se estiver na finalização. "." como separador decimal. 0.00 se não aplicável no evento.
* **\[sFilial]** Texto com a descrição da filial, ou "" se não aplicável no evento.
* **\[codPedido]** Código do pedido na plataforma CCM, ou 0 se não aplicável no evento.

Todas possuem o Colchetes \[].

### 📦- Instalação dos Scripts

Para fazer a instalação de novos scripts seu usuário precisa ter privilégios de **Gestor de Rede** para o app em modo franquia, ou **Gestor de Loja** para o app em loja única.

{% hint style="danger" %}
**Tome muito cuidado!** O mau uso desta funcionalidade poderá bloquear o carregamento das telas do app, não recomendamos que efetue este procedimento em horários de pico.  Nunca copie códigos de terceiros (não confiáveis) estes podem redirecionar seus clientes para sites maliciosos.&#x20;

**A CCM Pedido Online não se responsabiliza pelo mau uso desta funcionalidade.**
{% endhint %}

{% hint style="warning" %}
**Atenção!** Os eventos serão disparados em todas as filiais disponíveis no app, para filtrar a mensuração utilize a variável **\[sFilial]** se aplicável ao seu caso.
{% endhint %}

{% hint style="warning" %}
Não é possível configurar os códigos \<noscript> na plataforma CCM, mas não se preocupe! Estes códigos não são úteis para medir os usuários reais, e sim robôs.
{% endhint %}

Para acessar clique sobre o opção **Scripts** nas configurações do CCM Retaguarda:

<figure><img src="/files/EcIIlPvVszdrDFEjWMYr" alt=""><figcaption></figcaption></figure>

Depois clique em **Novo**:

<figure><img src="/files/MRKqbGPkU0u00uckIN2g" alt=""><figcaption></figcaption></figure>

Será exibida a tela de Cadastro de Scripts:

![Tela de cadastro de um novo Script](/files/nrUvlTGfw5QSZ40PlH6u)

### 🌐- Exemplos de uso

{% hint style="success" %}
Os exemplos a seguir são válidos, e você pode utiliza-los, basta substituir os campos que contém o valor XYZ.
{% endhint %}

{% hint style="info" %}
Os códigos serão inseridos no lugar mais alto possível de cada página, e nunca estarão dentro de um bloco \<div>.
{% endhint %}

Google Tag Manager

```
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XYZ');</script>
<!-- End Google Tag Manager -->
```

Facebook Pixel - Instalação padrão

```
<!-- Facebook Pixel Code -->
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
  fbq('init', 'XYZ');
  fbq('track', 'PageView');
</script>
<!-- End Facebook Pixel Code -->
```

Facebook Pixel - Pedido finalizado com valor total

```
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
	fbq('init', 'XYZ');
	fbq('track', 'Purchase',{
	currency: 'BRL',
	value: [totPedido],
	});
</script>
```

Facebook Pixel AddToCart

```
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
	fbq('init', 'XYZ');
	fbq('track', 'AddToCart');
</script>

```

Facebook Pixel InitiateCheckout (Iniciou o processo de pagamento)

```
<script>
  !function(f,b,e,v,n,t,s)
  {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};
  if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
  n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;s=b.getElementsByTagName(e)[0];
  s.parentNode.insertBefore(t,s)}(window, document,'script',
  'https://connect.facebook.net/en_US/fbevents.js');
	fbq('init', 'XYZ');
	fbq('track', 'InitiateCheckout');
</script>
```

Facebook Pixel com evento de conversão personalizada usando variáveis

{% hint style="warning" %}
Neste exemplo o Pixel já está pré-instalado via Google Tag Manager.
{% endhint %}

```
<script>
window.onload = function(e){ 
fbq('trackCustom', 'PurchaseCustom', {value: [totPedido], currency: 'BRL', filial: '[sFilial]'});
}
</script>
```

#### Links úteis

* [Documentação da Meta Facebook sobre a instalação do Pixel](https://developers.facebook.com/docs/meta-pixel/get-started)
* [Instalação do Google Tag Manager](https://support.google.com/tagmanager/answer/6103696?hl=pt-BR)

### 🌐- Verificação de domínio no Facebook

Após o lançamento do iOS 14 o Facebook exigiu a verificação do domínio próprio para o funcionamento da mensuração de eventos agregados. Pular esta configuração pode limitar a rastreabilidade das campanhas em dispositivos iOS. Para entender melhor tudo isso, [acesse este informativo](https://www.facebook.com/business/news/ios-14-apple-privacy-update-impacts-small-business-ads) da Meta Facebook sobre o caso. A nova política da Apple tornou o processo de configuração mais complexo e moroso, mas não impediu completamente a mensuração dos eventos.

Se você já possuí um domínio próprio e precisa fazer esta configuração, entre em contato com a equipe de atendimento da CCM Pedido Online para agendar o procedimento, você irá precisar de uma conta gratuita do serviço **CloudFlare** para redirecionar o trafego até os servidores da CCM. O método de verificação utilizado será através de um **arquivo HTML de verificação**.

Se seu domínio já está sendo usado para hospedar um site institucional ou e-mail corporativo então será necessário conversar com seu desenvolvedor sobre essas mudanças, para que a plataforma de pedidos fique direcionada para um subdomínio especifico, por exemplo: app.minhapizzaria.com.br.

{% hint style="warning" %}
Em casos selecionados recomendamos que um **novo domínio** seja utilizado somente para a plataforma de delivery, por exemplo: minhapizzariaapp.com.br. Usando um novo domínio evita-se qualquer incompatibilidade com sites antigos e servidores de e-mail já configurados anteriormente.
{% endhint %}

### ❓- Dúvidas frequentes

<details>

<summary>Como sei se o Facebook Pixel está funcionando?</summary>

Use a extensão Facebook Pixel Helper do Chrome.

</details>

<details>

<summary>É possível receber os itens do pedido do evento Purchase?</summary>

Infelizmente não, neste momento a plataforma CCM não exporta os itens do pedido para uma variável personalizada.

</details>

<details>

<summary>Qual o ID do botão Finalizar Pedido?</summary>

Na URL **formapagto** existe o botão **btnFecharPedido** que poderá ser usado para criar um evento de conversão personalizado.

</details>

<details>

<summary>Qual o ID da Label valor do pedido?</summary>

Na URL **formapagto** existe a label **lblValorPedidoFormatado** que poderá ser usada para obter o valor total do pedido formatado em reais (R$).

</details>

<details>

<summary>A plataforma suporta server-side events do Facebook Pixel?</summary>

No momento não.

</details>

***

## **Dúvidas?**

Ficou com alguma dúvida? Para agilizar o atendimento, o ideal é chamar no grupo de suporte do WhatsApp da sua loja. Assim, você será atendido com muito mais rapidez. \
\
Ou se preferir entre em contato agora mesmo pelo nosso numero abaixo:

* **Telefone:** (17) 3600-9682
* **E-mail:** <suporte@ccmpedidoonline.com.br>

<figure><img src="/files/VYOm25LR2IH6NS76PZgn" alt="" width="188"><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ajuda.ccmpedidoonline.com.br/guias-e-tutoriais/configuracoes/scripts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
