I am creating a salesforce unlocked package that I want to get out on the app exchange. The package is for a company that wants to insert and update records with product usage data.
They want to send data into salesforce to see how Accounts and Contacts are using their specific product.
Account Product Data includes:
Number of Users
Number of Logins this Week
Number of Logins Trailing 30 days
Features Being used
Contact Product User Data includes:
Number of Times Logged in
Number of times logged in Trailing 30 days
I wanted to tell them to avoid custom objects and use campaigns where the campaign would represent the account product data and the campaign members would represent the product users. I said this because many tools naturally read off the campaign object and much of the SFDC standard functionalities would not need to be replicated such as tying campaigns to Opportunities.
Another aspect that the company was asking for was to ensure they could see a time series on the accounts product usage performance. For that I said to created Tasks. Tasks are naturally the standard objects that create time series against leads and contacts.
Overall, I want to really know what questions I should be asking myself and the design partners as I consider custom objects vs standard objects.