We load Adobe Target using Adobe Launch, which we have configured to load synchronously. Currently, my setup for Adobe Target looks like this:
You can see that we:
- reach out to a Demandbase API
- load target
- add the parameters to the mbox
- fire the mbox
- and then send information about the target campaign to the dataLayer.
My intent is to pass a value for user.categoryId. The trouble is, the meta tag on the page that holds that value loads after my Launch container does. Here is an excerpt to illustrate:
<meta name="CMS.Content.BU" content="Value" />
So when the Target library is loaded and the mbox parameters are passed, the meta[name="CMS.Content.BU] isn't ready to pass at that time.
I'd like to pass it in a rule that relies on the "Page Bottom" event. See below for my rule setup.
When I test using the "Adobe Experience Platform Debugger", I can see the rule fire but I don't see the second call to Adobe Target with the additional information.
Instead of relying on the built-in actions in the Adobe Target library, I tested another action, this time a custom code action. See below for the custom code.
"user.categoryId": _satellite.getVar('Meta - CMS.Content.BU')
This does work, I see both the initial Target load and mbox parameters as well as a second mbox request including the user.categoryId parameter. I do get the following warning, which leads me to believe that I'm not doing this in the best way possible.
"_satellite._container may change at any time and should only be used for debugging."
What is the best method for me to provide profile parameters to the mbox using Adobe Launch when those parameters aren't ready at the "Page Top" event.