Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Mass export/delete entities based on filter in Target Recommendations

Avatar

Level 2

19-08-2021

I can't take credit for this idea. It was suggested ~2 years ago by @BrendanJaffary It's desperately needed for clients who maintain large catalogs in Adobe Target. It was suggested to me to post this again so it's more recent. 

 

Summary

 

We need to have a feature that can mass delete entities based on a filter. I manage a catalog of over 400,000 entities so running a full catalog deletion is a huge impact to the business.  There is no real solution to manage your catalog as the comma delimited string for singular deletion requires the user to have a list of entityIDs to delete which they are not able to export from the catalog.

In the documentation, it states that the more entities in your catalog, the longer your criteria’s will take to process.  I’ve also noticed that the larger my catalog is, the less accurate the recommendations are.

 

Temporary Solution

Through a recommendation of a forum user... once you filter your catalog to whatever your deletion needs are, you can override the API call in the network tab of developer tools to expand the pagesize of the call.  Just simply adjust the pagesize in this network call : "target/products/productSearch.halosearch.at.json?pageSize=10". Once you have the data, you can parse through it to get all of the entityIDs, concat them into a comma delimited string and send the request off.

 

This is a poor solution as both the query and the delete command can't handle more than 10,000 entities at a time and requires additional development work.  I tried to write an application to manage this locally but ran into CORS issues with the API.  I'm sure that these APIs arent intended to handle this amount of data either.

Ideal Solution

The most ideal solution would be:

  • Filter the catalog by “lastModifiedDate”  **Currently not an available filter but data is available in catalog**
  • Add any additional filters
  • Export the data to an Excel file for further analysis on the data as the Catalog UI lacks sorting functionality
  • Batch delete all of the entities within the filtered selection

Being able to filter by “lastModifiedDate” is essential as it will identify entities that haven’t been viewed by users in a long period of time, often indicating that the entity isn’t available anymore.

4 Comments

Avatar

01-07-2022

Hi @RobHornick

 

While promising, the Catalog Search API unfortunately has a limit of 500 entities.

 

I manage a catalog of 200,000 + entities as well, and am also interested in a way to batch delete entities that are no longer available on our site.

 

If we could export an entire catalog in Target, filter by last modified date, and format into a comma-delimited list, we could then run a delete entities call on these entities that have not been updated for some time (which are likely 404).

Avatar

01-07-2022

Could we perhaps do something akin to the following?

  1. Delete all entities from the development catalog (if there are any)
  2. Run a clean Target feed in the development catalog
  3. Temporarily point the production site to use the development catalog
  4. Delete all entities from the production catalog
  5. Run a clean Target feed in the production catalog
  6. Point the production site back to the production catalog