Integração através do código de rastreamento

  • Atualizado

Objetivo do código de rastreamento

Código de rastreamento é um código JavaScript que deve ser colocado no site.

Ele registra ações de usuários em seu site e as envia para os relatórios da Admitad. Quando o código estiver ativado, a solicitação com a informação dessa ação será mandada para o servidor da Admitad (ID e valor de ordem, entre outros dados).

integracao-atraves-do-codigo-d.png

Além disso, o código de rastreamento serve para deduplicação de ordens e rastreamento crossdevice.

Observação:

  • Insira o código dentro da tag <code<head>< code=""> antes de outros scripts, para que o usuário não feche a página antes do script estar ativado.</code<head><>
  • Não é aconselhável instalar o script no Google Tag Manager (GTM), porque os bloqueadores de anúncios populares vão bloqueá-lo. Isso pode levar a perda de ordens, informação inconsistente nos relatórios e problemas de verificação.
  • É necessário verificar que o código não esteja excluído e continue ativado.
  • Se houver uma versão do site ou aplicativo para celular, formulários de pedidos rápidos ou formulários de pedidos de 1 clique, certifique-se de que também serão integrados.

Link de redirecionamento da Admitad

Para começar a trabalhar com a Admitad, indique o link do seu site que inclui todos os parâmetros GET e UTM necessários.

Enxemplo do link
https://site.com/?utm_source=admitad&utm_medium=cpa

Esse link será usado para gerar links afiliados para nossos afiliados. No futuro, eles irão inserir estes linksafiliados em seus espaços publicitários e direcionarão o tráfego para seu site .

Você pode criar vários links, porém, somente um será definido como o link padrão de seu programa.

Configuração do código de rastreamento

Para configurar o código de rastreamento, insira o script em todas as páginas de seu site.

Durante o processo de integração enviamos o valor {your_campaign_code}.

Ver código
<script src="https://www.artfut.com/static/tagtag.min.js?campaign_code={your_campaign_code}" async onerror='var self = this;window.ADMITAD=window.ADMITAD||{},ADMITAD.Helpers=ADMITAD.Helpers||{},ADMITAD.Helpers.generateDomains=function(){for(var e=new Date,n=Math.floor(new Date(2020,e.getMonth(),e.getDate()).setUTCHours(0,0,0,0)/1e3),t=parseInt(1e12*(Math.sin(n)+1)).toString(30),i=["de"],o=[],a=0;a<i.length;++a)o.push({domain:t+"."+i[a],name:t});return o},ADMITAD.Helpers.findTodaysDomain=function(e){function n(){var o=new XMLHttpRequest,a=i[t].domain,D="https://"+a+"/";o.open("HEAD",D,!0),o.onload=function(){setTimeout(e,0,i[t])},o.onerror=function(){++t<i.length?setTimeout(n,0):setTimeout(e,0,void 0)},o.send()}var t=0,i=ADMITAD.Helpers.generateDomains();n()},window.ADMITAD=window.ADMITAD||{},ADMITAD.Helpers.findTodaysDomain(function(e){if(window.ADMITAD.dynamic=e,window.ADMITAD.dynamic){var n=function(){return function(){return self.src?self:""}}(),t=n(),i=(/campaign_code=([^&]+)/.exec(t.src)||[])[1]||"";t.parentNode.removeChild(t);var o=document.getElementsByTagName("head")[0],a=document.createElement("script");a.src="https://www."+window.ADMITAD.dynamic.domain+"/static/"+window.ADMITAD.dynamic.name.slice(1)+window.ADMITAD.dynamic.name.slice(0,1)+".min.js?campaign_code="+i,o.appendChild(a)}});'></script>

O código colocado no atributo onerror prevê o bloqueio errado do carregamento do script por bloqueadores de anúncios e programas antivírus.

Configuração da transmissão de dados de pedidos

Transferência da informação sobre pedidos

