PREMIUM Anpassade entitetsattribut

Använd anpassade entitetsattribut med ett och flera värden i Adobe Target Recommendations om du vill definiera ytterligare information om objekt i katalogen.

Gränser

Du kan inkludera upp till 100 anpassade entitetsattribut för att definiera ytterligare information om objekt i katalogen. Du kan till exempel skapa ett anpassat attribut med namnet entity.genre för att definiera en bok eller film. Eller så kan en biljettförsäljare skapa attribut för en eventplats som inkluderar en sekundär utförare, till exempel ett besöksteam i ett idrottsevenemang eller en öppningsakt på en konsert.

Den maximala längden för anpassade attribut för en entitet med ett värde är 15 000 tecken (för UTF-8-kodade språk med en eller två byte, som engelska och andra latinska skriftspråk) eller 10 000 tecken (för UTF-8-kodade språk med tre byte som kinesiska, japanska och koreanska).

Anpassade attribut för entiteter med flera värden får inte innehålla fler än 500 värden. Varje enskilt värde är begränsat till 100 tecken. Det totala antalet tecken i alla värden måste uppfylla begränsningarna för den maximala längden för anpassade entitetsattribut med ett värde (se ovan).

Anpassade värden för entitetsattribut

Anpassade entitetsattribut kan innehålla ett eller flera värden. Entitetsattributvärden visas i produktvyn.

Ett anpassat entitetsattribut med ett enda värde formateras på samma sätt som ett fördefinierat entitetsattribut med ett enda värde:

entity.genre=genre1

Ett anpassat entitetsattribut med flera värden måste skickas som en giltig JSON-matris:

entity.genre=[“genre1”, “genre2”]

Exempel på giltiga JSON-matriser som stöds av Recommendations:

  • ["AB","BC"] alla värden är strängar
  • [1,2] alla värden är numeriska
OBSERVERA

Recommendations stöder inte blandade värdetyper i entitetsattribut med flera värden. Till exempel: ["AB",1,true, [1,2,3]] är en giltig JSON-matris, men stöds inte i Recommendations eftersom det innehåller blandade värdetyper (sträng, numeriskt, booleskt, objekt).

När ett anpassat attribut har skickats som en giltig JSON-array behandlas attributet som ett flervärdesattribut för alla produkter i katalogen.

OBSERVERA

Om du vill ändra ett attribut från flera värden till ett enda värde måste du ta bort katalogen och överföra korrigerade produktdata. När du tar bort katalogen tas inte de historiska data som är kopplade till dina produkt-ID:n bort. Se Tar bort alla objekt från systemet i Adobe Recommendations Classic mer information.

Begränsningar:

  • Du kan inte använda fördefinierade entitetsattributnamn för anpassade entitetsattribut. (Se Entitetsattribut.)
  • Attributet entity.environment är reserverad av systemet och kan inte användas för anpassade entitetsattribut. Försök att skicka entity.environment använda targetPageParams, feeds och API:er ignoreras.
  • Matriser måste innehålla en värdetyp. Arrayer med blandade värden ( ["AB",1,true]) stöds inte.
  • Ett flervärdesattribut som innehåller en kapslad JSON-array ( [10,12,[1,2,3]]) behandlas som ett attribut med ett värde.

Implementera attribut med flera värden

Anpassade entitetsattribut med flera värden stöds vid användning av feeds (CSV). targetPageParamsoch leverans-API för att överföra produkter. Nya värden ersätter aktuella värden; de är inte tillagda. Tomma arrayer ( [] ) behandlas som om de inte har några värden.

Dubbla citattecken måste undantas. Till exempel: "[""test"", ""value""]" är en giltig JSON-array som kan användas i CSV.

Du kan ta med upp till 500 värden i ett flervärdesattribut.

Använda targetPageParams

I följande exempel visas hur du använder 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]'
  };
}

Använda CSV

Du kan hantera dina CSV-filer i Raw-format med en textredigerare eller använda kalkylbladsprogram.

CSV-filen med Raw-format ser ut så här:

Samma katalog kommer att se ut så här i ett kalkylblad:

När du konverterar till CSV-format lägger kalkylbladsprogrammet till citattecken runt cellinnehållet för att förhindra att kommatecken i cellen fungerar som kolumnavgränsare. Det lägger också till citattecken runt JSON-strängvärden som du inkluderar i anpassade attribut med flera värden. Det kan göra det okomplicerat att arbeta direkt med råfilen. Exempel:

  • Kalkylblad: ["1","2","3"]
  • Råformat: "[""1"",""2"",""3""]"

Var försiktig när du redigerar en CSV-fil med Raw-katalog direkt.

Använda API:er

Du kan skicka flervärdesattribut med leverans-API:t i en mbox-parameter som ett strängvärde som innehåller en escape-matris.

"execute": {
    "mboxes": [
      {
        "index": 0,
        "name": "first-mbox",
        "parameters": {
          "entity.id": "32323",
          "entity.categoryId": "My Category",
          "entity.MultiValueAttribute": "[\"X\", \"Y\", \"Z\"]"
        }
      }
    ]
  }

Se Adobe Recommendations API-dokumentation om du vill ha information om hur du använder enhets-API:erna Delivery och Save.

Använda operatorer med attribut för flera värden

När du tillämpar operatorer på anpassade attribut med flera värden i inkluderingsregler för algoritmer, katalogregler och exkluderingsregler, blir resultatet true om minst ett värde i listan klarar åtgärden (booleskt) eller).

I följande exempel är regeln message contains abc.

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde innehåller abc.
  • Fall 2: entity.genre = ["abcde","de","ef"]. Resultatet är sant eftersom ett värde innehåller abc.

