Profilattribut

Profilattribut i Adobe Target är parametrar som är specifika för en besökare. Dessa attribut lagras i besökarens profil för att ge information om besökaren som kan användas i dina aktiviteter.

En användarprofil innehåller demografisk information och beteendeinformation om en besökare på en webbsida. Informationen kan omfatta ålder, kön, inköpta produkter, senaste besök och så vidare, som Target använder för att personalisera det innehåll som det är avsett för besökaren.

När en besökare surfar på webbplatsen, eller när besökaren återgår till en annan session, kan de sparade profilattributen i profilen användas för att rikta innehåll eller logginformation för segmentfiltrering.

Så här ställer du in profilattribut:

  1. Klicka på Audiences > Profile Scripts.

    Fliken Profilskript

  2. Klicka på Create Script.

    Dialogrutan Skapa profilskript

    Följande typer av profilattribut är tillgängliga:

    Parametertyp Beskrivning
    mbox Indata skickas direkt via sidkoden när mbox skapas. Se Skicka parametrar till en global Mbox.
    Anteckning: Target har en gräns på 50 unika profilattribut per mbox-anrop. Om du måste skicka mer än 50 profilattribut till Targetskickar du dem med API-metoden för profiluppdatering. Mer information finns i Profiluppdatering i Adobe Target API-dokumentation.
    Profil Definieras direkt med ett JavaScript-kodfragment. De här fragmenten kan lagra summor som går åt som summor som förbrukas av konsumenten och de körs på varje mbox-begäran. Se Profilskriptattribut nedan.

Profilskriptattribut

Definiera ett profilskriptattribut med tillhörande JavaScript-kodfragment.

Du kan använda profilskript för att hämta besökarattribut vid flera besök. Profilskript är kodfragment som definieras i Target med hjälp av en typ av JavaScript på serversidan. Du kan till exempel använda ett profilskript för att ta reda på hur ofta en besökare besöker webbplatsen och när besökaren senast besökte den.

Profilskript är inte desamma som profilparametrar. Profilparametrar samlar in information om besökare som använder mbox-kodimplementeringen av Target.

Skapa profilskript

Profilskript är tillgängliga under Audiences i Target gränssnitt.

Om du vill lägga till ett profilskript klickar du på Profile Scripts tab, Create Script och sedan skriva ditt skript.

eller

Kopiera ett befintligt profilskript från Profile Scripts klicka på ellipsikonen för det önskade skriptet och klicka sedan på Duplicate.

Sedan kan ni redigera målgruppen för att skapa en liknande målgrupp.

Profilskript kör profilattributet "catchers" på varje platsbegäran. När en platsbegäran tas emot, Target avgör vilken aktivitet som ska köras och visar innehåll som är lämpligt för den aktiviteten och den upplevelsen. Target spårar även aktivitetens framgångar och kör relevanta profilskript. Med den här processen kan du spåra information om besöket, som besökarens plats, tid på dagen, antal gånger besökaren har besökt webbplatsen, om han eller hon har köpt tidigare och så vidare. Den här informationen läggs sedan till i besökarprofilen så att du bättre kan spåra besökarens aktivitet på webbplatsen.

Profilskriptattribut har user. taggen infogad före attributnamnet. Exempel:

if (mbox.name == 'Track_Interest') {
    if (profile.get('model') == "A5" &&; profile.get('subcat') == "KS6") {
        return (user.get('A5KS6') || 0) + 1;
    }
}

Tänk på följande:

  • Se profilskriptattributen (inklusive sig själv) i koden med user.get('parameterName').

  • Spara variabler som kan nås nästa gång skriptet körs (på nästa mbox-begäran) med user.setLocal('variable_name', 'value'). Referera variabeln med user.getLocal('variable_name'). Den här processen är användbar i situationer där du vill referera till datumet och tiden för den senaste begäran.

    Dessa värden behålls precis som ett profilskript, men du har bara åtkomst till dem i skriptet som de angavs.

  • Parametrar och värden är skiftlägeskänsliga. Matcha skiftläget för de parametrar och värden som du får under aktiviteten eller testet.

  • Mer JavaScript-syntax finns i avsnittet"JavaScript-referens för skriptprofilparametrar" nedan.

  • Parametern finns kvar i profilen när skriptet har inaktiverats. Användare vars profiler redan innehåller en parameter som används i en aktivitets målgrupp kvalificerar sig för den aktiviteten.

  • Profilskript kan inte tas bort medan de används i en aktivitet.

  • Du bör inte skapa beroende profilskript som använder resultatet av ett profilskript i ett annat profilskript. Körningsordningen för profilskript är inte garanterad.

