Why do I have two OV attribute values when it should be only one based on the fallback strategery of LUD?

Question

We are seeing multiple OV true values for some of the Multichannel communication consent attributes - consent value & consent source

The OV true value needs to be set based on the Last Updated Date which is not happening.

 

mceclip0.png

 

mceclip2.png

 

 

Answer

  • In the L3 configuration, the following for the survivorship of ChannelConsent is defined as:
{
                          "attribute": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/ChannelConsent",
                          "primaryAttributeUri": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/StartDate",
                          "survivorshipStrategy": "OtherAttributeWinnerCrosswalk"
                      },
  • The entity 01GJsUD has a single Start date (which is used as the primary attribute).

 

 "StartDate": [
                      {
                          "type": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/StartDate",
                          "ov": true,
                          "value": "2019-12-13",
                          "uri": "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/StartDate/1yh96shXJ"
                      }
                  ],

StartDate is contributed by

 

   {
      "uri": "entities/01GJsUd/crosswalks/1yh96rX4v",
      "type": "configuration/sources/PetcoEcom",
      "sourceTable": "PetcoEcom_Mobile_Individual",
      "value": "16553148885376918",
      "reltioLoadDate": "2022-06-15T17:41:28.603Z",
      "createDate": "2022-06-15T17:41:28.537Z",
      "updateDate": "2022-06-15T17:41:28.537Z",
      "attributes": [
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelValue/1yh96sZ0n",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ExpirationDate/1yh96slnZ",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/StartDate/1yh96shXJ",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/CommunicationConsentSource/1yh96sq3p",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelType/1yh96suK5",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/1yh96sdH3",
        "entities/01GJsUd/attributes/MasterID/1yh96sQUH",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/CommunicationType/1yh96syaL",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX"
      ],
      "singleAttributeUpdateDates": {}
    }

   

    AND

    {
      "uri": "entities/01GJsUd/crosswalks/36mjT7IWk",
      "type": "configuration/sources/PetcoEcom",
      "sourceTable": "PetcoEcom_Individual",
      "value": "16553149419339578",
      "reltioLoadDate": "2022-06-15T17:42:21.999Z",
      "createDate": "2022-06-15T17:42:21.933Z",
      "updateDate": "2022-06-15T17:42:21.933Z",
      "attributes": [
        "entities/01GJsUd/attributes/MasterID/36mjTBYmk",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelValue/1yh96sZ0n",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ExpirationDate/1yh96slnZ",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/36mjTB9DC",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/CommunicationConsentSource/36mjTBLzy",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/StartDate/1yh96shXJ",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelType/1yh96suK5",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/CommunicationType/1yh96syaL",
        "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX"
      ],
      "singleAttributeUpdateDates": {}
    }

   ChannelConsent attribute values

 

      "ChannelConsent": [
        {
          "type": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/ChannelConsent",
          "ov": true,
          "value": "N",
          "lookupCode": "N",
          "lookupValue": "N",
          "uri": "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/36mjTB9DC"
        },
        {
          "type": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/ChannelConsent",
          "ov": true,
          "value": "Y",
          "lookupCode": "Y",
          "lookupValue": "Y",
          "uri": "entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/1yh96sdH3"
        }
      ]

 

The comparison attribute for StartDate is the consent value.  However, it is contributed by a single source. 

 

  "type": "configuration/sources/PetcoEcom",
"sourceTable": "PetcoEcom_Mobile_Individual",

 

AND

 

      "type": "configuration/sources/PetcoEcom",
    "sourceTable": "PetcoEcom_Individual",    

 

As a result, the fallback strategy of StartDate will not engage because the fallback strategy criteria is defined as "MORE_THAN_ONE". 

 

{
                          "attribute": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/StartDate",
                          "comparisonAttributeUri": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/ChannelValue",
                          "fallbackStrategies": [
                              {
                                  "attribute": "configuration/entityTypes/Individual/attributes/MultiChannelCommunicationConsent/attributes/StartDate",
                                  "survivorshipStrategy": "LUD"
                              }
                          ],
                          "fallbackUsingCriteria": "MORE_THAN_ONE",
                          "survivorshipStrategy": "MaxValue"
                      },

 

 

Since there is only 1 value for this attribute OV, only MaxValue is considered and the source of this attribute OV value is

 

  "type": "configuration/sources/PetcoEcom",
  "sourceTable": "PetcoEcom_Mobile_Individual",
  "value": "16553148885376918"

 

  AND

 

        "type": "configuration/sources/PetcoEcom",
      "sourceTable": "PetcoEcom_Individual",
      "value": "16553149419339578",

 

NOTE: MORE_THAN_ONE- If the main strategy returns 2 or more winner values, the specified fallback strategy will use ONLY winner values and ONLY winner crosswalks from the PREVIOUS step.

 

Therefore the ChannelConsent OV values are picked from both sources with URIs ("configuration/sources/PetcoEcom")

"entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/1yh96sdH3" and

"entities/01GJsUd/attributes/MultiChannelCommunicationConsent/1yh96sUkX/ChannelConsent/36mjTB9DC"

 

Based on the entity JSON and the current survivorship rules, having two values for the channel consent attribute is valid. In order to have one single OV value, you will need to define the fallback strategy on the channel consent attribute as LUD.

 

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.