Highlighted

How to maintain a track of users who have downloaded an asset?

srkwritez

19-12-2018

I need to keep track of users who have downloaded an asset in AEM and send out notification emails to those users when the asset is expired. Can anyone help me with a way out?

AEM version: 6.1

Many thanks. 

Replies

Highlighted

smacdonald2008

19-12-2018

I am not sure that this can be done ootb. I am checking on this - however - i suspect that a custom AEM Service would need to be written. You may have to read the session. Something like:

session - AEM - get current UserId - Stack Overflow

Highlighted

srkwritez

19-12-2018

Thanks for your response smacdonald2008

As you've suggested, If we write a custom AEM service, where should I store the data? Do I need to maintain an external database? or is there any provision in AEM to hold the data about the asset ID (SHA) and the user ID (Email ID in my case).

The other option that I'm hearing around is, using adobe analytics. Could you please advise if implementing adobe analytics is a recommended approach? If so, do we have any API to pragmatically query and fetch the data that I would need?

Highlighted

cquser1

20-12-2018

Hi,

"Asset downloads" section  in link Asset Reports has something related to your case.

Not sure if you are looking for something similar.

Highlighted

srkwritez

20-12-2018

thanks for your input cquser1

Asset reports would give me the information ONLY about how many times the asset has been downloaded. But I need the information about the users who have downloaded the asset.

Highlighted

kautuk_sahni

Community Manager

07-01-2019

Not sure about AEM 6.1 but from AEM 6.2 for sure, Asset Reports is use to generate reports for various events related to assets in Adobe Experience Manager (AEM) Assets. AEM administrators can generate reports of the following events:

  • Asset uploads
  • Asset downloads
  • Asset expiration
  • Modification of assets
  • Publishing of assets

Link: Asset Reports

Highlighted

Gaurav-Behl

MVP

07-01-2019

Do you plan to collect the information on the server itself or from the website where both content and the asset are cached in Dispatcher/CDN and the request wouldn't even go to the server?

Asset Reports might work fine if the use-case is on server itself but if it is cached then you would need to use Analytics solution- Google Analytics/Adobe Analytics (may or may not use a Tag Management solution) to tag the specific download links s.tl() or trackLinks(...) and collect the specific user information in analytics database. You could integrate Analytics data with AEM or just pull the required information from Analytics and feed it to AEM for sending mails or even use a third party system for sending mails. Within AEM, your custom service would periodically check expiry of assets and notify the appropriate users accordingly.

There are other 3rd party tools available for tracking/monitoring sites which can collect the user information but for checking asset expiry, it has to be within AEM assuming that you use AEM-DAM.

Last but not least, keep PII and GDPR in mind while collecting the user info.

Highlighted

srkwritez

18-01-2019

Thanks for the detailed explanation gauravb10066713​.

I'm using AEM DAM and I just need to store the email ID of the user who download certain type of assets from a brandportal.

I already have an adobe analytics account. So, I would prefer to go with the adobe analytics as a solution. But, how would my custom service get information back from analytics? is there a way to query analytics just like how we query a database?