4 Replies Latest reply on Jun 24, 2016 8:51 AM by paul_anderson

    Troubles using mbox3rdPartyId feature in Target Classic

    paul_anderson

      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. Re: Troubles using mbox3rdPartyId feature in Target Classic
          ParitMittal Level 5

          Hi ,

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

          Thanks & Regards

          Parit Mittal

          • 2. Re: Troubles using mbox3rdPartyId feature in Target Classic
            ryanr8 Adobe Employee

            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.

            • 3. Re: Troubles using mbox3rdPartyId feature in Target Classic
              paul_anderson 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!

              • 4. Re: Troubles using mbox3rdPartyId feature in Target Classic
                samiksha_anvekar

                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