Visa informationskort för profilskript

Du kan visa profilskriptinformationskort på ungefär samma sätt som informationskort. Dessa profilskriptinformationskort gör att du kan visa en lista över aktiviteter som refererar till det valda profilskriptet, tillsammans med andra användbara metadata.

Du kan till exempel komma åt följande informationskort för profilskript genom att klicka på Info ikon för det profilskript du vill använda i listan (Audiences > Profile Scripts).

The Script Info -fliken innehåller följande information: Namn, beskrivning och skriptkod.

Profilskriptinformationskort

Klicka View full details för att se målgrupper och aktiviteter som refererar till det valda profilskriptet.

Profilskriptinformationskort > fliken Skriptanvändning

OBSERVERA

The Script Usage Fliken visar inte aktiviteter som refererar till det valda profilskriptet i följande situationer:

  • Aktiviteten finns i Draft tillstånd.
  • Innehållet eller erbjudandet som används i aktiviteten använder skriptvariabler (antingen ett infogat erbjudande inom aktiviteten eller ett erbjudande inom erbjudandebiblioteket).

Målet inaktiverar profilskript i vissa situationer

Target inaktiverar automatiskt profilskript i vissa situationer, t.ex. om det tar för lång tid att köra dem eller om de har för många instruktioner.

När ett profilskript är inaktiverat visas en gul varningsikon bredvid profilskriptet i målgränssnittet, vilket visas nedan:

profile_script_invalid image

Vid hovring visas information om felet, enligt bilden nedan:

profile_script_hover image

Vanliga orsaker till att systemet inaktiverar profilskript är:

  • En odefinierad variabel som refereras.
  • Ett ogiltigt värde refereras. Det här felet orsakas ofta av att URL-värden refereras och andra användarindata inte verifieras korrekt.
  • För många JavaScript-instruktioner används. Target har en gräns på 2 000 JavaScript-instruktioner per skript, men den här gränsen kan inte beräknas genom manuell läsning av JavaScript. Till exempel behandlar Rhino alla funktionsanrop och"nya" anrop som 100 instruktioner. Alla anrop till en funktion kräver 100 instruktioner. Storleken på alla postdata, t.ex. URL-värden, kan också påverka antalet instruktioner.
  • Följande objekt är inte markerade i bästa praxis nedan.

God praxis

Följande riktlinjer är avsedda att hjälpa dig att skriva förenklade profilskript som är så felfria som möjligt genom att skriva kod som inte fungerar på ett bra sätt så att skripten bearbetas utan att ett systemskript behöver avbrytas. Riktlinjerna är ett resultat av bästa praxis som har visat sig fungera effektivt. Dessa riktlinjer ska tillämpas tillsammans med de principer och rekommendationer som har utarbetats av utvecklingssamfundet i Rhino.

  • Ställ in det aktuella skriptvärdet på en lokal variabel i användarskriptet och ställ in en failover-sträng på en tom sträng.

  • Validera den lokala variabeln genom att kontrollera att den inte är en tom sträng.

  • Använd strängbaserade redigeringsfunktioner jämfört med reguljära uttryck.

  • Använd begränsat för slingor kontra öppna slut för eller while-slingor.

  • Högst 1 300 tecken eller 50 upprepningar av slingor.

  • Använd inte fler än 2 000 JavaScript-instruktioner. Target har en gräns på 2 000 JavaScript-instruktioner per skript, men den här gränsen kan inte beräknas genom manuell läsning av JavaScript. Till exempel behandlar Rhino alla funktionsanrop och"nya" anrop som 100 instruktioner. Storleken på alla postdata, t.ex. URL-värden, kan också påverka antalet instruktioner.

  • Tänk inte bara på skriptprestanda, utan även på den kombinerade prestandan för alla skript. Som bästa praxis Adobe rekommenderar färre än 5 000 instruktioner totalt. Att räkna antalet instruktioner är inte uppenbart, men det viktiga att notera är att skript som överskrider 2 000 instruktioner automatiskt inaktiveras. Antalet aktiva profilskript får inte överstiga 300. Varje skript körs med varje enskilt mbox-anrop. Kör bara så många skript som behövs.

  • I ett regex, med en punktstjärna i början (till exempel: /.*match/, /a|.*b/) behövs nästan aldrig. Regex-sökningen startar från alla positioner i en sträng (om den inte är bunden till ^), så punktstjärnan antas redan. Skriptkörningen kan avbrytas om en sådan regex matchas med tillräckligt många indata (vilket kan vara så lågt som flera hundra tecken).

  • Om allt misslyckas omsluter du skriptet i en try/catch.

  • Följande rekommendationer kan hjälpa dig att begränsa komplexiteten i profilskript. Profilskript kan köra ett begränsat antal instruktioner.

    Bästa praxis:

    • Håll profilskripten så små och enkla som möjligt.
    • Undvik reguljära uttryck eller använd endast enkla reguljära uttryck. Även enkla uttryck kan ta många instruktioner att utvärdera.
    • Undvik rekursion.
    • Profilskript bör prestandatestas innan de läggs till i Target. Alla profilskript körs på varje mbox-begäran. Om profilskript inte körs korrekt tar det längre tid att köra mbox-begäranden, vilket kan påverka trafik och konvertering.
    • Om profilskript blir för komplexa bör du överväga att använda svarstoken i stället.
  • Mer information finns i dokumentationen för JS Rhino-motorn.