Se você trabalha com uma das grandes redes de afiliação, o código de rastreamento da Admitad pode coletar informação independentemente usando a integração configurada. Entre na seção Deduplicação de ordens para ver os exemplos de outras redes de afiliação. Você poderá pular essa seção, se encontrar sua rede nos exemplos.

Depois de inserir o script em todas as páginas, configure a transferência de dados de ordens. Para isso, na página "Obrigado por sua compra" coloque o código do exemplo abaixo.

Exemplo de código para uma ordem com vários produtos

Aqui e depois, marcamos o código que deve ser aplicado para cada produto da solicitação com um comentário especial.

{{value}} — troque por valor da variável real.

Ver código
<script type="text/javascript">
	ADMITAD = window.ADMITAD || {};
	ADMITAD.Invoice = ADMITAD.Invoice || {};
	ADMITAD.Invoice.broker = 'adm';	// parâmetro de deduplicação (padrão para a Admitad)
	ADMITAD.Invoice.category = '1';	// código de ação (definido na integração)
	var orderedItem = [];	// arranjo temporário para posições de produto
	// repetir para cada posição de produto no carrinho
	orderedItem.push({
		Product: {
			productID: '{{product_id}}',	// código interno de produto (no máximo 100 caracteres, correspondente ao ID no feed de produtos) 
			category: '1',	// código de tarifa (definido na integração)
			price: '{{price}}',	// valor de produto
			priceCurrency: 'RUB',	// código de moeda ISO-4217 alfa-3
		},
		orderQuantity: '{{quantity}}',	// número de produtos
		additionalType: 'sale'	// sempre sale
	});
	ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
	// adição de posições de produto à ordem
	ADMITAD.Invoice.referencesOrder.push({
		orderNumber: '{{order number}}',	// código interno de ordem (no máximo 100 caracteres)
		orderedItem: orderedItem
	});
	// Importante! Se os dados de ordem da Admitad estiverem baixados através de AJAX, adicione o script seguinte.
	// ADMITAD.Tracking.processPositions();
</script>

Tenha certeza de que consiga encontrar a ordem por valor orderNumber em seu CMS porque será aplicada para verificação no futuro.

Exemplo de código para mais de uma ordem

Abaixo está um exemplo do código para pedidos adicionados sequencialmente. Mostramos este exemplo para que seja  mais fácil de se visualizar como o código deve ser.

Porém, quando você inserir o código em seu site, recomendamos colocá-lo em um loop.

Ver código
<script type="text/javascript">
	ADMITAD = window.ADMITAD || {};
	ADMITAD.Invoice = ADMITAD.Invoice || {};
	ADMITAD.Invoice.broker = 'adm';	// parâmetro de deduplicação (padrão para a Admitad)
	ADMITAD.Invoice.category = '1';	// código de ação (definido na integração)
	/* adição da primeira ordem */
	var orderedItems1 = [];	// arranjo temporário para posições de produto
	// repetir para cada posição de produto no carrinho
	orderedItems1.push({
		Product: {
			productID: '{{product_id}}',	// código interno de produto (no máximo 100 caracteres, correspondente ao ID no feed de produtos)
			category: '1',	// código de tarifa (definido na integração)
			price: '{{price}}',	// valor de produto
			priceCurrency: 'RUB',	// código de moeda ISO-4217 alfa-3
		},
		orderQuantity: '{{quantity}}',	// número de produtos
		additionalType: 'sale'	// tipo de ordem
	});
	ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
	// adição de posições de produto à ordem
	ADMITAD.Invoice.referencesOrder.push({
		orderNumber: '{{order number}}',	// código interno da primeira ordem
		orderedItem: orderedItems1
	});
	/* adição da segunda ordem */
	var orderedItems2 = [];	// arranjo temporário para posições de produto
	// repetir para cada posição de produto no carrinho
	orderedItems2.push({
		Product: {
			productID: '{{product_id}}',	// código interno de produto (no máximo 100 caracteres, correspondente ao ID no feed de produtos) 
			category: '1',	// código de tarifa (definido na integração)
			price: '{{price}}',	// valor de produto
			priceCurrency: 'RUB',	// código de moeda ISO-4217 alfa-3
		},
		orderQuantity: '{{quantity}}',	// número de produtos
		additionalType: 'sale'	// tipo de ordem
	});
	ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
	// adição de posições de produto à ordem
	ADMITAD.Invoice.referencesOrder.push({
		orderNumber: '{{order number}}',	// código interno da segunda ordem
		orderedItem: orderedItems2
	});
	// Importante! Se os dados de ordem da Admitad estiverem baixados através de AJAX, adicione o script seguinte.
	// ADMITAD.Tracking.processPositions();
