Show Menu
ARGOMENTI×

(Beta) Unione dei dati evento

L’SDK Web per Adobe Experience Platform è attualmente in versione beta e non è disponibile per tutti gli utenti. La documentazione e la funzionalità sono soggette a modifiche.
A volte, non tutti i dati sono disponibili quando si verifica un evento. Potrebbe essere utile acquisire i dati disponibili , in modo che non vadano perduti se, ad esempio, l'utente chiude il browser. D'altro canto, è possibile includere anche qualsiasi dato che diventerà disponibile in un secondo momento.
In questi casi, è possibile unire i dati con gli eventi precedenti passando eventMergeId come opzione ai event comandi come segue:
alloy("event", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    }
  }
  "eventMergeId": "ABC123"
});

// Time passes and more data becomes available

alloy("event", {
  "xdm": {
    "commerce": {
      "order": {
        "payments": [
          {
            "transactionID": "TR426941",
            "paymentAmount": 999.98,
            "paymentType": "credit_card",
            "currencyCode": "USD"
          }
        ]
      }
    }
  }
  "eventMergeId": "ABC123"
});

Trasmettendo lo stesso valore ID unione evento a entrambi i comandi evento in questo esempio, i dati nel secondo comando evento vengono incrementati ai dati precedentemente inviati sul primo comando evento. Un record per ciascun comando di evento viene creato nella piattaforma dati esperienza, ma durante il reporting i record vengono uniti utilizzando l'ID unione evento e visualizzati come un singolo evento.
Se inviate dati su un particolare evento a fornitori terzi, potete includere anche lo stesso ID unione evento con tali dati. Successivamente, se scegli di importare dati di terze parti in Adobe Experience Platform, l'ID unione eventi verrà utilizzato per unire tutti i dati raccolti come risultato dell'evento discreto che si è verificato sulla tua pagina Web.

Generazione di un ID unione eventi

Il valore ID unione evento può essere una qualsiasi stringa scelta, ma ricordate che tutti gli eventi inviati utilizzando lo stesso ID sono segnalati come un singolo evento, quindi prestate attenzione a imporre l'univocità quando gli eventi non devono essere uniti. Se desiderate che l’SDK generi un ID unione evento univoco per vostro conto (in base alla specifica UUID v4 più diffusa), potete utilizzare il createEventMergeId comando per farlo.
Come per tutti i comandi, viene restituita una promessa perché è possibile eseguire il comando prima che l’SDK abbia terminato il caricamento. La promessa verrà risolta il prima possibile con un ID unione evento univoco. È possibile attendere la risoluzione della promessa prima di inviare dati al server come segue:
var eventMergeIdPromise = alloy("createEventMergeId");

eventMergeIdPromise.then(function(eventMergeId) {
  alloy("event", {
    "xdm": {
      "commerce": {
        "order": {
          "purchaseID": "a8g784hjq1mnp3",
          "purchaseOrderNumber": "VAU3123",
          "currencyCode": "USD",
          "priceTotal": 999.98
        }
      }
    }
    "mergeId": eventMergeId
  });
});

// Time passes and more data becomes available

eventMergeIdPromise.then(function(eventMergeId) {
  alloy("event", {
    "xdm": {
      "commerce": {
        "order": {
          "payments": [
            {
              "transactionID": "TR426941",
              "paymentAmount": 999.98,
              "paymentType": "credit_card",
              "currencyCode": "USD"
            }
          ]
        }
      }
    }
    "mergeId": eventMergeId
  });
});

Seguite lo stesso pattern se desiderate accedere all'ID unione eventi per altri motivi (ad esempio, per inviarlo a un provider di terze parti):
var eventMergeIdPromise = alloy("createEventMergeId");

eventMergeIdPromise.then(function(eventMergeId) {
  // send event merge ID to a third-party provider
  console.log(eventMergeId);
});

Nota sul formato XDM

All'interno del comando dell'evento, l'evento mergeId viene effettivamente aggiunto al xdm payload. Se lo desiderate, mergeId possono essere inviati come parte dell'opzione xdm, come segue:
alloy("event", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    },
    "eventMergeId": "ABC123"
  }
});