Creazione dello script

La scelta del contenuto di distribuzione destinato alla popolazione rimanente viene calcolata da uno script. Questo script recupera le informazioni relative alla distribuzione con la frequenza più elevata di aperture e copia il contenuto nella distribuzione finale.

Esempio di script

Lo script seguente può essere utilizzato come nel flusso di lavoro di targeting. Per ulteriori informazioni, vedere Implementazione.

 // query the database to find the winner (best open rate)
   var winner = xtk.queryDef.create(
     <queryDef schema="nms:delivery" operation="get">
       <select>
         <node expr="@id"/>
         <node expr="@label"/>
         <node expr="[@operation-id]"/>
         <node expr="[@workflow-id]"/>
       </select>
       <where>
         <condition expr={"@FCP=0 and [@workflow-id]= " + instance.id}/>
       </where>
       <orderBy>
         <node expr="[indicators/@estimatedRecipientOpenRatio]" sortDesc="true"/>
       </orderBy>
     </queryDef>).ExecuteQuery()
   
   // create a new delivery object and initialize it by doing a copy of
   // the winner delivery
   var delivery = nms.delivery.create()
   delivery.Duplicate("nms:delivery|" + winner.@id)

   // append 'final' to the delivery label
   delivery.label = winner.@label + " final"

   // link the delivery to the operation to make sure it will be displayed in
   // the campaign dashboard. This attribute needs to be set manually here since 
   // the Duplicate() method has reset it to its default value => 0
   delivery.operation_id = winner.@["operation-id"]
   delivery.workflow_id = winner.@["workflow-id"]

   // adjust some delivery parameters to make it compatible with the 
   // "Prepare and start" option selected in the Delivery tab of this activity
   delivery.scheduling.validationMode = "manual"
   delivery.scheduling.delayed = 0
 
   // save the delivery in database
   delivery.save()
 
   // store the new delivery Id in event variables
   vars.deliveryId = delivery.id

Per una spiegazione dettagliata dello script, fare riferimento a Dettagli dello script.

Implementazione

  1. Aprite l'attività JavaScript code.

  2. Copiare lo script offerto in Esempio di script nella finestra JavaScript code.

  3. Nel campo Label, immettere il nome dello script, ovvero

    <%= vars.deliveryId %>
    

  4. Chiudere l'attività JavaScript code.

  5. Salva il flusso di lavoro.

Dettagli dello script

In questa sezione vengono descritte le varie parti dello script e la relativa modalità operativa.

  • La prima parte dello script è una query. Il comando queryDef consente di recuperare dalla tabella NmsDelivery le consegne create mediante l'esecuzione del flusso di lavoro di targeting e di ordinarle in base al tasso stimato di aperture, quindi le informazioni dalla consegna con il tasso più alto di aperture vengono recuperate.

    // query the database to find the winner (best open rate)
       var winner = xtk.queryDef.create(
         <queryDef schema="nms:delivery" operation="get">
           <select>
             <node expr="@id"/>
             <node expr="@label"/>
             <node expr="[@operation-id]"/>
           </select>
           <where>
             <condition expr={"@FCP=0 and [@workflow-id]= " + instance.id}/>
           </where>
           <orderBy>
             <node expr="[indicators/@estimatedRecipientOpenRatio]" sortDesc="true"/>
           </orderBy>
         </queryDef>).ExecuteQuery()
    
  • La distribuzione con la frequenza più elevata di aperture viene duplicata.

     // create a new delivery object and initialize it by doing a copy of
     // the winner delivery
    var delivery = nms.delivery.create()
    delivery.Duplicate("nms:delivery|" + winner.@id)
    
  • L'etichetta della consegna duplicata viene modificata e vi viene aggiunta la parola final.

    // append 'final' to the delivery label
    delivery.label = winner.@label + " final"
    
  • La distribuzione viene copiata nel dashboard della campagna.

    // link the delivery to the operation to make sure it will be displayed in
    // the campaign dashboard. This attribute needs to be set manually here since 
    // the Duplicate() method has reset it to its default value => 0
    delivery.operation_id = winner.@["operation-id"]
    delivery.workflow_id = winner.@["workflow-id"]
    
    // adjust some delivery parameters to make it compatible with the 
    // "Prepare and start" option selected in the Delivery tab of this activity
    delivery.scheduling.validationMode = "manual"
    delivery.scheduling.delayed = 0
    
  • La consegna viene salvata nel database.

    // save the delivery in database
    delivery.save()
    
  • L’identificatore univoco della consegna duplicata viene memorizzato nella variabile del flusso di lavoro.

    // store the new delivery Id in event variables
    vars.deliveryId = delivery.id
    

Altri criteri di selezione

L'esempio precedente consente di selezionare il contenuto di una consegna in base al tasso di apertura delle e-mail. Puoi adattarlo in base ad altri indicatori specifici per la consegna:

  • Velocità effettiva clic ottimale: [indicators/@recipientClickRatio],
  • Velocità di reattività più elevata (apertura e clic dell’e-mail nel messaggio): [indicators/@reactivity],
  • Tasso di reclamo più basso: [indicators/@refusedRatio] (utilizzate il valore false per l'attributo sortDesc),
  • Tasso di conversione più elevato: [indicators/@transactionRatio],
  • Numero di pagine visitate dopo la ricezione di un messaggio: [indicators/@totalWebPage],
  • Tasso di annullamento sottoscrizione inferiore: [indicators/@optOutRatio],
  • Importo transazione: [indicators/@amount].

È ora possibile definire la consegna finale (vedere Passaggio 6: Definire la consegna finale).

In questa pagina

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now