We recommend the clickstream approach since it gives you the most flexibility. If query performance is an issue, there are a couple things you could do to reduce the amount of data that needs to be scanned:
• Separate table for each metric instead of a single events table
• Partition/index on date and use SQL template variables in your metric queries (
https://docs.growthbook.io/app/metrics#sql-template-variables)