[Premium]{class="badge positive" title="Consulte o que está incluído no Target Premium."}
Atributos de entidade personalizados
Use atributos de entidade personalizados de valor único e múltiplo no Adobe Target Recommendations para definir informações adicionais sobre itens no catálogo.
Limites limits
Você pode incluir até 100 atributos de entidade personalizados para definir informações adicionais sobre itens em seu catálogo. Por exemplo, é possível criar um atributo personalizado chamado entity.genre
para especificar um livro ou filme. Ou, um vendedor de bilhetes pode criar atributos para o local de evento para incluir um artista secundário, como um time visitante em um evento esportivo ou um show de abertura em um evento.
O tamanho máximo dos atributos personalizados da entidade de valor único é de 15.000 caracteres (para idiomas codificados de um e dois bytes UTF -8, como inglês e outros alfabetos de script latinos) ou 10.000 caracteres (para idiomas codificados em três bytes, como chinês, japonês e coreano).
Os atributos personalizados de entidade de vários valores não podem conter mais de 500 valores. Cada valor individual é limitado a 100 caracteres. O número total de caracteres em todos os valores deve estar em conformidade com o limite de tamanho máximo dos atributos personalizados da entidade de valor único (veja acima).
Valores de atributo de entidade personalizados section_313331A9F8194A89B5EDD89363018651
Atributos de entidade personalizados podem conter um único valor ou vários valores. Valores de atributos da entidade são exibidos na visualização do produto.
Um atributo de entidade personalizado com um único valor é formado da mesma maneira que um atributo de entidade predefinido de valor único:
entity.genre=genre1
Um atributo de entidade personalizada de vários valores deve ser enviado como uma matriz JSON válida:
entity.genre=["genre1", "genre2"]
Exemplos de matrizes JSON válidas suportadas pelo Recommendations:
["AB","BC"]
todos os valores são cadeia de caracteres[1,2]
todos os valores são numéricos
["AB",1,true, [1,2,3]]
é uma matriz JSON válida, mas não é compatível com o Recommendations porque inclui tipos de valores mistos (cadeia de caracteres, numérico, booleano, objeto).Depois que um atributo personalizado é enviado como uma matriz JSON válida, ele é tratado como um atributo de vários valores para todos os produtos no catálogo.
Restrições:
- Não é possível usar nomes de atributos de entidade predefinidos para atributos de entidade personalizados. (Consulte Atributos da entidade.)
- O atributo
entity.environment
é reservado pelo sistema e não pode ser usado para atributos de entidade personalizados. Tentativas de enviarentity.environment
usandotargetPageParams
, feeds ou APIs serão ignoradas. - As matrizes devem conter um único tipo de valor. Matrizes de valores mistos (
["AB",1,true]
) não são compatíveis. - Um atributo de vários valores que inclui uma matriz JSON aninhada (
[10,12,[1,2,3]]
) é tratado como um atributo de valor único.
Implementar atributos de vários valores section_80FEFE49E8AF415D99B739AA3CBA2A14
Atributos de entidade personalizados de vários valores têm suporte quando você usa feeds (CSV), targetPageParams
e a API de entrega para carregar produtos. Novos valores substituem valores atuais; eles não são anexados. Matrizes vazias ( [] ) são tratadas como não tendo valores.
Aspas duplas devem ser evitadas. Por exemplo, "[""test"", ""value""]"
é uma matriz JSON que pode ser usada no CSV.
É possível incluir até 500 valores em um atributo de vários valores.
Utilização de targetPageParams
O exemplo a seguir mostra como usar targetPageParams
function targetPageParams() {
return {
'entity.id': '123',
'entity.categoryId': '["A", "A:B", "A:B:C", "A:B:C:D"]',
'entity.MultiValueAttribute': '["X", "Y", "Z"]',
'entity.event.detailsOnly': 'true',
'excludedIds": '[123, 3232, 2323, 4344]',
'orderId": '123456',
'orderTotal": '195.32',
'productPurchaseId": '[001,002,003]'
};
}
Uso de CSV
Você pode gerenciar seus arquivos CSV de forma simples usando um editor de texto ou você pode usar um software de planilhas.
O CSV simples terá esta aparência:
O mesmo catálogo ficará assim em uma planilha:
Ao converter para o formato .csv, o software de planilha adiciona aspas duplas ao redor do conteúdo da célula para impedir que as vírgulas dentro da célula atuem como separadores de coluna. Ele também adiciona aspas duplas em torno dos valores de cadeia de caracteres JSON que você inclui em atributos personalizados de vários valores. Isso pode dificultar o trabalho diretamente com o arquivo simples. Por exemplo:
- Planilha:
["1","2","3"]
- Simples:
"[""1"",""2"",""3""]"
Tenha cuidado ao editar diretamente um arquivo CSV de catálogo simples.
Uso de APIs
Você pode passar atributos de vários valores usando a API de entrega em um parâmetro de mbox como um valor de string que contém uma matriz JSON de escape.
"execute": {
"mboxes": [
{
"index": 0,
"name": "first-mbox",
"parameters": {
"entity.id": "32323",
"entity.categoryId": "My Category",
"entity.MultiValueAttribute": "[\"X\", \"Y\", \"Z\"]"
}
}
]
}
Consulte a documentação da API do Adobe Recommendations para obter informações sobre como usar as APIs de entidades de Entrega e Salvamento.
Uso de operadores com atributos de vários valores section_83C2288A805242D9A02EBC4F07DEE945
Quando você aplica operadores a atributos personalizados de vários valores em regras de inclusão de algoritmo, regras de catálogo e regras de exclusão, o resultado será true se pelo menos um valor na lista passar na operação (booleano ou).
No exemplo a seguir, a regra é message contains abc
.
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor contémabc
. - Caso 2:
entity.genre = ["abcde","de","ef"]
. O resultado é true porque contém um valorabc
.
Para operadores negativos, todos os valores de atributo devem passar (booleano e). Por exemplo, se o operador for notEquals
, o resultado será false se qualquer valor for correspondente.
Consulte as seguintes seções para conhecer o comportamento do operador nas regras de inclusão de algoritmo, regras de catálogo e regras de exclusão.
Igual
Se qualquer valor de atributo for igual ao valor de entrada, o resultado será true.
Exemplo: genre equals abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor é igual aabc
. - Caso 2:
entity.genre = ["abc", "de", "ef"]
. O resultado é true porque um valor é igual aabc
. - Caso 3:
entity.genre = ["abcde", "de", "ef"]
. O resultado é falso porqueabc
não é igual a nenhum elemento da lista.
Não é igual
Se nenhum valor de atributo for igual ao valor de entrada, o resultado será true.
Exemplo: genre not equals abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é true porque nenhum valor é igual aabc
. - Caso 2:
entity.genre = ["abc", "de", "ef"]
. O resultado é false porque um valor é igual aabc
. - Caso 3:
entity.genre = ["abcde", "de", "ef"]
. O resultado é verdadeiro porqueabc
não é igual a nenhum elemento da lista.
Contém
Se qualquer valor de atributo contém o valor de entrada, o resultado será true.
Exemplo: genre contains abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor contémabc
. - Caso 2:
entity.genre = ["abcde", "de", "ef"]
. O resultado é true porque contém um valorabc
.
Não contém
Se nenhum valor de atributo contém o valor de entrada, o resultado será true.
Exemplo: genre does not contain abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é true porque nenhum valor contémabc
. - Caso 2:
entity.genre = ["abcde", "de", "ef"]
. A regra resultará em false porque um valor contémabc
.
Começa com
Se qualquer valor de atributo inicia com o valor de entrada, o resultado será true.
Exemplo: genre starts with abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor inicia comabc
. - Caso 2:
entity.genre = ["abcde", "de", "ef"]
. O resultado é true porque um valor inicia comabc
. - Caso 3:
entity.genre = ["ab", "de", "abc"]
. O resultado é verdadeiro porque um valor começa comabc
(não necessariamente o primeiro elemento da lista).
Termina com
Se qualquer valor de atributo terminar com o valor de entrada, o resultado será true.
Exemplo: genre ends with abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor termina comabc
. - Caso 2:
entity.genre = ["deabc", "de", "ef"]
. O resultado é true porque um valor termina comabc
.
Maior que ou igual a (apenas valores numéricos)
O valor do atributo é convertido em duplo. Atributos que não podem ser convertidos são ignorados durante a execução da regra.
Após o processamento, qualquer valor de atributo maior ou igual ao valor de entrada resultará em true.
Exemplo: price greater than or equal to 100
- Caso 1:
entity.price = ["10", "20", "45"]
. O resultado é false porque nenhum valor é maior do que ou igual a 100. O valorde
é ignorado porque não pode ser convertido em double. - Caso 2:
entity.price = ["100", "101", "90", "80"]
. O resultado é true porque dois valores são maiores ou iguais a 100.
Menor que ou igual a (apenas valores numéricos)
O valor do atributo é convertido em duplo. Atributos que não podem ser convertidos são ignorados durante a execução da regra.
Após o processamento, qualquer valor de atributo menor ou igual ao valor de entrada resultará em true.
Exemplo: price less than or equal to 100
- Caso 1:
entity.price = ["101", "200", "141"]
. O resultado é false porque nenhum valor é menor do que ou igual a 100. O valorde
é ignorado porque não pode ser convertido em double. - Caso 2:
entity.price = ["100", "101", "90", "80"]
. O resultado é true porque dois valores são menores do que ou igual a 100.
Correspondências dinâmicas (disponíveis apenas em algoritmos baseados em itens)
Se qualquer valor de atributo corresponder ao valor de entrada, o resultado será true.
Exemplo: genre matches abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é false porque nenhum valor correspondeabc
. - Caso 2:
entity.genre = ["abc", "de", "ef"]
. O resultado é true porque um valor corresponde aabc
.
Correspondências não dinâmicas (disponíveis apenas em algoritmos baseados em itens)
Se qualquer valor de atributo corresponder ao valor de entrada, o resultado será false.
Exemplo: genre does not match abc
- Caso 1:
entity.genre = ["ab", "bc", "de"]
. O resultado é true porque nenhum valor corresponde aabc
. - Caso 2:
entity.genre = ["abc", "de", "ef"]
. A regra resultará em false porque um valor corresponde aabc
.
Intervalos dinâmicos (disponíveis apenas em algoritmos baseados em itens e valores numéricos)
Se qualquer valor numérico de atributo se encaixar dentro do intervalo especificado, o resultado será true.
Exemplo: price dynamically ranges in 80% to 120% of 100
- Caso 1:
entity.price = ["101", "200", "125"]
. O resultado é verdadeiro porque101
está no intervalo de 80% a 120% de 100. O valorde
é ignorado porque não pode ser convertido em double. - Caso 2:
entity.price = ["130", "191", "60", "75"]
. O resultado é false porque nenhum valor está no intervalo de 80% a 120% de 100.
Atributos de vários valores em designs section_F672E4F6E1D44B3196B7ADE89334ED4A
Atributos de vários valores aparecem como uma lista separada por vírgulas quando referenciados em um design.
Exemplo:
Quando entity.genre=["genre1","genre2"]
for utilizado em um design como $entity<N>.genre
, o resultado será genre1, genre2
.