För negativa operatorer måste alla attributvärden skickas (booleskt) och). Om operatorn till exempel är notEqualsblir resultatet false om något värde matchar.

I följande avsnitt finns information om operatorbeteende i algoritminkluderingsregler, katalogregler och exkluderingsregler.

Lika med

Om ett attributvärde är lika med indatavärdet, blir resultatet true.

Exempel: genre equals abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde är lika med abc.
  • Fall 2: entity.genre = ["abc", "de", "ef"]. Resultatet är sant eftersom ett värde är lika med abc.
  • Fall 3: entity.genre = ["abcde", "de", "ef"]. Resultatet är falskt eftersom abc är inte lika med något element i listan.

Är inte lika med

Om inget attributvärde är lika med indatavärdet blir resultatet true.

Exempel: genre not equals abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är sant eftersom inget värde är lika med abc.
  • Fall 2: entity.genre = ["abc", "de", "ef"]. Resultatet är false eftersom ett värde är lika med abc.
  • Fall 3: entity.genre = ["abcde", "de", "ef"]. Resultatet är sant eftersom abcär inte lika med något element i listan.

Innehåller

Om något värde för attributet innehåller indatavärdet, blir resultatet true.

Exempel: genre contains abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde innehåller abc.
  • Fall 2: entity.genre = ["abcde", "de", "ef"]. Resultatet är sant eftersom ett värde innehåller abc.

Innehåller inte

Om inget värde för attributet innehåller indatavärdet blir true.

Exempel: genre does not contain abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är sant eftersom inget värde innehåller abc.
  • Fall 2: entity.genre = ["abcde", "de", "ef"]. Regeln resulterar i false eftersom ett värde innehållerabc.

Börjar med

Om ett värde för ett attribut börjar med indatavärdet blir true.

Exempel: genre starts with abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde börjar med abc.
  • Fall 2: entity.genre = ["abcde", "de", "ef"]. Resultatet är sant eftersom ett värde börjar med abc.
  • Fall 3: entity.genre = ["ab", "de", "abc"]. Resultatet är sant eftersom ett värde börjar med abc (inte nödvändigtvis det första elementet i listan).

Slutar med

Om ett värde för ett attribut slutar med indatavärdet blir true.

Exempel: genre ends with abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde slutar med abc.
  • Fall 2: entity.genre = ["deabc", "de", "ef"]. Resultatet är sant eftersom ett värde slutar med abc.

Större än eller lika med (endast numeriska värden)

Attributvärdet konverteras till det dubbla. Attribut som inte kan konverteras hoppas över när regeln körs.

Efter bearbetning blir alla attributvärden som är större än eller lika med indatavärdet true.

Exempel: price greater than or equal to 100

  • Fall 1: entity.price = ["10", "20", "45"]. Resultatet är false eftersom inget värde är större än eller lika med 100. Värdet de hoppas över eftersom det inte går att konvertera till dubbel.
  • Fall 2: entity.price = ["100", "101", "90", "80"]. Resultatet är sant eftersom två värden är större än eller lika med 100.

Mindre än eller lika med (endast numeriska värden)

Attributvärdet konverteras till det dubbla. Attribut som inte kan konverteras hoppas över när regeln körs.

Efter bearbetning blir alla attributvärden som är mindre än eller lika med indatavärdet true.

Exempel: price less than or equal to 100

  • Fall 1: entity.price = ["101", "200", "141"]. Resultatet är false eftersom inget värde är mindre än eller lika med 100. Värdet de hoppas över eftersom det inte går att konvertera till dubbel.
  • Fall 2: entity.price = ["100", "101", "90", "80"]. Resultatet är sant eftersom två värden är mindre än eller lika med 100.

Matchar dynamiskt (endast tillgängligt i objektbaserade algoritmer)

Om något attributvärde matchar indatavärdet blir true.

Exempel: genre matches abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är false eftersom inget värde matchar abc.
  • Fall 2: entity.genre = ["abc", "de", "ef"]. Resultatet är sant eftersom ett värde matchar abc.

Matchar inte dynamiskt (endast tillgängligt i objektbaserade algoritmer)

Om något attributvärde matchar indatavärdet blir resultatet false.

Exempel: genre does not match abc

  • Fall 1: entity.genre = ["ab", "bc", "de"]. Resultatet är sant eftersom inget värde matchar abc.
  • Fall 2: entity.genre = ["abc", "de", "ef"]. Regeln resulterar i false eftersom ett värde matchar abc.

Dynamiskt omfång (endast tillgängligt i objektbaserade algoritmer, endast numeriska värden)

Om ett numeriskt attributvärde ligger inom det angivna intervallet blir resultatet sant.

Exempel: price dynamically ranges in 80% to 120% of 100

  • Fall 1: entity.price = ["101", "200", "125"]. Resultatet är sant eftersom 101 ligger mellan 80 % och 120 % av 100. Värdet de hoppas över eftersom det inte går att konvertera till dubbel.
  • Fall 2: entity.price = ["130", "191", "60", "75"]. Resultatet är false eftersom inget värde ligger i intervallet 80 % till 120 % av 100.
OBSERVERA

Dubbel är en Java-datatyp. Om du konverterar till dubbel för operatorer som kräver numeriska värden tas icke-numeriska värden bort från resultatet.

Attribut med flera värden i design

Flervärdesattribut visas som kommaavgränsade listor när de refereras i en design.

Exempel:

När entity.genre=["genre1","genre2"] refereras i en design som $entity<N>.genre, resultatet blir genre1, genre2.

Relaterade ämnen:

På denna sida