We should probably factor this into an analytics service method given how widely it's going to end up being used