Felsöka profilskript

Följande metoder kan användas för att felsöka profilskript:

OBSERVERA

Använda console.log i ett profilskript genererar inte profilvärdet eftersom profilskript körs på serversidan.

  • Lägg till profilskript som svarstoken för att felsöka profilskript:

    I Target, klicka Administration, klicka Response Tokens aktiverar sedan det profilskript som du vill felsöka.

    När du vill läsa in en sida för webbplatsen med Target en del av svaret från Target innehåller ditt värde för det angivna profilskriptet, vilket visas nedan:

    debug_profile_script_1 image

  • Använd felsökningsverktyget mboxTrace för att felsöka profilskript.

    Den här metoden kräver en auktoriseringstoken som du kan generera genom att klicka på Target > Administration > Implementation > Generate Authorization Token i Debugger tools -avsnitt.

    Sedan lägger du till de här två parametrarna i sidans URL efter "?": mboxTrace=window&authorization=YOURTOKEN.

    Det är lite mer informativt att lägga till de här parametrarna än svarstoken eftersom du får en ögonblicksbild och en ögonblicksbild av din profil som tagits i förväg. Här visas även alla tillgängliga profiler.

    debug_profile_script_2 image

Vanliga frågor om profilskript

Går det att använda profilskript för att hämta information från en sida som finns i ett datalager?

Profilskript kan inte läsa sidan direkt eftersom de körs på serversidan. Data måste skickas via en mbox-begäran eller via andra metoder för att hämta data till Target. När data finns i Targetkan profilskript läsa data som en mbox-parameter eller profilparameter.

JavaScript-referens för skriptprofilparametrar

Enkel Javascript-kunskap krävs för att effektivt använda parametrar för skriptprofiler. Det här avsnittet är en snabb referens som gör dig produktiv med den här funktionen på bara några minuter.

Skriptprofilsparametrar finns under fliken mboxes/profiles. Du kan skriva JavaScript-program som returnerar alla JavaScript-typer (sträng, heltal, array o.s.v.).

Exempel på parametrar för skriptprofil

Namn: user.recency

var dayInMillis = 3600 * 24 * 1000;
if (mbox.name == 'orderThankyouPage') {
    user.setLocal('lastPurchaseTime', new Date().getTime());
}
var lastPurchaseTime = user.getLocal('lastPurchaseTime');
if (lastPurchaseTime) {
    return ((new Date()).getTime() - lastPurchaseTime) / dayInMillis;
}

Skapar en variabel för dag mätt i millisekunder. Om mbox-namnet är orderThankyouPage, ange ett lokalt (osynligt) användarprofilattribut med namnet lastPurchaseTime för att visa värdet för aktuellt datum och aktuell tid. Värdet för den senaste inköpstiden läses, och om definierat, Target returnerar tiden som har gått sedan den senaste inköpstiden, dividerat med antalet millisekunder i en dag (vilket ger antalet dagar sedan det senaste köpet).

Namn: user.frequency

var frequency = user.get('frequency') || 0;
if (mbox.name == 'orderThankyouPage') {
    return frequency + 1;
}

Skapar en variabel med namnet frequency, initierar det till antingen föregående värde eller 0, om det inte fanns något tidigare värde. Om mbox-namnet är orderThankyouPagereturneras det stegvisa värdet.

Namn: user.monetärValue

var monetaryValue = user.get('monetaryValue') || 0;
if (mbox.name == 'orderThankyouPage') {
    return monetaryValue + parseInt(mbox.param('orderTotal'));
}