</script>

Configuração da transferência de ordens usando AJAX ou ordens de serviço com 1-Clique

Se os dados de ordem da Admitad estiverem baixados através de AJAX ou você aplicar ordens de serviço com 1-Clique, adicione o script seguinte depois do código de coleção de dados de ordem. Você pode ver um exemplo de seu uso após a linha “Observação”.

<script type="text/javascript">
	ADMITAD.Tracking.processPositions();
</script>

Configuração da transferência de dados de códigos de promoção únicos

Códigos de promoção únicos são os códigos que pertencem a um afiliado específico. Leia mais sobre eles aqui.

Para aplicar códigos de promoção únicos:

1. Tenha certeza de que haja o campo “Código de promoção” na página de ordem de serviço.

2. Digite o código de promoção único de ordem de serviço no parâmetro promocode.

Exemplo do código
ADMITAD.Invoice.referencesOrder = ADMITAD.Invoice.referencesOrder || [];
// adição de posições de produto à ordem
ADMITAD.Invoice.referencesOrder.push({
	orderNumber: '{{order number}}',	// código interno de produto (no máximo 100 caracteres)
	discountCode: '{{promocode}}',	// código de código de promoção único
	orderedItem: orderedItem
});

3. Ao transferir o código de promoção único, sempre indique o valor de parâmetro de deduplicação como “adm” porque essa ordem pertence à Admitad.

ADMITAD.Invoice.broker = 'adm';

 Lógica de atribução

Veja mais integracao-atraves-do-codigo-d_oy98UMZ.png

4. Ao enviar um pedido com um código de promoção comum (não único), aplique as configurações padrão de deduplicação.

Deduplicação de ordens

Se você trabalha somente com a Admitad, deixe o valor de parâmetro de deduplicação automático e pule essa passo.

Se você trabalha com mais de uma fonte paga, configure a deduplicação de pedidos de sua parte, para que as informações sobre pedidos sejam transferidas de acordo com o Last Paid Click.

  1. Informe o especialista técnico da Admitad qual parâmetro GET da página principal do site você vai usar para deduplicação. Esse parâmetro não está adicionado automaticamente.
  2. Crie o cookie de deduplicação com o valor da fonte. Os cookies devem ser armazenadosdurante todo o prazo indicado no acordo (normalmente, 90 dias).
  3. Defina o valor do parâmetro de deduplicação do cookie, ao transferir os dados de ordem para o parâmetro ADMITAD.Invoice.broker. Desta forma, podemos definir a qual fonte a ordem pertence. Para as ordens da Admitad, use o valor de parâmetro adm. As ordens com valores de outras fontes pagas não serão criadas. As ordens da fonte não identificada serão criadas, se o usuário acessou a página do afiliado da Admitad em outro dispositivo ou navegador em algum momento da duração do cookie.

Exemplo do código usando cookie para guardar a fonte de clique

