# Disparo Automatizado

Este recurso permite que várias ações de rastreamento sejam gerenciadas por meio de uma única configuração. Com base em condições predefinidas, como correspondência de caminhos do site, nomes de host ou fontes de referência, o SDK aciona automaticamente as funções apropriadas.

Com essa abordagem, o comportamento de rastreamento pode ser controlado e personalizado sem configurações repetidas, facilitando o gerenciamento e a escalabilidade do rastreamento em diferentes cenários.&#x20;

### Começar

Para iniciar o rastreamento automatizado com o web SDK da Offer18, é necessário adicionar uma tag de script no site.

<mark style="color:roxo;">Posicionamento : Cabeçalho (Todas as Páginas)</mark>

{% code fullWidth="false" %}

```html
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
```

{% endcode %}

***

### RastrearClique&#x20;

Para rastrear cliques usando o script automatizado do SDK, adicione o seguinte código ao seu site.

<mark style="color:roxo;">Posicionamento : Cabeçalho (Todas as Páginas)</mark>

{% code overflow="wrap" %}

```html
<script>
	window.Offer18SDK.init({
		automatedTrigger: true,
		opeations: [{
			triggerFunction: "trackClick",
			triggerconditios: [
				{
					mode: "<condition-mode>", // contain or equal
					type: "<condition-type>", // path / hostname / referral
					value: "<condition-value>"
				}
			],
			triggerConfig: {
				trackingURL: "https://example.com?c/o=xxx&m=000&a=000",
				keymapping: ['<OFFER18-PARAMETER>:<YOUR-PARAMETER>', '<OFFER18-PARAMETER>:<YOUR-PARAMETER>', ...]
			}
		}]
	})
</script>
```

{% endcode %}

***

### RastrearImpressão

Para rastrear impressões usando o script automatizado do SDK, adicione o seguinte código ao seu site.

<mark style="color:roxo;">Posicionamento : Cabeçalho (Todas as Páginas)</mark>

{% code overflow="wrap" %}

```html
<script>
	window.Offer18SDK.init({
		automatedTrigger: true,
		opeations: [{
			triggerFunction: "trackImpression",
			triggerconditios: [
				{
					mode: "<condition-mode>", // contain or equal
					type: "<condition-type>", // path / hostname / referral
					value: "<condition-value>"
				}
			],
			triggerConfig: {
				impressionURL: "https://example.com?i/o=xxx&m=000&a=000",
				keymapping: ['<OFFER18-PARAMETER>:<YOUR-PARAMETER>', '<OFFER18-PARAMETER>:<YOUR-PARAMETER>', ...]
			}
		}]
	})
</script>
```

{% endcode %}

***

### RastrearConversão

Os usuários devem adicionar o seguinte trecho de código em todas as páginas de destino, exceto na página de confirmação de pedido / página de sucesso do pedido (Obrigado).

<mark style="color:roxo;">Posicionamento : Cabeçalho (Todas as Páginas)</mark>

```html
<script>
	window.Offer18WebSDK.init({
		automatedTrigger: true,
		operations: [
			{
				triggerFunction: "initializeUrlParam",
				triggerConditions: [
					{
						mode: "<condition-mode>", // contain or equal
						type: "<condition-type>", // path / hostname / referral
						value: "<condition-value>"
					}
				],
				triggerConfig: {
					clickIdParameter: "<YOUR-CLICK-ID-PARAMETER>",
				}
			}
		]
	})
</script>
```

Depois disso, adicione o seguinte código na página de agradecimento/confirmacao-de-pedido do seu site.

<mark style="color:roxo;">Posicionamento : Página de agradecimento/Página de sucesso do pedido (Uma Página)</mark>

```html
<script>
	window.Offer18WebSDK.init({
		automatedTrigger: true,
		operations: [
			{
				triggerFunction: "trackConversion",
				triggerConditions: [
					{
						mode: "<condition-mode>", // contain or equal
						type: "<condition-type>", // path / hostname / referral
						value: "<condition-value>"
					}
				],
				triggerConfig: {
					domain: '',
					accountId: '',
					offerId: '',
					coupon: '',
					postbackType: '', // 'iframe' or 'pixel'
					isGlobalPixel: false, // true or false
					allowMultiConversion: false, // true or false
					conversionData: {
						event: '', // Event Name (Please specify the event)
						payout: '', // Payout Amount (Please specify the payout amount)
						sale: '', // Sale Amount (Please specify the sale amount)
						currency: '',
						adv_sub1: '',
						adv_sub2: '',
						adv_sub3: '',
						adv_sub4: '',
						adv_sub5: '',
					}
				}
			}
		]
	});
</script>
```

### Modo de Depuração <a href="#debug-mode" id="debug-mode"></a>

Para ativar o modo de depuração em um SDK, pode-se adicionar o seguinte código dentro do seu script:

```html
<script>
    window.Offer18WebSDK.activateDebugMode();
</script>
```

Habilitar o modo de depuração permite ao usuário obter informações mais detalhadas sobre o funcionamento do SDK, incluindo quaisquer erros ou mensagens de depuração.

### Código de Exemplo

```html
<script src="https://web-resources.offer18.net/sdk/web/WebSDK.js"></script>
<script>
    window.Offer18SDK.init({
        automatedTrigger: true,
        opeations: [{
            triggerFunction: "trackClick",
            triggerconditios: [
                { mode: "equal", type: "hostname", value: "websiteurl.com" }
            ],
            triggerConfig: {
                trackingURL: "https://example.o18.click/c?o=0000000&m=0000",
                keymapping: ['a:utm_source']
            }
        },
        {
            triggerFunction: "trackImpression",
            triggerconditios: [
                { mode: "equal", type: "hostname", value: "websiteurl.com" }
            ],
            triggerConfig: {
                impressionURL: "https://example.o18.click/i?o=0000000&m=0000",
                keymapping: ['a:utm_source']
            }
        },
        {
            triggerFunction: "initializeUrlParam",
            triggerconditios: [
                { mode: "equal", type: "hostname", value: "websiteurl.com" }
            ],
            triggerConfig: {
                clickIdParameter: "tid",
            }
        },
        {
            triggerFunction: "trackConversion",
            triggerConditions: [
                { mode: "equal", type: "hostname", value: "websiteurl.com" },
                { mode: "contain", type: "path", value: "thank-you" }
            ],
            triggerConfig: {
                domain: 'example.o18.link',
                accountId: '0000',
                offerId: '00000000',
            }
        }
        ]
    });
</script>
```
