BigQuery и GA: некоторые показатели ecom, такие как доход от продукта, неправильно назначены названию списка продуктов - PullRequest
0 голосов
/ 01 февраля 2019

Так же, как показано в пользовательском интерфейсе Google Analytics, я хотел бы получать доход от каждого продукта через список запросов, как показано ниже.Однако весь доход от продукта назначается (не задан), а в пользовательском интерфейсе - для списков продуктов.

Кроме того, в BQ выглядит только показы в списке продуктов и клики в списке продуктов (поле BQ).hit.eCommerceAction.action_type) присваиваются спискам товаров.Представления с подробным описанием продукта, оформление заказа и уникальные покупки также, по-видимому, не назначаются спискам продуктов, в то время как в пользовательском интерфейсе GA они это делают.Я думаю, та же проблема, что и с доходом от продукта.

Кто-нибудь знает, как получить желаемый результат?

SELECT
  prod.productListName AS ProdListName,
  SUM(prod.productRevenue)/1000000 AS PrRev
FROM
  `[project id].[dataset id].ga_sessions_*` AS t, t.hits AS hits, hits.product AS prod
WHERE
  _TABLE_SUFFIX BETWEEN '20181103'
  AND '20181103'
GROUP BY
  ProdListName
ORDER BY PrRev DESC

1 Ответ

0 голосов
/ 01 февраля 2019

hit.product.productListName поле установлено только для просмотра списка товаров и действий клика по списку товаров.Вы можете получить доход по списку товаров следующим образом:

#standardSQL
select
l.productListName as listName,
ROUND(SUM(p.productRevenue), 2) as productRevenue
from
(select
  concat (fullVisitorId, ".", cast(visitId as string), ".", cast(visitStartTIme as string), ".", cast(totals.visits as string)) as sessionId,
  h.hitNumber as hitNumber,
  p.v2ProductName as productName,
  p.productRevenue/1000000 as productRevenue
from
  `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`, unnest(hits) h, unnest(h.product) as p
  where h.eCommerceAction.action_type ='6')p
 join 
/* (select
  concat (fullVisitorId, ".", cast(visitId as string), ".", cast(visitStartTIme as string), ".", cast(totals.visits as string)) as sessionId,
  p.v2ProductName as productName,
  p.productListName as productListName,
  MAX(h.hitNumber) as hitNumber_
from
  `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`, unnest(hits) h, unnest(h.product) as p
  where h.eCommerceAction.action_type = '1'
  group by 1,2,3
  order by 1 )l */
(select
    sessionId,
    productName,
    productListName,
    hitNumber_
    from(
        select
        sessionId,
        productName,
        productListName,
        hitNumber_,
        row_number() over (partition by sessionId, productName order by hitNumber_ desc) as rn
        from
            (select
              concat (fullVisitorId, ".", cast(visitId as string), ".", cast(visitStartTIme as string), ".", cast(totals.visits as string)) as sessionId,
              p.v2ProductName as productName,
              p.productListName as productListName,
              h.hitNumber as hitNumber_
            from
              `bigquery-public-data.google_analytics_sample.ga_sessions_20170801`, unnest(hits) h, unnest(h.product) as p
              where h.eCommerceAction.action_type = '1'))
              where rn = 1
)l
  on
  p.sessionId = l.sessionId
  and p.productName = l.productName
  where p.hitNumber > l.hitNumber_
  group by listName
  ORDER BY 2 DESC
...