Plug-in da Adobe: getPreviousValue

IMPORTANTE

Esse plug-in é fornecido pela Adobe Consulting como cortesia para ajudar você a tirar maior proveito do Adobe Analytics. O Atendimento ao cliente da Adobe não fornece suporte para este plug-in, o que inclui instalação ou solução de problemas. Se você precisar de ajuda com esse plug-in, entre em contato com o Gerente de conta de sua organização. Ele pode organizar uma reunião com um consultor para obter ajuda.

O plug-in getPreviousValue permite que você defina uma variável como um valor definido em uma ocorrência anterior. Esse plug-in não é necessário se sua implementação já contiver todos os valores desejados na ocorrência atual.

Instale o plug-in usando a extensão Adobe Experience Platform Launch

A Adobe oferece uma extensão que permite usar os plug-ins usados com mais frequência.

  1. Faça logon em launch.adobe.com usando as credenciais da Adobe ID.
  2. Clique na propriedade desejada.
  3. Vá para a guia Extensões e clique no botão Catálogo.
  4. Instale e publique a extensão Plug-ins comuns do Analytics.
  5. Caso ainda não o tenha feito, crie uma regra denominada "Inicializar plug-ins" com a seguinte configuração:
    • Condição: Nenhuma
    • Evento: principal – biblioteca carregada (início da página)
  6. Adicione à regra acima uma ação com a seguinte configuração:
    • Extensão: Plug-ins comuns do Analytics
    • Tipo de ação: inicializar getPreviousValue
  7. Salve e publique as alterações na regra.

Instale o plug-in usando o editor de código personalizado do Launch

Se você não quiser usar a extensão do plug-in, poderá usar o editor de código personalizado.

  1. Faça logon em launch.adobe.com usando as credenciais da Adobe ID.
  2. Clique na propriedade desejada.
  3. Vá até a guia Extensões e clique no botão Configurar na extensão do Adobe Analytics.
  4. Expanda a opção Configurar rastreamento usando código personalizado, que revela o botão Abrir editor.
  5. Abra o editor de código personalizado e cole na janela de edição o código do plug-in fornecido abaixo.
  6. Salve e publique as alterações na extensão do Analytics.

Instalar o plug-in usando o AppMeasurement

Copie e cole o seguinte código em qualquer lugar no arquivo AppMeasurement depois que o objeto de rastreamento do Analytics for instanciado (usando s_gi). A preservação de comentários e números de versão do código na sua implementação ajuda a Adobe a solucionar possíveis problemas.

/* Adobe Consulting Plugin: getPreviousValue v3.0 */
function getPreviousValue(v,c){var k=v,d=c;if("-v"===k)return{plugin:"getPreviousValue",version:"3.0"};var a=function(){if("undefined"!==typeof window.s_c_il)for(var c=0,b;c<window.s_c_il.length;c++)if(b=window.s_c_il[c],b._c&&"s_c"===b._c)return b}();"undefined"!==typeof a&&(a.contextData.getPreviousValue="3.0");window.cookieWrite=window.cookieWrite||function(c,b,f){if("string"===typeof c){var h=window.location.hostname,a=window.location.hostname.split(".").length-1;if(h&&!/^[0-9.]+$/.test(h)){a=2<a?a:2;var e=h.lastIndexOf(".");if(0<=e){for(;0<=e&&1<a;)e=h.lastIndexOf(".",e-1),a--;e=0<e?h.substring(e):h}}g=e;b="undefined"!==typeof b?""+b:"";if(f||""===b)if(""===b&&(f=-60),"number"===typeof f){var d=new Date;d.setTime(d.getTime()+6E4*f)}else d=f;return c&&(document.cookie=encodeURIComponent(c)+"="+encodeURIComponent(b)+"; path=/;"+(f?" expires="+d.toUTCString()+";":"")+(g?" domain="+g+";":""),"undefined"!==typeof cookieRead)?cookieRead(c)===b:!1}};window.cookieRead=window.cookieRead||function(c){if("string"===typeof c)c=encodeURIComponent(c);else return"";var b=" "+document.cookie,a=b.indexOf(" "+c+"="),d=0>a?a:b.indexOf(";",a);return(c=0>a?"":decodeURIComponent(b.substring(a+2+c.length,0>d?b.length:d)))?c:""};var l;d=d||"s_gpv";a=new Date;a.setTime(a.getTime()+18E5);window.cookieRead(d)&&(l=window.cookieRead(d));k?window.cookieWrite(d,k,a):window.cookieWrite(d,l,a);return l};
/******************************************** END CODE TO DEPLOY ********************************************/