Skapar en variabel med namnet monetaryValue, söker upp det aktuella värdet för en viss besökare (eller anger 0 om det inte fanns något tidigare värde). Om mbox-namnet är orderThankyouPage, returneras det nya monetära värdet genom att det föregående och värdet på orderTotal parametern skickas till mbox.

Namn: adobeQA

if (page.param("adobeQA"))
     return page.param("adobeQA");
else if (page.param("adobeqa"))
     return page.param("adobeqa");
else if (mbox.param("adobeQA"))
     return mbox.param("adobeQA");

Skapar en variabel med namnet adobeQA för att spåra en användare för Aktivitets-QA.

Objekt och metoder

Följande objekt och metoder kan refereras av parametrar för skriptprofiler:

Objekt eller metod Detaljer
page.url Aktuell URL.
page.protocol Protokollet som används för sidan (http eller https).
page.domain Den aktuella URL-domänen (allt före det första snedstrecket). Till exempel: www.acme.com in http://www.acme.com/categories/men_jeans?color=blue&size=small.
page.query Frågesträngen för den aktuella sidan. Allt efter '?'. Till exempel: blue&size=small in http://www.acme.com/categories/mens_jeans?color=blue&size=small.
page.param('<par_name>') Värdet på parametern som anges av <par_name>. Om din nuvarande URL är Google söksida och du har angett page.param('hl'), får du “en” för URL:en http://www.google.com/search?hl=en& q=what+is+asdf&btnG=Google+Search.
page.referrer Samma uppsättning åtgärder som ovan gäller för hänvisaren och landningen (dvs. referrer.url är referentens URL-adress).
landing.url, landing.protocol, landing.queryoch landing.param Liknar sidan, men för landningssidan.

För att landningssidans URL ska fungera som förväntat anger du context > browser > host.

mbox.name Den aktiva mbox-namnet.
mbox.param('<par_name>') En mbox-parameter med det angivna namnet i den aktiva mbox.
profile.get('<par_name>') Den klientskapade användarprofilsparametern med namnet <par_name>. Om användaren till exempel anger en profilparameter med namnet "kön" kan värdet extraheras med "profile.kön". Returnerar värdet för "profile.<par_name>" för den nuvarande besökaren, returnerar null om inget värde har angetts. Observera att profile.get(<par_name>) är kvalificerat som ett funktionsanrop.
user.get('<par_name>') Returnerar värdet för "user.<par_name>" för den nuvarande besökaren, returnerar null om inget värde har angetts.
user.categoryAffinity Returnerar namnet på den bästa kategorin.
user.categoryAffinities Returnerar en array med de bästa kategorierna.
user.isFirstSession Returnerar true om det är besökarens första session.
user.browser Returnerar user-agent i HTTP-huvudet. Du kan till exempel skapa ett uttrycksmål som enbart riktar sig till Safari-användare: if (user.browser != null && user.browser.indexOf('Safari') != -1) { return true; }

Vanliga operatorer

Alla vanliga JavaScript-operatorer finns och kan användas. JavaScript-operatorer kan användas på strängar och tal (och andra datatyper). En kort genomgång:

Operator Beskrivning
== Anger likhet. Innehåller true när operanderna på båda sidor är lika.
!= Anger olikhet. Innehåller true när operanderna på båda sidor inte är lika.
< Anger att variabeln till vänster är mindre än variabeln till höger. Utvärderar till false om variablerna är lika.
> Anger att variabeln till vänster är större än variabeln till höger. Utvärderar till false om variablerna är lika.
<= Samma som < förutom om variablerna är lika utvärderas de till true.
>= Samma som > förutom om variablerna är lika utvärderas de till true.
&& Logiskt "AND"-uttryck till vänster och höger om det - är bara true när båda sidorna är sanna (annars false).
`
// Kontrollerar om källan innehåller alla element från booleska målvärden (Array source, Array target).
// extraherar delsträngen från målet (motsvarande regexp) och avkodar den Array/*String*/ decode(String encoding, String regexp, String target).
Funktionen stöder också användning av konstanta strängvärden, gruppering (`condition1

Utbildningsvideo: Profilskript Självstudiemärke

Den här videon innehåller information om hur du använder och skapar profilskript.

  • Förklara vad ett profilskript är
  • Förklara hur ett profilskript skiljer sig från en profilparameter
  • Skapa ett enkelt profilskript
  • Använd menyn Tillgänglig token för att komma åt tillgängliga alternativ
  • Aktivera och inaktivera profilskript

På denna sida