When the GA API was first released, there was available a dimension ga:date. This dimension returns a number between 1 and 53 and specifies what week number the data represents. This limited week repertoire posed some problems. First, it did not include a year, so if your query was for a two-year time period, you would only get 53 records. The week1 record would have data for the combined values of week1/year1 and week1/year2 - perhaps useful, but not typically what one seeks.
The second problem was that weeks were truncated at year boundaries. This is why the numbers go from 1 to 53. Week one might have 2 days and week 53 would have 5. Again, this is not typically what one seeks. If doing a weekly trend graph, the numbers at each tick need to represent the same number of days.
ShufflePoint resolved the first issue by adding a new dimension (now deprecated) of sp:yearweek, which would be handled by adding a ga:year dimension behind the scenes, and thus make each week independent in time instead of an aggregation across the query timeframe. We resolved the second issue by summing adding together the two partial weeks at a year boundary.
The problem with the solution to the annual boundary is that the only metrics which can be aggregated this way are integer counts such as ga:pageviews. Metrics like ga:avgSessionDuration have no meaning when summed.
Google got the feedback that ga:week alone was inadequate, and added several additional dimensions:
- ga:nthWeek
- ga:yearWeek
- ga:isoWeek
- ga:isoYearIsoWeek
We switched to using ga:nthWeek instead of ga:year as the mechanism to separate weeks in different years. However, the new dimension ga:isoYearIsoWeek does return weeks which always have seven days - making it the appropriate dimension to use in most all cases when the query timeframe spans different years.
If your timeframe is within a single year, and you wish to have weeks that begin on a Sunday, then the use of ga:week is still appropriate. If your query only includes metrics that aggregate via summation, then it is also ok to use ga:week. Otherwise, you should use ga:isoYearIsoWeek. Note that this will mean your weeks begin on a Monday (which is the ISO definition of a week), but at least you will get back numbers that are correct regardless of the metrics present in the query.