A integração de dados de compra offline (como compras em lojas físicas) na Dynamic Yield permite que você ofereça experiências personalizadas aos seus visitantes (ou envie um e-mail aos seus inscritos) com base em suas atividades off-line. Você pode integrar compras com um identificador de usuário, ou podem ser compradores anônimos (apenas as informações da transação).
A integração de dados de compra off-line permite que você:
- Use algoritmos de recomendação que consideram o comportamento off-line, incluindo:
- Popularidade: Recomenda os produtos mais populares com base em compras off-line e on-line.
- Comprados juntos off-line: Recomenda itens que foram comprados off-line, independentemente de estarem sendo comprados on-line agora.
- Comprados juntos off-line e on-line: Recomenda itens que foram comprados juntos off-line ou on-line.
- Afinidade: Recomenda produtos com base no comportamento anterior do usuário (para compras off-line que incluem identificadores).
- Comprado recentemente: Recomenda produtos com base nas compras recentes do visitante.
- Última compra: Recomenda produtos com base na última compra do visitante.
- Crie públicos ou segmente usuários com base em suas compras off-line, usando a condição Produto comprado off-line.
Carregue o feed off-line pelo menos uma vez por semana para que as recomendações de produtos se baseiem em dados de transações recentes.
Para habilitar esses recursos, contate o seu Gerente de Sucesso do Cliente.
Carregando transações off-line identificadas
Você pode sincronizar um feed contendo transações off-line de usuários identificados: Crie um arquivo CSV contendo as transações e sincronize-o como um arquivo de feed de dados da Dynamic Yield do tipo Compras Off-line Identificadas.
Para combinar compras off-line identificadas com usuários on-line, um identificador único comum é obrigatório. Você pode fazer isso enviando eventos multicanais como login, cadastro e identificação de usuário e, em seguida, incluindo o mesmo identificador ao carregar as transações off-line, conforme descrito:
- Crie um arquivo CSV que contenha as colunas descritas na tabela a seguir, usando vírgulas como separadores. Você pode baixar um CSV de amostra aqui. Nenhuma convenção de nomenclatura específica é necessária. Cada arquivo pode conter um máximo de 1,5 milhão de linhas.
Propriedade Descrição Tipo cuidType O tipo de identificador usado para identificar o usuário. O valor deve ser um dos seguintes:
- "he" se você estiver usando um e-mail com hash
- "email" se forem usados e-mails de texto simples
- "dyid" se DYID for o identificador
- O mesmo tipo personalizado que você sincronizou anteriormente com a Dynamic Yield no site.
String
(até 64 caracteres)cuid O identificador exclusivo do usuário que fez a compra. String
(até 64 caracteres)transactionId O ID da transação de compra. Cada linha contém um máximo de uma SKU. Se vários itens foram comprados juntos, crie várias linhas com o mesmo transactionId.
O ID da transação deve ser exclusivo por transação, incluindo compras on-line.
Uma transação com o mesmo ID de outra transação processada no dia anterior será ignorada.
String
(até 64 caracteres)transactionSource
(opcional)A fonte onde a transação ocorreu, geralmente o ID da loja física. String transactionDatetime A data e a hora da compra no formato ISO 8601 combinando data e hora. Por exemplo, 2018-09-23T07:29:51+00:00. String value Valor total do carrinho na moeda de pagamento. Obrigatório se o transactionItemValue não está definido. Caso contrário, é opcional. Float
(dollars.cents, apenas valores positivos)currency Se a transação não estiver na sua moeda padrão, especifique a moeda aqui. Para mais informações, consulte Suporte a vários idiomas. String productId SKU exatamente como aparece no feed do produto. Se o SKU não estiver no feed do produto, a compra não será carregada. String quantity Quantos itens específicos estão incluídos na compra. Número
(positivo, sem valores decimais)itemPrice Preço de tabela para cada item (quantidade unitária). Isso pode ser diferente do transactionItemValue devido a descontos, impostos e assim por diante. Float
(dollars.cents, apenas valores positivos)transactionItemValue Valor do item de linha na moeda do pagamento.
O valor é a multiplicação de itemPrice pela quantidade, após desconto e impostos.
Valores negativos são ignorados.
Obrigatório se a propriedade "value" não estiver definida. Caso contrário, é opcional.Float
(dollars.cents, apenas valores positivos)size
(opcional)O tamanho do item. String
- No console do Experience OS, acesse Assets › Data Feeds.
- Clique em Add New e selecione Identified Offline Purchases.
- Selecione CSV como método de sincronização.
- Anote as credenciais S3 exibidas.
- Salve e ative o feed de dados.
- A qualquer momento, carregue um novo arquivo de feed para uma pasta em seu bucket S3, da seguinte forma: <URL do bucket S3>/YYYY-MM-DD/
O arquivo de feed pode ter qualquer nome, mas não pode incluir o caractere "-" (hífen).
Uma nova pasta deve ser criada para cada dia em que você sincronizar o arquivo. Sempre que um novo arquivo é carregado, a Dynamic Yield o processa imediatamente. - Você pode verificar o status de sincronização e verificar se há erros procurando na lista do feed de dados e baixando o registro. Para mais detalhes, consulte Lidando com erros de arquivo abaixo.
Nota: pode levar até 24 horas para os perfis dos usuários identificados serem atualizados com as informações de compra off-line que você importou para a conta .
Carregando transações off-line anônimas
Para sincronizar compras off-line sem quaisquer identificadores de utilizador, faça o seguinte:
Prepare o arquivo
Baixe um arquivo de amostra |
- Tipo de arquivo: CSV
- Nome do arquivo: anonymousofflinepurchases.csv (recomendado. Caracteres especiais podem não ser suportados)
- Número máximo de linhas: 1,5 M
- Cada linha deve incluir uma SKU de uma compra off-line:
- Se uma compra incluir 3 SKUs - use 3 linhas (1 SKU por linha).
- Se uma compra incluir 1 SKU que foi comprada 3 vezes - use uma única linha e use o atributo "quantidade".
Formato:
Propriedade | Descrição | Tipo |
---|---|---|
transactionId | ID de transação exclusivo para uma compra, incluindo um ou mais itens. Se mais de um tipo de item foi comprado, deve haver uma linha no CSV para cada SKU exclusivo incluído na compra. Para mais detalhes, veja o exemplo abaixo. | String (até 64 caracteres) |
transactionSource Opcional |
A origem da transação, geralmente o ID da loja física. | String |
transactionDatetime | A data e a hora da compra em ISO 8601 combinando data e hora (por exemplo, 2018-09-23T07:29:51+00:00). | String |
value |
Valor total da compra (com todo o seu conteúdo). |
Float (dollars.cents, apenas valores positivos) |
currency | A moeda em que a coluna value da compra específica é baseada. | String Consulte as moedas suportadas |
productId | O SKU do item exatamente como aparece no feed do produto. Se o SKU não estiver no feed do produto, a compra não será carregada. | String |
quantity | Quantos itens específicos existem na compra. | Número (positivo, sem casas decimais) |
itemPrice | Preço de tabela para cada item (quantidade unitária). Esse valor pode ser diferente do transactionItemValue devido a descontos, impostos e assim por diante. | Float (dollars.cents, apenas valores positivos) |
transactionItemValue |
Valor do item de linha na moeda do pagamento. O valor é a multiplicação do itemPrice vezes a quantidade, após descontos e impostos. |
Float |
size (Opcional) |
O tamanho do item. Por exemplo, G, M ou qualquer formato que você prefira usar para descrever o tamanho dos seus produtos. |
String |
O arquivo não deve incluir linhas duplicadas e deve ser classificado pelo transactionId. Cada linha representa um SKU comprado. Uma única transação incluindo 2 camisas idênticas por US$ 20 cada (com desconto de um preço de tabela de US$ 25) e uma jaqueta por US$ 100, teria duas linhas no seu CSV com os seguintes valores:
transactionId | transactionDateTime | value | currency | productId | quantity | itemPrice | transactionItemValue |
---|---|---|---|---|---|---|---|
101 | 2018-09-23T07:29:51+00:00 | 140,00 | USD | 12345 | 2 | 25,00 | 40,00 |
101 | 2018-09-23T07:29:51+00:00 | 140,00 | USD | 12789 | 1 | 100,00 | 100,00 |
- Na Dynamic Yield, acesse Assets > Data Feeds.
- Clique em Add New e selecione Anonymous Offline Purchases.
- Selecione CSV como o método de sincronização.
- Anote as credenciais S3 exibidas.
- Salve e ative o feed de dados.
- Carregue um novo arquivo de feed para uma pasta em seu bucket S3 a qualquer momento, da seguinte forma: <URL do bucket S3>/YYYY-MM-DD/
O arquivo de feed pode ter qualquer nome, mas não pode usar o caractere "-" (hífen).
Uma nova pasta deve ser criada para cada dia em que você sincronizar o arquivo. Sempre que um novo arquivo é carregado, a Dynamic Yield o processa imediatamente. - Você pode verificar o status de sincronização e verificar se há erros procurando na lista do feed de dados e baixando o registro. Para mais detalhes, consulte Lidando com erros de arquivo abaixo.
Se você tiver mais de um site da Dynamic Yield, recomendamos fazer o upload dos dados de compra off-line para o site mais relevante e compartilhar o público para todos os seus outros sites. Como alternativa, você também pode fazer o upload dos dados de compra off-line para cada um dos seus sites individualmente.
Carregando o arquivo usando CLI
- Execute a configuração da AWS no diretório desejado: aws configure
- Use seu ID da chave de acesso
- Use sua Chave de Acesso Secreta
- Na seção de região, digite us-east-1 se você usar os dados do data center dos EUA, ou eu-central-1 para o data center da UE.
- Formato de saída padrão: você pode deixar em branco (basta pressionar Enter).
- Execute o seguinte comando para carregar seu arquivo:
aws s3 cp local file .csv <URL do bucket S3>/YYYY-MM-DD/feedName.csv - Verifique se o arquivo está em S3:
aws s3 ls <URL do bucket S3>/YYYY-MM-DD/
Nota: Certifique-se de usar a barra ( / ) no final desse endereço, para evitar um erro de acesso.
Lidando com erros de arquivos
Várias validações são realizadas quando um arquivo é sincronizado, e um arquivo de erro é criado com todas as linhas que contêm erros e uma coluna adicional com a mensagem de erro relevante. Você pode baixar o registro de erros diretamente na lista de feeds de dados. Para mais detalhes, acesse Validando sua implementação web. As validações verificam se o seguinte é verdadeiro:
- O arquivo não está vazio.
- Não faltam colunas obrigatórias (por exemplo, transactionId, productId) no arquivo.
- Nenhum valor negativo para determinados campos (value, transactionItemValue, Item Price, quantity).
- A TRANSACTION_DATE é uma data válida.
O arquivo de erro é carregado na mesma pasta que o arquivo que você está sincronizando. Seu nome é <Nome do feed>-Feed-Log-MM-DD-YYYY-HH-MM-SS.
Se mais de 20% das linhas possuírem erros, o arquivo não será sincronizado e será marcado com o erro: "synced with error". Arquivos com menos de 20% de erros são sincronizados com o status "synced with warnings".
transactionId duplicado
Se 2 arquivos forem importados e possuírem o mesmo transactionId dentro de 24 horas, as compras relacionadas do 2º arquivo serão ignoradas. Depois disso, os eventos de compra são armazenados.
Validando
Depois de importar as compras off-line, acesse o Audience Explorer e use o filtro de usuários "Products purchased offline". Certifique-se de que consegue ver os usuários.
Se você não vir nenhum usuário, certifique-se de que o seguinte tenha ocorrido:
- O feed de compras off-line foi sincronizado com sucesso.
- O identificador usado no feed de compras off-line é o mesmo que você usa em seu site.
O que você pode fazer com dados de compras off-line?
- Criar públicos com base em compras off-line e segmentá-los em campanhas relevantes.
- Oferecer recomendações personalizadas usando o algoritmo "Afinidade do usuário", que também leva em consideração as compras off-line
- Usar os filtros Comprados juntos - off-line ou Comprados juntos - off-line e on-line para alavancar seus dados off-line em casos de grandes conjuntos de dados off-line.
- Evitar recomendar produtos que o usuário já comprou off-line.
- Para cada item comprado off-line, um evento de compra off-line é acionado. Você pode consultar esses eventos no módulo do explorador de público.
Limitações conhecidas
- Cada arquivo pode incluir um máximo de 1,5 M de linhas.
- Se precisar de mais de 1,5 milhão de linhas, você pode carregar vários arquivos por dia, mas espere até que o carregamento anterior seja concluído (isso pode levar várias horas, dependendo do tamanho do arquivo).