I’m quite fascinated by the potential of using page_ping events to calculate time on page and scroll depth, but most of the posts I found about this topic are either dated or is for RedShift.
We use BigQuery as our DW, so will be interested in hearing from someone have related experience doing this. Thanks!
The data is exactly the same regardless of which warehouse you use, the only difference is the table structure - in BigQuery your context data will be stored in an array column of the events table rather than a separate table of its own.
So, the exact same logic can be applied to BigQuery - you can use the page view context to identify instances of a page view, and aggregate per page view to calculate page time and scroll depth.