2

I am working on the integration between Audience Manager and SmartTarget and have run into an issue that I am sure would have been experienced before, however I can't find any documentation around it...

When my contact is logged in, the Audience manager cartridge is adding all the expected claims to the ADF, and these are then being passed over to SmartTarget as triggers. The triggers for keywords and AM segments are frustrating...

For example: am_segments=tcm%3A24-1-198656&am_keywords=tcm%3A24-20157-1024

So the tcm id of the keyword or segment is being passed, and not the value, so my business user would need to know the tcm id of the specific segment.

My research led me to the trigger-types_en_US.txt to localize the display values of the keywords, but it ignores my entries when the value has tcm id in it!

For example - this works:

trigger-type.kco_a_b.value.A=Group A    
trigger-type.kco_a_b.value.B=Group B    
trigger-type.kco_a_b=A-B Testing trigger

But this doesn't:

trigger-type.am_segments.value.tcm:24-1-198656=Westsiders
trigger-type.am_segments.value.tcm:24-2-198656=Segment 2
trigger-type.am_segments=AM - Contact - Segments

We are using SDL Tridion 2013 SP1 with SmartTarget 2014 SP1

Any ideas as to how this can be set up so I can shield the business users from knowing / looking up tcm ids would be greatly appreciated.

1

The Segments trigger is automatically updated as part of the Audience Manager synchronization process. So you don't have to do anything for that, except ensure that SmartTarget (CD) is also installed on the website that Audience Manager is synchronizing the Contacts to.

As for the Keywords, you should make sure it is configured as a Keywords trigger within the SmartTarget Model configuration. It should be by default, but perhaps it's been removed. See Configuring Keyword Triggers. This will change the editing of the trigger within SmartTarget to be a Keyword select control -- allowing the user to browse the Categories and select the appropriate Keyword. It will use the TCM URIs under the hood, but the user will see what they are used to.

If there are others triggers that you'd like to localize (provide a title for a value that the user will see), I would suggest using the LocalizationHelper class from SmartTarget (in the utils package) to create them and keep them in sync. It takes care of all of the multiple web service calls and special formatting needed. There is indeed some trickiness to it, so I'd just let SmartTarget handle it for you.

  • Peter, many thanks for the answer. I have successfully added the Keyword configuration in the model.config, and that is working nicely! I still don't fully understand the 'automatic' nature of the segments being added to trigger-types... I am not seeing that working in our environment. I will dig into it some more though, as my sync process is working, the segments are being added to the ST query, I am just not seeing it when I go to pick my triggers on the CM side. – Daniel May 19 '15 at 11:41
  • Maybe all of the Segments were created before your synchronization was configured? Try changing one of the Segments to force the synchronization to happen again. If it still doesn't work, check your AM logs on the CD side -- it will log an INFO message if it cannot load the SmartTarget JAR file. – Peter Kjaer May 19 '15 at 12:38
  • That's basically the flow, by the way: if Segments are being synchronized, try to load the SmartTarget Core API (using reflection in case it's not installed) and call a method that then updates the trigger in SmartTarget with the full list of Segments. – Peter Kjaer May 19 '15 at 12:40
  • Peter, thanks for following up, when you say the CD side for AM do you mean the web app that does the sync, or the web app that supports my website? In our case they are separate, so I am guessing I need to add the ST jars/config to the site that supports the sync! – Daniel May 19 '15 at 13:17
  • I am indeed talking about the web app that does the sync (i.e. hosts ProfileSync.aspx/ProfileSync.jsp). SmartTarget needs to be available in the class path of that application for the trigger update to work. – Peter Kjaer May 19 '15 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.