Hi, Alteryx Community!
I have been working for several months now on my very own edition of an Abode Analytics connector. I was very pleased to see the publication of the first iteration of Alteryx's connector with the release of 10.5. However, I thought I'd share the work that I've done for those that may still be seeking some additional options and/or capabilities from the Adobe Marketing Cloud API.
The toolkit can be downloaded and imported via the attached package (Adobe Analytics.yxzp). Upon importing, please review the README.txt file! It is very helpful in understanding not only how the toolkit is configured but more importantly understanding, at a high-level, how the API is architected and what its limitations are.
REQUIREMENT: Alteryx 10.1+ with predictive tools
RECOMMENDED: Install/import this package in your Macro folder
There are 2 configuration Applications that must be run prior to using the included download tool.
FIRST
In the package folder, run the application 'Adobe Analytics' (as an app, of course). It prompts to load automatically upon importing this package. This application will authenticate your login credentials and, if successful, load a list of available Report Suites that can then be added to your available library.
SECOND
The aforementioned app should chain to a Library Manager app. This app loads metadata for a specific Report Suite into your available library.
1. Either re-enter your login credentials or choose from a saved profile if you saved one from the prior app.
2. Select a Report Suite to load into your library.
3. Click finish.
After this runs, if you were to exit and re-open the application, you should see the available library in the list at the bottom of te second tab.
You can run this at any time to add additional Report Suites, reset your library, or refresh the list of available Report Suites.
FINALLY!
Now that configuration is complete, the Download Tool can go to work! Open the Adobe Analytics - Example workflow to get started!
Sample Workflow...
Configuration Window (4 tabs)...
I hope you all will find this to be very useful if you're looking to pull Adobe data into your Alteryx workflows. Please don't hesitate to post questions/concerns. Feedback is always welcome and I'm sure there is significant room for improvement. In the meantime, I'll be working on a second version that uses different authentication methods and won't be limited to developer connections (requiring API Shared Secret). However, if the need for this data is urgent enough, you should be able to ask your site admin for an API Shared Secret (API Key).
P.S. The Adobe Analytics - Download Tool can easily be converted into an Application! I've published one to our company's gallery to provide self-service capabilities to our gallery users!
Best Regards,
Taylor Cox
Solved! Go to Solution.
Hi Taylor,
Do you know if there is a way to get around the 50,000 record limit? I'm trying to pull data that has over 200K records, but it seems that I can't return more than 50,000 records due to the Primary Element Record Limit on the Segments/Elements tab of the Adobe connector. Do you know any way to pull more records?
Thanks!
I'd like to see what Alteryx does with their Adobe tool in the upcoming release of Alteryx 11.0. If it's more of the same, I'll work on publishing a new version of this connector with some additional functionality. I do believe, however, that they're working on a new version. At least they said they were going to when I met with the product engineers at Inspire 16 in San Diego.
Cheers,
Taylor
Unfortunately, this is a painful limitation set by the Adobe Marketing Cloud API. There is a workaround, however. You can pull your data using "pagination" and union the sets once you have the full results. In the Segments/Elements tab, when you have the "Include Elements" radio selected, you'll see a section labeled "Primary Element Record Limits" that allows you to specify "Top" (up to 50,000) and "Starting With".
So for 200k records, you'll need 4 instances of the tool to accomplish this. The first pulls top 50,000 starting with 1, the second pulls top 50,000 starting with 50,001, etc... Then union the results, sorry it's not easier.
Regards,
Taylor
Hi Alteryx Community,
First, thank you to @Coxta45, Taylor, for your work on the Adobe tool you’ve shared via Alteryx Gallery.
Secondly, we are developing a new Adobe Analytics connector. It will not be part of Alteryx Designer 11.0, because it will be released via Gallery for anyone to download. It will be released around the same timeframe as 11.0 (Q1 2017) so you should have the same expectations. The updated connector will have functionality introduced by Taylor and will be a much improved tool.
Thank you.
Alex,
Thanks! This is great news, looking forward to the news releases!!
Thanks all for your responses. Taylor - I will try unioning the results as a work-around for now. Looking forward to the new release in Q1 then!
Thanks,
Liza
@lshiffmanI'm glad you are as excited as we are, but the 50k rate limit is a limitation set by Adobe. The new Adobe connector will be a great upgrade, but unless Adobe removes this restriction, we will be unable to do much about that specific limitation.
Hello Coxta45
Thank you so much for sharing this, it works and is very useful, yet i am wondering if you can reply how the actual API call looks like? I know it depends on whatever you choose as setting, but just the foundation of it? I am having trouble to figure this one out. I have a client who request which API query i am using, and obviously wants to reply.
Thank you in advance :-)
/Christopher
Glad you're finding the tool useful. Adobe has an API Explorer that I found extremely useful when I was developing this. Once you log in with your Omniturecredentials, you'll be able t create sample calls, etc. and view the required headers and JSON arrays for your calls. Here is super brief run down of a typical report queue:
{
"report":{
"type":"trended",
"elements":[
{
"id":"mobiledevicetype",
"name":"Device Type"
}
],
"reportSuite":{
"id":"reportsuite",
"name":"Report Suite Name"
},
"period":"Mon. 19 Dec. 2016",
"metrics":[
{
"id":"pageviews",
"name":"Page Views",
"type":"number",
"decimals":0,
"latency":1883,
"current":false
},
{
"id":"uniquevisitors",
"name":"Unique Visitors",
"type":"number",
"decimals":0,
"latency":1883,
"current":false
},
{
"id":"visits",
"name":"Visits",
"type":"number",
"decimals":0,
"latency":1883,
"current":false
}
],
"segments":[
{
"id":"537d2a5be4b0748a2cab1599",
"name":"A Cool Segment"
}
],
"data":[
{
"name":"Mon. 19 Dec. 2016",
"year":2016,
"month":12,
"day":19,
"breakdown":[
{
"name":"Other",
"url":"",
"counts":[
"29464",
"2665",
"2772"
]
},
{
"name":"Mobile Phone",
"url":"",
"counts":[
"4327",
"482",
"512"
]
},
{
"name":"Tablet",
"url":"",
"counts":[
"1544",
"159",
"163"
]
},
{
"name":"Media Player",
"url":"",
"counts":[
"30",
"1",
"2"
]
}
],
"breakdownTotal":[
"35365",
"3307",
"3449"
]
}
],
"totals":[
"35365",
"3307",
"3449"
],
"version":"1.4.16.10"
},
"waitSeconds":0,
"runSeconds":0
}
Hope this is helpful. I'd encourage you to use the API Explorer, it will be most helpful.
Thanks, I'm glad you're finding the tool useful. Adobe has a great API Explorer that found to be extremely using while developing this connector. Here is a brief rundown of how retrieving reports works the API:
API is RESTful, using POST methods..
I hope this is helpful, but please check out the API Explorer as well as the API documentation on Adobe's website.
Taylor