Expand my Community achievements bar.

Applications for the 2024 Adobe Target Community Mentorship Program are open! Click to the right to learn more about participating as either an Aspirant, to professionally level up with a new Certification, or as a Mentor, to share your Adobe Target expertise and inspire through your leadership! Submit your application today.
SOLVED

Troubles using mbox3rdPartyId feature in Target Classic

Avatar

Level 1

I recently tried using Target Classic's mbox3rdPartyId feature without success. I'm hoping someone might be able to tell me why it did not work for me.

  1. I created a new offer that started capturing a new unique ids off logged in users on my website.
    <script> $(window).load(function(){ $("#footer").before("<div id='thirdpartyid'></div>"); }); setTimeout(function(){ var visitorId = getCookieByName("uniqueId"); var customerNameCookie = getCookieByName( 'VisitorUsaFullName' ); if(customerNameCookie == '' || customerNameCookie == null ){ //do nothing because user is not recognized }else{ mboxDefine('thirdpartyid','thirdPartyId','mbox3rdPartyId=' + visitorId); mboxUpdate('thirdPartyId', 'mbox3rdPartyId=' + visitorId); } }, 2000) </script>
  2. I created a CSV file with some profile parameters for my own profile and then did a batch upload using Terminal.

    curl -X POST --data-binary @bulkprofile.txt http://xxxxxxx.tt.omtrdc.net/m2/xxxxxx/v2/profile/batchUpdate <response><success>true</success><batchStatus>http://mboxedge20.tt.omtrdc.net/m2/xxxxxx/profile/batchStatus?batchId=xxxxxx-1466191155149-81478358</batchStatus><message>Batch submitted for processing</message></response>
  3. I then checked the updated profile using terminal to make sure the profile was updated (which it appeared to be).

    curl -k http://adobesummit2015.tt.omtrdc.net/rest/v1/profiles/thirdPartyId/xxxxxx?client=xxxxxx {"client":"xxxxxx","visitorId":"xxxxxx","modifiedAt":"2016-06-10T15:19:15.176-04:00","profileAttributes":{"user.testFrequency":{"value":"2.0","modifiedAt":"2016-06-10T15:56:09.334-04:00"},"user.pageViewFrequency":{"value":"1.0","modifiedAt":"2016-06-09T15:56:09.334-04:00"},"valuedCustomer":{"value":"true","modifiedAt":"2016-06-107T15:19:15.176-04:00"},"user.loginFrequency":{"value":"2.0","modifiedAt":"2016-06-10T15:56:09.328-04:00"}}}
  4. I then got myself placed into a test with the offer listed in step 1 to merge my third party ID with my pcID.
  5. I then tried to place myself into a new offer by defining a new customer segment (user.testFrequency > 0) that was using one of the new profile parameter values. I did not get placed into the test.

If anyone could provide any insight as to why this did not work it would be greatly appreciated.

Thank You

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

Hi Paul,

A couple of follow up questions.

  1. When moving from #4 to #5 are these tests using different mboxes?
  2. Are there any other tests running on the mbox used in #5?
  3. You mentioned that you used "user.testFrequency" as the condition in #5. "User." variables are typically set by profile scripts in the Target interface rather than offline uploads like you describe in #2. Offline variables should be prefixed as "profile.". They'll show up in the profile view API without the "profile." prefix and you should just see the name. It looks to me like "valuedCustomer" is the variable that is set by your offline upload.

Please confirm there are no conflicting campaigns and that you are referring to the proper offline variable.

View solution in original post

4 Replies

Avatar

Level 10

Hi ,

We are looking into your query and will get back to you with the solution ASAP.

Thanks & Regards

Parit Mittal

Avatar

Correct answer by
Employee Advisor

Hi Paul,

A couple of follow up questions.

  1. When moving from #4 to #5 are these tests using different mboxes?
  2. Are there any other tests running on the mbox used in #5?
  3. You mentioned that you used "user.testFrequency" as the condition in #5. "User." variables are typically set by profile scripts in the Target interface rather than offline uploads like you describe in #2. Offline variables should be prefixed as "profile.". They'll show up in the profile view API without the "profile." prefix and you should just see the name. It looks to me like "valuedCustomer" is the variable that is set by your offline upload.

Please confirm there are no conflicting campaigns and that you are referring to the proper offline variable.

Avatar

Level 1

I had the merging offer and the offer I was trying to display on the same mbox. I also changed "user." to "profile.". This seems to have solved my issues. Thank You!

Avatar

Level 1

Hi Paul,

There is another way to achieve this, which is how i have achieved it. I am passing the Login username ( user credentails) as the mboxThirdPartyId in a REST Call to the target API. The call looks something like 

var target_thirdPartyId = thirdPartyID; // user login ID 
        
                //AJAX call for fetching the values -- to check if the code is null ---
                var externalURL = "http://accentureplc.tt.omtrdc.net/rest/v1/profiles/thirdPartyId/"+ target_thirdPartyId;
            externalURL = externalURL + "?client=accentureplc";

            $.ajax({
            async: false,
            url: externalURL,
            type: 'GET',
            dataType: "json",
            success: function(data){
                

             console.log("success" + JSONdataObject);
            },
             error: function() {
                                console.log("failed")

                            }
            });

 

Similarly you can make a POST AJAX call to save data based on the mbox3rdPartyID . This method is faster ( reflects the data ) then the targetPathParams() method call. 

I hope this helps.

Regards,

Samiksha