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:
Klicka på Audiences > Profile Scripts.
Klicka på Create Script.
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. |
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.
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.
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.
Klicka View full details för att se målgrupper och aktiviteter som refererar till det valda profilskriptet.
The Script Usage Fliken visar inte aktiviteter som refererar till det valda profilskriptet i följande 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:
Vid hovring visas information om felet, enligt bilden nedan:
Vanliga orsaker till att systemet inaktiverar profilskript är:
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:
Mer information finns i dokumentationen för JS Rhino-motorn.
Följande metoder kan användas för att felsöka profilskript:
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:
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.
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.
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.).
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 orderThankyouPage
returneras 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.
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.query och landing.param |
Liknar sidan, men för landningssidan. För att landningssidans URL ska fungera som förväntat anger du |
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; } |
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 |
Den här videon innehåller information om hur du använder och skapar profilskript.