Expand my Community achievements bar.

Applications for the Community Advisor Program Class of 2025 are NOW OPEN – Apply Today!

Automating Adobe Analytics reports for structured subpages

Avatar

Level 2

I have a website, www.domain.catalog, with multiple subpages that are all structured in the same way. Since their data can be analyzed in the same way, I need to create individual Adobe Analytics (AA) reports for each subpage. The URLs follow this pattern:

www.domain.catalog.page1
www.domain.catalog.page2
www.domain.catalog.page3
Is there a way to automatically generate separate reports for each subpage without manually copying a report and changing the URL each time? Can I use wildcards, segments, or filters to automate this process?

Any insights or best practices would be greatly appreciated!

9 Replies

Avatar

Level 9

Hi @melaniese1 ,

If the reports are going to be configured in same way for these pages and use same components/settings in workspace, can't you create a single project and use Drop-Down Filters to switch to the page for which you want to see the data?

This can provide you a drop-down with values like www.domain.catalog.page1, www.domain.catalog.page2 and www.domain.catalog.page3, then you can select the value you want to report for and entire project should refresh with data relevant to your selection.

Cheers!

Avatar

Level 2

Hi Harveer, thanks for your response!

Using the drop-down filters would require me to manually search for each URL, drag and drop them into the filter, and then generate a PDF report for each one individually. Correct?

I'm looking for a more automated solution where I can simply enter www.domain.catalog and automatically generate distinct reports for all www.domain.catalog.* pages. Is there a way to achieve this efficiently?


Avatar

Level 9

I don't think that is possible in workspace UI.

I'd suggest to explore Projects API to maybe create multiple copies of your project through some automation and if it is not a hard requirement to view the data in workspace then Reporting API can be leveraged to loop through different page values and return segmented data for dimension and metric combinations you need.

Cheers!

Avatar

Level 2

Thanks, I'll take a look at the APIs.

Avatar

Community Advisor

Fully agree with @Harveer_SinghGi1, the Projects API may be a great starting point.

 

One way or another, you may have to, manually or programmatically physically duplicate an existing dashboard.
What I am not sure about yet is whether you can actually schedule report delivery for a cloned dashboard through that.

Also bear in mind that these dashboard will appear in your list of Analysis Workspace projects, without really giving you much of a benefit (unless you make sure to always delete the clones and clone the master dashboard n times again on a regular basis)

 

If using the API in this case really makes your life easier is up to you to decide.

Cheers from Switzerland!


Avatar

Level 2

Thanks for these details! The debugger significantly speeds up the creation of the API requests I need!

Avatar

Level 1

Hi @bjoern__koth and @Harveer_SinghGi1 ,

I'm using the debugger tool to inspect the API request when creating a table in a project. My goal is to understand how it works so I can easily replicate the call for different URLs. However, it seems that the URL is defined within this piece of code and is assigned an ID, which I’m unsure how to retrieve. 

MelanieGu_0-1739266572353.png

Since my objective is to create scheduled reports for multiple URLs, I believe I first need to obtain the ID for a given URL before generating the report. Which endpoint should I use for retrieving the IDs for different URLs?

Additionally, it's unclear which endpoints I should use, as there are references to projects, reports, and other elements. My specific use case is to create a different (scheduled) report for every URL that starts with www.domain.catalog , which will then be scheduled to be sent to recipients.

Could you clarify the correct approach? Should I:

First create a project for each URL, including the tables for the relevant analytics, and then generate a report for scheduling?
Or can I directly create a report with the required tables inside, without needing to set up a separate project?
Also, how do I schedule a report using the API?
Thank you.

Avatar

Administrator

Hi @Harveer_SinghGi1,

Is this something that you could help @melaniese1 / @MelanieGu with?

Thanks!  



Sukrity Wadhwa

Avatar

Level 9

Hi @melaniese1 / @MelanieGu ,

The data that you are seeing is expected as all variable values in Adobe Reporting API 2.0 have unique itemID which can be referenced to filter for particular value when using /reports endpoint.

However, for your requirement you don't need to use this endpoint as this is useful to retrieve reporting data through APIs only and can't create the report in UI for you. If you want to setup an ETL process to fetch reporting data through API on a schedule then you can plan to use the /reports endpoint, otherwise use /projects endpoint to create the project with needed reports in it withing UI and schedule them as needed.

Here are the steps that you need to follow,

  1. Create a project in AA UI using one of the URL values as a panel level segment, something like below (a very simple example but you have have as complex of dashboard as you need), 
    • Harveer_SinghGi1_0-1740762082296.png
  2. Use /projects endpoint to to retrieve the project definition
  3. Get the list of all the remaining URLs for which this project needs to be replicated
  4. For each of these URLs repeat the below steps,
    1. Create a segment to filter for the URL - automate it using /segments endpoint
    2. Prepare the project definition specific to this URL by updating the project definition received in step 2 with segment id created in step 4.1, it needs to be updated in definition.workspaces[].panels[].segmentGroups[].componentOptions[].component.id field specifically,
      • Harveer_SinghGi1_0-1740762729283.png
    3. Update the project definition to have the name as per the URL filter used, update name parameter for this
    4. Use the /projects endpoint to post the updated project definition to create new project for this URL
  5. Use the UI to schedule all these projects - I didn't find any API for scheduling the projects.

This process creates different projects for each of the URLs. If you are okay with creating different panels for each of the URLs withing same projects (which will mean you'll have to schedule only one project) you can repeat the same steps copy the definition.workspaces.panels[0] object and replicate it for each of the URLs withing same project definition.

I hope this helps.

Cheers!