Expand my Community achievements bar.

Help shape the future of AI assistance by participating in this quick card sorting activity. Your input will help create a more effective system that better serves your needs and those of your colleagues.

alloy setConsent, consent policies, [Adobe Experience Platform / GTM => Tags]

Avatar

Level 2

We are migrating from GTM to Adobe Tags and one of the things we are having trouble with is when sending the setConsent through alloy. We send both the consents and the identityMap with the user's values, ECID, userID, Email Hash. In the events we see that everything is sent correctly and there are no errors. When we look at the profile we see that all the data from the sent consent is associated with the respective ECID and this is mapped within the idSpecific but these are not reflected in the general object. The call we make to set the setConsent is as follows:

alloy("setConsent", {
  consent: [{
    standard: "Adobe",
    version: "2.0",
    value: {
      collect: {
        val: "y"
      },
      personalize: {
        content: {
          val: customization ? "y" : "n"
        }
      },
      marketing: {
        any: {
          val: advertising ? "y" : "n"
        },
        preferred: "none"
      },
      metadata: {
        time: collectedAt
      }
    }
  }],
  identityMap: {
    "userId": [{
      "id": user_id,
      "authenticatedState": "authenticated",
      "primary": true
    }],
    "Email_LC_SHA256": [{
      "id": user_email,
      "authenticatedState": "authenticated",
      "primary": false
    }],
    "ECID": [{
      "id": id,
      "authenticatedState": "ambiguous",
      "primary": false
    }
    ]
  }
});

If we were not going to need this data we would not care about this operation, but we need to establish a consent policy that collects the consent of collect with the value Y.

Richardo_GabrielCi_1-1718362067884.png

Ideally, the last incoming ECID would establish the general values of the consent in the main object, which does not happen, but in case that it cannot be done, within consent policies we would like to recover some way for each ECID the value of collect.val.y (to give an example), but as the ECID is in between we don't know if there is a way to indicate which one in the following way or something similar:

 

Richardo_GabrielCi_3-1718362170566.png

 

We appreciate any help you can give.

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

2 Replies

Avatar

Level 3

I've faced the similar situation and what I've understood is that, when using  Adobe Standard 1.0/2.0, for the setConsent() , it would by default set it to idSpecific Map, with the particular ECID and any changes made to the function will be ignored, apart from the standard OOTB fieldGroup, as well. Which means, you cannot pass values to any custom fields, as well.

In order to work around this, we need to use Custom Code and custom data elements to set the consent at both idSpecific and the generic object, as well.  The documentation here , is to set the consent complying with IAB framework, and we could use the same functionality/custom logic to achieve the usecase. Hope this helps.

Avatar

Level 2

Hi!

Since we needed the Adobe 2.0 protocol, for now, we have done a workaround which is to use Event Forwarding. From Tags we send an event with the identityMap and the consents, we capture the event with Event Forwarding and we apply these changes against the profile, which can be done in real time in this way.

 

We have a ticket open with Adobe to see if this could be done in a cleaner and more direct way. Any changes I will post here.

 

Thanks for the help.