Migrate ECID mapping from Person dataset to Activity dataset

You can migrate your ECID mapping from your Marketo Engage Person dataset to your Activity dataset to provide a more stable behavior of data ingestion and identity management. Additionally, this migration addresses the following:

Problem
Solution
When your Marketo Person dataset has links to multiple ECIDs, data ingestion fails when the total number of identities in an Experience Data Model (XDM) record exceeds 20.
By migrating the ECID field mapping to Activity, you can ensure that the number of identities from the Marketo Person dataflow stays within the limit and thus allow for data ingestion to succeed.
Every time the Marketo Person dataset is ingested with ECIDs, the timestamp on all of the ECIDs from the Marketo Person dataset are updated with the last updated timestamp of the Person record. This could result in the incorrect deletion of more recent identities from the identity graph.
By migrating the ECID field mappings to Activity, Identity Service can correctly reflect the timestamp of ECID’s and the “first-in, first-out” mechanism of Identity Service will provide a more stable behavior.
When ECIDs are ingested through Marketo Person dataflow, newly added ECIDs do not get ingested into Experience Platform unless there are updates to the Person record in Marketo.
When a new ECID is linked to the Person record in Marketo, you can ingest that ECID data through a Marketo Activity dataflow and immediately prompt an identity graph update on Experience Platform.

Essentially, you must:

  • Update your Marketo Activity dataflow.
  • Update your Marketo Person dataflow.

Update Marketo Activity dataflow update-activity-dataflow

Follow the steps below to update your Marketo Activity dataflow:

  • In the Experience Platform UI, navigate to the Sources workspace and find your existing dataflow for Marketo Activity data.
  • Given that the dataflow is enabled, select the ellipses (...) beside the dataflow name and then select Update dataflow.
  • Then, select Next until you reach the Mapping interface.
  • In the Mapping interface, select New field and then select Add calculated field. From here, you must add the following:
Source dataset
XDM target field
iif(${web\.ecid} != null, to_object('ECID', arrays_to_objects('id', explode(last(split(${web\.ecid}, ":")), " "))), null)
identityMap
NOTE
If your update to an existing Marketo dataflow consists of only adding or removing the ECID mapping field, then the dataflow automatically skips the historical backfill job. New data ingestion will only occur when activity types such as “visit webpage” and “click webpage” happens.

Update Marketo Person dataflow update-person-dataflow

Follow the steps below to update your Marketo Person dataflow:

  • In the Experience Platform UI, navigate to the Sources workspace and find your existing dataflow for Marketo Person data.
  • Given that the dataflow is enabled, select the ellipses (...) beside the dataflow name and then select Update dataflow.
  • Then, select Next until you reach the Mapping interface.
  • In the Mapping interface, remove the calculated field that maps to identityMap and then select Next and Save & Ingest.
NOTE
If your update to an existing Marketo dataflow consists of only adding or removing the ECID mapping field, then the dataflow automatically skips the historical backfill job. The timestamp of ECIDs that have been previously ingested will remain the same. They will only be updated when new data that corresponds to the existing ECIDs are ingested.

Next steps

By reading this document, you now know how to migrate your ECID mapping from your Marketo Person dataset to Marketo Activity dataset. For more information, read the following Marketo documents:

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089