Usar o plug-in

O método getPreviousValue aceita os seguintes argumentos:

  • v (string, obrigatório): a variável que tem o valor que você deseja transmitir para a próxima solicitação de imagem. Uma variável comumente usada para recuperar o valor da página anterior é s.pageName.
  • c (string, opcional): o nome do cookie que armazena o valor. Se esse argumento não estiver definido, ele assumirá "s_gpv" como padrão.

Quando você chama esse método, ele retorna o valor em string contido no cookie. Em seguida, o plug-in redefine a validade do cookie e atribui a ele o valor de variável no argumento v. O cookie expira após 30 minutos de inatividade.

Exemplos de chamadas

Exemplo #1

O código a seguir…

s.prop7=s.getPreviousValue(s.pageName,"gpv_Page")
  • Primeiro define s.prop7 como o valor transmitido para s.pageName na solicitação de imagem anterior (ou seja, o valor armazenado no cookie "gpv_Page")
  • O código redefinirá o cookie "gpv_Page", tornando-o igual ao valor atual de s.pageName
  • Se s.pageName não estiver definido no momento em que esse código for executado, o código redefinirá a expiração do valor atual do cookie

Exemplo #2

O código a seguir define s.prop7 como o último valor transmitido para s.pageName, mas somente se event1 também estiver contido em s.events, conforme determinado pelo plug-in inList no momento em que a chamada ocorre.

if(s.inList(s.events,"event1")) s.prop7=s.getPreviousValue(s.pageName,"gpv_Page");

Exemplo #3

O código a seguir define s.prop7 como o último valor transmitido para s.pageName, mas somente se s.pageName estiver definido na página ao mesmo tempo.

if(s.pageName) s.prop7=s.getPreviousValue(s.pageName,"gpv_Page");

Exemplo #4

O código a seguir define s.eVar10 como o valor transmitido para s.eVar1 na solicitação de imagem anterior. O valor anterior da eVar1 estaria contido no cookie "s_gpv". O código definirá o cookie "s_gpv" com o valor atual de s.eVar1.

s.eVar10 = s.getPreviousValue(s.eVar1)

Peculiaridades improváveis

Se a variável associada ao argumento v estiver definida com um novo valor e o plug-in getPreviousValue for executado, MAS uma chamada de servidor do Analytics NÃO for enviada ao mesmo tempo, o novo valor do argumento v ainda será considerado o "valor anterior" na próxima vez que o plug-in for executado.
Por exemplo, suponha que o código a seguir seja executado na primeira página da visita:

s.pageName="home"
s.prop7=s.getPreviousValue(s.pageName,"gpv_Page")
s.t();

Esse código produziria uma chamada de servidor onde o argumento pageName é igual a "inicial" e o argumento p7 (prop7) não está definido. No entanto, a chamada para s.getPreviousValue armazenaria o valor de s.pageName (ou seja, "inicial") no cookie especificado na chamada (ou seja, o cookie "gpv_Page").
Agora, suponha que, imediatamente depois, na mesma página, o seguinte código seja executado (por qualquer motivo):

s.pageName="happy value"
s.prop7=s.getPreviousValue(s.pageName,"gpv_Page")

Como a função s.t() não é executada neste bloco de código, outra solicitação de imagem não será criada. No entanto, desta vez, quando o código da função s.getPreviousValue() for executado, s.prop7 será definido como igual ao valor anterior de s.pageName (ou seja, "inicial") e armazenará o novo valor de s.pageName (ou seja, "valor feliz") no cookie "gpv_Page".
Suponha que o visitante navegue para uma página diferente e o seguinte código seja executado na página:

s.pageName="page 2"
s.prop7=s.getPreviousValue(s.pageName,"gpv_Page")
s.t();

Quando a função de chamada s.t() é executada, ela cria uma solicitação de imagem onde s.pageName = "page 2" e s.prop7 é igual a "valor feliz", que era o valor de s.pageName quando a última chamada para getPreviousValue ocorreu. O valor "inicial" de s.prop7 nunca esteve contido em uma solicitação de imagem real, embora "inicial" tenha sido o primeiro valor passado para s.pageName.

Histórico da versão

3.0 (19 de março de 2021)

  • Adição do número da versão como dados de contexto.

v2.0 (7 de outubro de 2019)

  • Versão pontual (reescrita completa da lógica).

Nesta página