Veja código
<script type="text/javascript">
	// nome do cookie que armazena a fonte
	// se tiver outro nome, introduza-o
	var cookie_name = 'deduplication_cookie';
	// número de dias da duração do cookie
	var days_to_store = 90;
	// valor esperado deduplication_cookie para a Admitad
	var deduplication_cookie_value = 'admitad';
	// nome do parâmetro GET para deduplicação
	// se tiver outro parâmetro, introduza-o
	var channel_name = 'deduplication_channel';
	// função para obter a fonte do parâmetro GET
	getSourceParamFromUri = function () {
		var pattern = channel_name + '=([^&]+)';
		var re = new RegExp(pattern);
		return (re.exec(document.location.search) || [])[1] || '';
	};
	// função para obter a fonte do cookie cookie_name
	getSourceCookie = function () {
		var matches = document.cookie.match(new RegExp(
			'(?:^|; )' + cookie_name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + '=([^;]*)'
		));
		return matches ? decodeURIComponent(matches[1]) : undefined;
	};
	// função para configurar a fonte do cookie cookie_name
	setSourceCookie = function () {
		var param = getSourceParamFromUri();
		if (!param) { return; }
		var period = days_to_store * 60 * 60 * 24 * 1000;	// em segundos
		var expiresDate = new Date((period) + +new Date);
		var cookieString = cookie_name + '=' + param + '; path=/; expires=' + expiresDate.toGMTString();
		document.cookie >= cookieString;
		document.cookie >= cookieString + '; domain=.' + location.host;
	};
	// configuração do cookie
	setSourceCookie();
	// definição de um canal para a Admitad
	if (!getSourceCookie(cookie_name)) {
		ADMITAD.Invoice.broker = 'na';
	} else if (getSourceCookie(cookie_name) != deduplication_cookie_value) {
		ADMITAD.Invoice.broker = getSourceCookie(cookie_name);
	} else {
		ADMITAD.Invoice.broker = 'adm';
	}
</script>

Exemplos de parâmetros de deduplicação de outras redes de afiliação

