David Son is a Senior Product Manager for Adobe Target where leads product strategy for mobile, APIs, and SDKs. He holds a B.A in Computer Science from the University of California, Berkeley and is based in San Francisco.
Curious about what an Adobe Target Community Q&A Coffee Break looks like? Be sure to check out our past 2020 Adobe Target Coffee Breaks, covering a WIDE variety of Adobe Target topics, and our latest thread from our 6/9/21 Adobe Target Coffee Break with @Moses Maxen
Topics help categorize Community content and increase your ability to discover relevant content.
Are there limits on how many Target Activities can send to Analytics? We ran into an issue where our Target Activities were live and displaying the customization but none of the reporting was tracking in Target or in Analytics. I saw the Limits Doc (https://experienceleague.adobe.com/docs/target/using/troubleshoot/target-limits.html) but wasn't able to see how many activities I have in Target. It only says "More than 100"
Hi Jamie, could you show me exactly where you are seeing the More than 100 limitation for activities? I am not seeing that anywhere on the page. But with that said, I am not aware of any limitations in terms of Target activities for A4T reporting.
When could we potentially see the opportunity to use other statistical methods relating to hypothesis testing in Adobe Target?
Hi, we don't have any plans to add other statistical methods. Do you have any other ones you would like for us to consider?
Hello! Good morning, good afternoon, and good evening. Excited for the coffee break this hour and the conversations we will have. Feel free to add questions / comments to kick things off!
Hi @DavidSonPM, this question was posted in the community by @rrrrrraul
Is there a way to enable/disable on-device decisionings in the Java server side SDK?
Yes, there are a couple of ways you can turn on / off on-device decisioning for the Java SDK
1. When you initialize the Java SDK you can set the default decisioningMethod variable for all decisions. You can set it to ON_DEVICE or HYBRID. Setting it to ON_DEVICE will have all requests execute on-device while HYBRID will ask the SDK to make the decision for you whether it may be server-side or on-device depending on the activity that is created.
2. You can override at the getOffers() method to choose which decisioningMethod you want to use request by request.
Hi David! I have two questions about Adobe Target on Mobile App:
1. If the app is in hybrid-mode, like half native and half web, will this be a challenge for Adobe Target to work smoothly on app?
2. Could you please recommend some client success stories or use cases of Target on mobile apps? We want to prove the value and get buy-ins from the stakeholders to let us put Adobe Target on mobile apps.
Thank you so much in advance!
@doris_liu wrote:Hi David! I have two questions about Adobe Target on Mobile App:
1. If the app is in hybrid-mode, like half native and half web, will this be a challenge for Adobe Target to work smoothly on app?
2. Could you please recommend some client success stories or use cases of Target on mobile apps? We want to prove the value and get buy-ins from the stakeholders to let us put Adobe Target on mobile apps.
Thank you so much in advance!
1. Yes since we have a Mobile SDK for a native app and At.js for web. Another alternative would be to directly integrate with our delivery api which powers all of our SDKs - https://developers.adobetarget.com/api/delivery-api/
2. Yes, we do have customers using Target on mobile apps, but I won't be able to share them here. Please reach out to your customer success manager.
Hi @DavidSonPM, this question was posted in the community by @yaboytomc
Hi! We have set up an experiment on our server-side using Target Java SDK. We are returning an experience for users, however 2 things are happening:
Is there a data point that the reporting dashboard hooks up to specifically in a request/response?
We're only logging empty responses, no offer, (to control log volume), but here's an example request/response...please help and thanks! If there's anything here that might tell you that this data will not be sent to Adobe Target, please let me know and thanks!
CLIENT_ID: 000726153 IP_ADDRESS: 71.233.1.76 LOGGER_NAME: com.fmr.pwi.hades.api.common.service.AdobeTargetService LOG_LEVEL: WARN LOG_SESSION_ID: 602ea62b0ad213cf200010b7000eaa33 LOG_TRACKING_ID: REQ602eac9fd7d6c430859c264d592faa33 MESSAGE: Invalid Adobe Target response. Ensure the request and experiment are configured correctly. Request: TargetDeliveryRequest{sessionId='602ea62b0ad213cf200010b7000eaa33', locationHint='null', visitor=com.adobe.experiencecloud.ecid.visitor.Visitor@239ac86f, decisioningMethod=null, deliveryRequest=class DeliveryRequest { requestId: null impressionId: null id: class VisitorId { tntId: null thirdPartyId: (some unique id) marketingCloudVisitorId: null customerIds: [] } environmentId: null property: null trace: null context: class Context { channel: web mobilePlatform: null application: null screen: null window: null browser: class Browser { host: retiretxn.fidelity.com language: null webGLRenderer: null } address: class Address { url: https://retiretxn.fidelity.com/mybenefits/wellness/app/learn referringUrl: null } geo: null timeOffsetInMinutes: 330.0 userAgent: Fidelity/WI/LearnHub beacon: false } experienceCloud: class ExperienceCloud { audienceManager: null analytics: class AnalyticsRequest { supplementalDataId: 14DFDE42C4C38B32-29E83A95E4DBE708 logging: server_side trackingServer: null trackingServerSecure: null } } execute: class ExecuteRequest { pageLoad: null mboxes: [class MboxRequest { class RequestDetails { address: class Address { url: https://retiretxn.fidelity.com/mybenefits/wellness/app/learn referringUrl: null } parameters: {} profileParameters: {} order: null product: null } index: 0 name: learn-hub-mbox }] } prefetch: null notifications: [] qaMode: null }} Response: TargetDeliveryResponse{request=TargetDeliveryRequest{sessionId='602ea62b0ad213cf200010b7000eaa33', locationHint='null', visitor=com.adobe.experiencecloud.ecid.visitor.Visitor@239ac86f, decisioningMethod=null, deliveryRequest=class DeliveryRequest { requestId: null impressionId: null id: class VisitorId { tntId: null thirdPartyId: (some unique id) marketingCloudVisitorId: null customerIds: [] } environmentId: null property: null trace: null context: class Context { channel: web mobilePlatform: null application: null screen: null window: null browser: class Browser { host: retiretxn.fidelity.com language: null webGLRenderer: null } address: class Address { url: https://retiretxn.fidelity.com/mybenefits/wellness/app/learn referringUrl: null } geo: null timeOffsetInMinutes: 330.0 userAgent: Fidelity/WI/LearnHub beacon: false } experienceCloud: class ExperienceCloud { audienceManager: null analytics: class AnalyticsRequest { supplementalDataId: 14DFDE42C4C38B32-29E83A95E4DBE708 logging: server_side trackingServer: null trackingServerSecure: null } } execute: class ExecuteRequest { pageLoad: null mboxes: [class MboxRequest { class RequestDetails { address: class Address { url: https://retiretxn.fidelity.com/mybenefits/wellness/app/learn referringUrl: null } parameters: {} profileParameters: {} order: null product: null } index: 0 name: learn-hub-mbox }] } prefetch: null notifications: [] qaMode: null }}, response=class DeliveryResponse { status: 200 requestId: beaa26f8-f6ef-4cd9-ab34-29a1170df575 id: class VisitorId { tntId: 602ea62b0ad213cf200010b7000eaa33.34_0 thirdPartyId: (some unique id) marketingCloudVisitorId: null customerIds: [] } client: fidelitywi edgeHost: mboxedge34.tt.omtrdc.net execute: class ExecuteResponse { pageLoad: null mboxes: [class MboxResponse { index: 0 name: learn-hub-mbox options: [] metrics: [] analytics: null trace: {} }] } prefetch: null }, status=ResponseStatus{status=200, message='', globalMbox='null', remoteMboxes=null, remoteViews=null}} PART_ID: 3563 PART_MID: (some unique id) PART_WID: 518392 REALM: /mybenefits REQUEST_METHOD: GET THREAD_ID: tomcat-http--6 TIMESTAMP: 2021-02-18T13:06:23.689-05:00 URI: /wellness/api/help-hub USER_ID: 3563 USER_ROLE: SELF }
Views
Replies
Total Likes
Hi @DavidSonPM this question was posted in the community by @ambikaTewari_ATCI
Hi Team,
I have created an A/B activity on Mobile app and have a query regarding the experience delivery
If the app user sees experience A,they close the app and come back ,do they still see experience A or is it possible that target puts them in B?
Hi @DavidSonPM thank you so much for taking the time this morning to answer our questions!
I saw that on-device decisioning was released in at.js recently. Could you talk about the benefits of using on-device decisioning?
Views
Replies
Total Likes
@Amelia_Waliany wrote:Hi @DavidSonPM thank you so much for taking the time this morning to answer our questions!
I saw that on-device decisioning was released in at.js recently. Could you talk about the benefits of using on-device decisioning?
Yes, on-device decisioning is a new way of decisioning where we download a JSON file with all of your activities and cache it locally on the user's browser. At.js will use the JSON file to make a decision on which experience to show your end user - all on the browser which means that latency is reduced drastically. This ensures that your users are seeing snappy experiences which should help with your business KPIs like conversion, revenue, and retention.
We offer different decisioning methods in at.js now - on-device, server-side, and hybrid
1. For on-device the artifact will be downloaded on first visit and then a decision will be made.
2. For server-side the decision will come from Adobe Target's server every single time.
3. For hybrid, on first visit we use a server call to retrieve the experience but in parallel download the artifact to optimize for return visits. This is the recommended approach and is the most optimal after doing research from our side.
Views
Replies
Total Likes
Hi @DavidSonPM this question was posted in the community by @lmckechnie
I am new to Adobe Target and have been trying to follow the Above Target API documentation. On the surface this looks very straightforward, but I have been unsuccessful when trying to perform any requests from the postman collection on any of our existing activities. Although I get 200 response status, there is never any content.
It is not clear to me what should go in host, url and in mbox name. I have tried many combinations with what I think are the obvious answers to these, but obvious has resulted in an incorrect response.
I have chosen an activity which has a at_property in order to understand authentication, but it is quite clear where we put the token value. Another part of the problem is our activity uses the global mbox and the response for example from the https://*******.tt.omtrdc.net/rest/v1/delivery endpoint is
Views
Replies
Total Likes
@shelbygoff wrote:Hi @DavidSonPM this question was posted in the community by @lmckechnie
I am new to Adobe Target and have been trying to follow the Above Target API documentation. On the surface this looks very straightforward, but I have been unsuccessful when trying to perform any requests from the postman collection on any of our existing activities. Although I get 200 response status, there is never any content.
It is not clear to me what should go in host, url and in mbox name. I have tried many combinations with what I think are the obvious answers to these, but obvious has resulted in an incorrect response.
I have chosen an activity which has a at_property in order to understand authentication, but it is quite clear where we put the token value. Another part of the problem is our activity uses the global mbox and the response for example from the https://*******.tt.omtrdc.net/rest/v1/delivery endpoint is
{"status": 400,"message": "Errors: field - [execute.mboxes] - global mbox is not allowed in mboxes.;"}I have read that use of global mboxes has been the norm for several years. Please could somebody advise where I am going wrong.Thank you.
Would you be able to show us the full request you are making, so we can understand what might be going wrong. Try not using a global mbox (target-global-mbox) but rather a mbox you created through form-based composer.
Views
Replies
Total Likes
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies
Views
Likes
Replies