Show Menu
ARGOMENTI×

Unione dei dati evento

Questa funzione è ancora in fase di sviluppo. Non tutte le soluzioni saranno in grado di unire i dati dell'evento come descritto in questa pagina.
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("sendEvent", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    }
  }
  "eventMergeId": "ABC123"
});

// Time passes and more data becomes available

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

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

Generazione di un eventMergeID

Il eventMergeID valore può essere una qualsiasi stringa selezionata, ma ricordate che tutti gli eventi inviati utilizzando lo stesso ID vengono segnalati come un singolo evento, quindi prestate attenzione a imporre l'univocità quando gli eventi non devono essere uniti. Se desideri che l’SDK generi un’univocità eventMergeID per tuo conto (in base alla specifica rfc4122.txt UUID v4 ampiamente adottata), puoi usare 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 sarà risolta con un unico eventMergeID il prima possibile. È possibile attendere la risoluzione della promessa prima di inviare dati al server come segue:
var eventMergeIdPromise = alloy("createEventMergeId");

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

// Time passes and more data becomes available

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

Seguire lo stesso pattern se si desidera accedere al modulo eventMergeID per altri motivi (ad esempio, per inviarlo a un provider di terze parti):
var eventMergeIdPromise = alloy("createEventMergeId");

eventMergeIdPromise.then(function(results) {
  // send event merge ID to a third-party provider
  console.log(results.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("sendEvent", {
  "xdm": {
    "commerce": {
      "order": {
        "purchaseID": "a8g784hjq1mnp3",
        "purchaseOrderNumber": "VAU3123",
        "currencyCode": "USD",
        "priceTotal": 999.98
      }
    },
    "eventMergeId": "ABC123"
  }
});