O script deve ser adicionado em todas as páginas do domínio/subdomínio do site que se deseja
monitorar e executar ações.
Copie e cole o script dentro do cabeçalho (head) de suas páginas:
<script src="https://www.netdeal.com.br/resources/netdeal.js?m=CODIGO_IDENTIFICACAO_NETDEAL" async></script>
Esse atributo recebe como valor um array de key e value.
É utilizado para adicionar informações pertinentes a pageview.
Exemplos: código do usuário logado, tipo de página, restrição da página…
Como utilizar:
var NetdealEvents = window.NetdealEvents || []; NetdealEvents.push([key, value]);Exemplo de utilização:# key = String # value = Qualquer valor dos tipos abaixo:
String = "alphanumeric";
Number = 1, 1.1, -1.1, "10.00";
Date = "2017-01-01"
Datetime = "2017-01-01T00:00:00.000Z"
Array = ["a", "b", "c"] de qualquer tipo anterior
Map = { "campo-a" : "a", "campo-b" : "b", "campo-c" : "c"] de qualquer tipo anterior
var NetdealEvents = window.NetdealEvents || []; NetdealEvents.push(["restriction_type", "free / normal / premium"]); NetdealEvents.push(["logged_id", 123]); NetdealEvents.push(["consumer_info", { "type": "CADASTRO / ASSINANTE" }]);
Atributo |
Descrição |
Valores |
---|---|---|
value_canonical |
URL única da página |
|
restriction_type |
Tipo de restrição da página para planos de assinaturas |
"free" "standard" "premium" ... |
page_type |
Tipo de conteúdo da página |
"home" "article" "website" "search" "product" ... |
page_title |
Título da página |
|
page_description |
Descrição da página |
|
page_overhead |
Caractéristica que define um contéudo |
"Novidade!" "STF" "Luto" "Lançamento" |
page_image |
Endereço da imagem principal da página |
|
page_author |
Nome do autor da página |
único autor: "Nome do autor", ou vários autores: "Nome A", "Nome B",... |
page_author_content_type |
Conteúdo da página de origem própria ou de referência de terceiros |
"OWN" "THIRD_SOURCE" "FREELANCER" |
page_published_time |
Data de publicação do conteúdo (padrão UTC) |
"2020-07-02T12:30:43Z" |
page_modified_time |
Data de modificação ou atualização do conteúdo (padrão UTC) |
"2020-07-02T12:30:43Z" |
page_tags |
Palavras chaves do conteúdo (keywords, tags,...) |
"A", "B",... |
page_sections |
Seção ou Categoria que representa o conteúdo |
"Futebol", "Automóveis", "Esportes", … |
page_location |
País(es), estado(s), cidade(s) ou região(es) destinadas para o conteúdo |
"Curitiba", "Araucária", "Campo Largo"... "Paraná" "Brasil" |
page_content_aspect |
Aspecto da leitura do conteúdo |
"Quicknews" "Breaknews" "Softnews" "Hardnews" "Evergreen" |
Atributo |
Descrição |
Valores |
---|---|---|
logged_id |
Código do usuário logado (se logado) |
1234 |
consumer_info |
Informações sobre o usuário logado (se logado) |
{ first_name : 'Nome', name : 'Nome completo', type : "CADASTRO / ASSINANTE", ... } |
consumer_location |
Localização selecionada pelo usuário no browser ou tradução de Geolocalização por coordenadas |
"Curitiba" "Paraná" "Brasil" "Exterior" |
O script deve ser adicionado em todas as páginas do domínio/subdomínio do site que se deseja
monitorar.
Copie e cole o script dentro do body de suas páginas.
<amp-analytics config="https://www.netdeal.com.br/resources/js/amp-analytics-config.json" data-include-credentials="include"> <script type="application/json"> { "vars": { "ndid": "Código fornecido pala Netdeal para identificação", "value_canonical" : "https://site.com.br", "og_type" : "article", "restriction_type" : "default", "page_tags" : ["tagA", "tagB"], "page_sections" : ["Section A", "Section B"], "page_authors" : ["Nome do autor"], "page_author_content_type" : "OWN", "page_published_time" : "2020-01-01T00:00:00Z", "page_modified_time" : "2020-01-01T00:00:00Z", "page_title" : "Título da página", "page_description" : "Descrição da página", "page_image" : "https://site.com.br/image.jpg", "page_content_aspect" : "Softnews", "page_location" : ["Maringá", "Paraná"] } } </script> </amp-analytics>
Se a página contém a função de rolagem infinita ou carregamento assíncrono e navegação sem recarregar o browser, pode-se utilizar da função de Virtual Pageview para registrar novas pageviews e executar ações.
Para executar uma nova pageview, execute o script abaixo:
NetdealJs.newPageview(newUrl, propertiesEvent, optionsRequest);Sendo os parâmentros:
newUrl = "Url atual da página"obrigatório
propertiesEvent = Objeto com informações da nova pageview page_type =Tipo da página, ex: article, website, search, etc... page_title =Título da página page_description =Descrição da página page_image =Endereço da imagem principal da página page_author =Nome do autor da página page_published_time =Data de publicação da página page_modified_time =Data de modificação da página page_tags =Tags da página page_sections =Seção ou categoria que representa o conteúdo da página, ex: Futebol, Automóveis, Esportes, etc... restriction_type =Tipo de restrição da página para seus planos de assinaturas, ex: free, stardart, premium, etc... logged_id =Código do usuário logado (se logado) consumer_info =Informações sobre o usuário logado (se logado) 'outros_atributos' =Qualquer atributo que seja necessário Obs: Por padrão o script da Netdeal irá ler essas informações nas Meta Tags do HEAD da página,
caso seja inserido o objeto acima, este irá substituir os valores capturado nas Meta Tags.
optionsRequest = Objeto com opções do request execute_actions = true/falseExemplo:Valor padrão true
NetdealJs.newPageview( "http://meusite.com.br/nova-pagina", { page_type: 'article', page_title: 'Nome do artigo', page_description: 'Descrição do artigo', //... page_sections: ['Categoria A', 'Categoria B'], restriction_type: 'stardart', logged_id : 123, consumer_info : { "type": "CADASTRO / ASSINANTE", //... }, qualquer_outro_atributo : 'Valor' }, { execute_actions : true, callback: function (actionInfo, templateHtml) { console.log("callback "+actionInfo); }, callbackNotFound: function (actionType) { console.log("callbackNotFound "+actionType); } } );
Com meta tags é possível acrescentar informações para segmentar seu público alvo em
determinadas páginas e características.
Exemplo de utilização de meta tag:
<meta property="netdeal:page_title" content="Título da sua página"/>
netdeal:page_type =Tipo da página, ex: article, website, search, etc... netdeal:page_title =Título da página netdeal:page_description =Descrição da página netdeal:page_image =Endereço da imagem principal da página netdeal:page_author =Nome do autor da página netdeal:page_published_time =Data de publicação da página netdeal:page_modified_time =Data de modificação da página netdeal:page_tags =Tags da página netdeal:page_sections =Seção ou categoria que representa o conteúdo da página, ex: Futebol, Automóveis, Esportes, etc... netdeal:restriction_type =Tipo de restrição da página para seus planos de assinaturas, ex: free, stardart, premium, etc...
Meta tag Netdeal | Meta tag correspondentes |
---|---|
netdeal:page_type | og:type |
netdeal:page_title | og:title ou twitter:title ou <title>Seu Título</title> |
netdeal:page_description | description ou og:description ou twitter:description |
netdeal:page_image | og:image ou twitter:image |
netdeal:page_author | article:author |
netdeal:page_published_time | article:published_time |
netdeal:page_modified_time | article:modified_time |
netdeal:page_tags | article:tag |
netdeal:page_sections | article:section |
<meta name="netdeal:nome_da_sua_tag" content="Conteúdo da sua tag">
O Netdeal foi projetado com arquitetura Restfull Stateless, sendo assim toda requisição
para consumir os serviços será necessário um Token de Acesso.
Com o resource abaixo e as chaves 'appId' e 'secretPass' que foram previamente fornecidas
pelas equipe Netdeal, será possível requisitar um Token de Acesso.
A vigência de um Token de Acesso é 30 minutos.
POST
{{endpoint}}/open/request-token
{ "appId" : "1231231231", "secretPass" : "skuj8173719s..." }
200 OK
401 Unauthorized
{ "token" : "slkfj247289374289.....", }
No HEADER de uma requisição, é necessário incluir o parâmentro X-AUTH-TOKEN com o Token de Acesso previamente adquirido
HEADER
{ "X-AUTH-TOKEN" : "slkfj247289374289....." }
A integração fora projetada para suportar qualquer tipo de estrutura de dados. Utilizando da composição Chave -> Valor, a estrutura para integrar uma informação é:
{ "key": "...",Os campos são dinâmicamente tipados. Os formatos suportados são:Nome que representa sua entidade ou informação, ex: CONSUMER/PRODUCT/VIEW... Obrigatório "properties": { "id": "...",ID caso seja uma entidade, ex: CONSUMER... Obrigatório se entidade "campo": "...",Unidade de informação "sub-key": {Assim como uma entidade, pode se usar sub objetos de composição "sub-campo": "...", "sub-key": { "sub-campo": "..." } } "createOn": "...",Data da informação, caso não informado será a data do processamento } }
Tipo | Exemplo |
---|---|
String | "alphanumeric" |
Number | 1, 1.1, -1.1, "10.00" |
Date | "2017-01-01" |
Datetime | "2017-01-01T00:00:00.000Z" |
Array | ["a", "b", "c"] de qualquer tipo anterior |
Map | { "campo-a" : "a", "campo-b" : "b", "campo-c" : "c"] de qualquer tipo anterior |
CONSUMER
Para a convergência de dados, fora adotado uma padronização para a Entidade
CONSUMER
(Consumidor), sendo
está a unica entidade que será necessária a conversão de nomenclaturas de campos. Ao
integrar
sua base de usuário/cliente/pessoa, siga os campos abaixo. Obs: Qualquer outra informação
sobre
seu consumidor que não esteja relacionado nos campos abaixo, fica a seu critério a
nomenclatura do campo.
Campo | Descrição | |
---|---|---|
id | Identificação única do consumidor | Obrigatório |
name | Nome do consumidor | |
Email do consumidor | ||
identifier | Informação de identificação, CPF, RG, ou qualquer outro tipo de registro | |
cellphone | Telefone do consumidor | |
birthday | Data de aniversário do consumidor | |
photo | Foto do consumidor |
Assim como em estrutura de dados relacionais, você pode relacionar uma entidade de dados a
outra seguindo o seguinte formato:
key + _id
-> consumer_id, product_id...
Exemplo:
{ "key": "consumer", "properties": { "id": "123", "name": "Consumidor" } "createOn": "..." } { "key": "product", "properties": { "id": "0110.001.1", "name": "Caixa" } "createOn": "..." } { "key": "bought", "properties": { "id": "84778388478", "consumer_id": "123", "product_id": "0110.001.1" } "createOn": "..." }
É possível enviar dados de uma mesma entidade parcialmente em qualquer tempo. Os algoritmos do Netdeal irá acomular as informação de forma linear, sendo possível assim utilizar essa informação como a última enviada ou em relação a um determinado período.
{ "key": "consumer", "properties": { "id": "123", "name": "Consumidor" } "createOn": "2017-01-01T00:00:00Z" } { "key": "consumer", "properties": { "id": "123", "email": "[email protected]" } "createOn": "2017-05-01T00:00:00Z" } { "key": "consumer", "properties": { "id": "123", "photo": "http://endereco.photo.com" } "createOn": "2017-09-01T00:00:00Z" }
LEAD
Para a convergência de dados, fora adotado uma padronização para a Entidade
LEAD
, sendo
está a unica entidade que será necessária a conversão de nomenclaturas de campos. Ao
integrar
sua base de lead, siga os campos abaixo. Obs: Qualquer outra informação
sobre
seu lead que não esteja relacionado nos campos abaixo, fica a seu critério a
nomenclatura do campo.
Campo | Descrição | |
---|---|---|
Email do lead | ||
consumer_id | Informação de identificação do id de consumer Netdeal | |
cluster | Associação de opções |
{ "key": "lead", "properties" : { "email":"[email protected]", "consumer_id" : "BROWSER:c8d7df7b-b7e7-4eb0-bcdf-88c82eacc542", "cluster" : [ "politica", "economia" ] } } { "key": "lead", "properties" : { "email":"[email protected]", "consumer_id" : "BROWSER:c8d7df7b-b7e7-4eb0-bcdf-88c82eacc542", "cluster" : [ "politica", "economia" ] }, "createOn" : "2017-01-01T00:00:00Z" }
POST
{{endpoint}}/api/event/batch
[ { "key": "consumer", "properties": { "id": "123456789", "name": "Nome do Cliente", "email": "[email protected]", ... } "createOn": "2017-01-01T00:00:00Z" }... ]
200 OK
204 No Content
401 Unauthorized
400 Bad Request
{ "erros" : [ { "message" : "Limite máximo de 1000 eventos" } ] }
Os dados são processados de forma assíncrona.