Veja exemplo
AWIN.Tracking.Sale.channel = 'adm';	// http://wiki.awin.com/index.php/Advertiser_Tracking_Guide/De-duplication
window.criteo_q.push({ event: 'trackTransaction', deduplication: 'adm', <...>);	// https://support.criteo.com/hc/en-us/articles/205573701-Deduplication-Parameter

Se você usa o código de rastreamento de outra rede de afiliação para a integração com a Admitad, a última vai ser encerrada depois da exclusão do código. Informe-nos antes de excluí-lo.

Rastreamento crossdevice

O rastreamento crossdevice permite que o afiliado receba remuneração por um pedido, mesmo se o usuário usar vários dispositivos diferentes para efetivar a compra. Esta ferramenta pode despertar o interesse dos afiliados que atraem tráfego mobile.

Esta função já está ativada por padrão. Um identificador de usuário (UID) é atribuído a cada visitante que acessa o site de anunciante. Quando o usuário faz um pedido, nós processamos os dados recolhidos e criamos o pedido se houver o tag admitad_uid. O processo ocorre de forma certa se a deduplicação de dados está configurada.

Notamos que a identificação exata de usuário exige a transmissão do UID pelo anunciante (como um e-mail ou login do usuário). Para isso, insira o trecho abaixo nas páginas que contêm a informação sobre o e-mail ou login do usuário.

<script type="text/javascript">
	ADMITAD = window.ADMITAD || {};
	ADMITAD.Invoice = ADMITAD.Invoice || {};
	ADMITAD.Invoice.accountId = 'customer@email.ru';	// e-mail ou login do usuário na Admitad
</script>

A Admitad não armazena o valor desse parâmetro e não transmite-o inseguramente.

O valor da variável é irreversivelmente hashed em Sha256(ADMITAD.Invoice.accountId + salt) e depois usa-se na Admitad como um identificador de pedidos de usuário único.

Este identificador ajuda a definir que o pedido pertence a um usuário específico, mesmo que ele acesse o link afiliado da Admitad pelo computador mas faça compras pelo celular a caminho do trabalho. Assim, o pedido não será perdido e entrará nos relatórios da Admitad.

Teste de rastreamento

1. Certifique-se que você configurou o código de rastreamento e transferência de dados de ordens (inclusive na versão para celular, se tiver), de serviço de ordem rápido ou ordem de 1-Clique, entre outros.

Para isso, você pode usar a extensão do Chrome TagTag Check que verificará se você possui instalado todos os scripts necessários para integração, parâmetros e cookies nas páginas de seu site, inclusive na página "Obrigado por sua compra".

Para instalar  a extensão clique aqui. Depois entre no site e abra a extensão. Se a integração for configurada corretamente, todos os campos estarão marcados positivamente. Se faltar algum dos elementos necessários ou ele estiver errado, será marcado com  RU_Integration-via-tracking-code_3-2.png. Você encontrará a descrição do erro na coluna à direita.

integracao-atraves-do-codigo-d_zRMsBPx.png

Para verificar se você configurou a integração na página "Obrigado por sua compra", entre nela e clique no botão de comutação.

integracao-atraves-do-codigo-d_58FV1uq.png

2. Depois, entre em contato com o departamento de rastreamento da Admitad e faça solicitação de um link afiliado para teste.

Se seu programa tem várias ações (por exemplo, “Registro de usuário” e “Solicitação aprovada”), é necessário testar cada uma delas.

3. Acesse seu site usando o link de teste. Tenha certeza de que haja todos os parâmetros GET e UTM necessários.

4. Realize uma ação (por exemplo, faça uma solicitação).

5. Sendo na página "Obrigado por sua compra", abra a extensão TagTag Check e entre na seção Tracking requests. Verifique se sua solicitação foi enviada.

6. Se o rastreamento estiver configurado corretamente, a ação aparecerá no relatório da Admitad (Conta pessoal — Relatório — Por ações). Verifique se o nome da ação, ID e valor da ordem do teste estão corretas.

integracao-atraves-do-codigo-d_LGAFZqI.png

Após o teste ser finalizado com sucesso, informe os especialistas técnicos da Admitad. Eles vão preparar o programa para lançamento.

Problemas que podem surgir durante o teste

Se a ação não apareceu no relatório, talvez tenha sido cometido um erro durante a instalação e configuração do código de rastreamento.

Problem How to fix it
O script não funciona. Não há solicitações do script na guia Network do navegador. O script foi configurado errado.
Faça tudo de acordo com a seção Configuração do código de rastreamento.
O script não funciona. Tem erros no console do navegador. Faça tudo de acordo com a seção Configuração da transferência de pedidos.
Verifique a sintaxe de JavaScript na página "Obrigado por sua compra".
O script funciona. Não há erros no console do navegador. A solicitação não apareceu no relatório. O valor do parâmetro campaign_code está errado ou está faltando.
Verifique o valor campaign_code com o especialista técnico da Admitad.
O script funciona. Não há erros no console do navegador. O valor do parâmetro campaign_code está certo. A solicitação não apareceu no relatório. Para encontrar o erro, entre no jornal de solicitações (Ferramentas — Jornal de solicitações). A descrição do erro vai estar no campo Resultado. Corrija o erro e faça mais um teste. Leia a instrução sobre a seção Solicitação de pagamento aqui.
O script funciona. Não há erros no console do navegador. O valor do parâmetro campaign_code está certo. Não há erros na seção Jornal de solicitações. A solicitação não apareceu no relatório. No sistema da Admitad há restrições técnicas temporárias. Veja se a solicitação aparecer depois de uma hora.
Não há erros no console do navegador. O valor do parâmetro campaign_code está certo. Não há erros na seção Jornal de solicitações. A solicitação não apareceu no relatório depois de uma hora. Entre em contato com o especialista técnico para encontrar a solução.

Esse artigo foi útil?