有人成功地复制了BigQuery中GA的内部推广报告吗?
我正在寻找至少包含以下列的报告: date、promoName、promoPosition、promo_clicks、promo_views、transactions
根据(https://support.google.com/analytics/answer/6014872?hl=en),属性事务的逻辑看起来相当复杂。这是一个甚至可能或一个好主意,把交易在这份报告在烧烤?
“内部促销报告如何将事务属性归因于内部促销单击或内部促销视图。 电子商务会话中的每一次攻击都可以有: 0或1内部促销点击0或更多的内部促销视图内部促销点击属性,如果一个命中包括一个内部促销点击,然后该内部促销是信用交易。 如果会话包含多个内部升级单击,则最后单击的内部升级将被计入事务处理。 如果一个点击包括零的内部促销点击,但该用户以前的一个点击确实包括一个内部促销点击,那么来自上一次点击的内部升级是事务的功劳。 如果上述条件中没有一个条件为真,但命中包含一个或多个内部提升视图,则事务将被记入会话中的所有促销视图。“
发布于 2020-05-15 18:45:36
我不确定我是否完全理解你的问题,但是GA的内部提升属性的逻辑并不是那么复杂,而是很难实现。要跟踪内部促销的事务属性,您需要执行增强电子商务的漏斗,而不是全部,而是至少结帐和购买。如果您有它,您需要确保您的产品数据始终通过漏斗。推广属性和列表属性是您可以使用增强电子商务获得的唯一属性。
关于增强电子商务实现,我发现最好的材料是指南。你会发现很多关于GTM和GA e实现这种轨道的方法。
发布于 2021-12-11 13:19:56
我成功地复制了内部晋升,但只在上一次晋升时点击了属性。由于我的客户在购买页面上没有促销,所以我没有费心地通过促销视图添加属性到查询中。但是,可以通过查询带有升级名称的事务命中来添加它。
我使用的逻辑是这样的:
这是我的代码:
WITH
promotion_views_and_clicks AS (
SELECT
promo.promoName AS promotion_name,
COUNT(hit.promotionActionInfo.promoIsView) AS views,
COUNT(hit.promotionActionInfo.promoIsClick) AS clicks,
FROM
YOUR_DATA,
UNNEST(hits) AS hit,
UNNEST(hit.promotion) AS promo
GROUP BY
promotion_name),
session_with_promotion_click AS (
SELECT
promo.promoName AS promotion_name,
concat(fullvisitorid, cast(visitstarttime AS string), date) AS sessionid,
hit.time AS time,
FROM
`YOUR_DATA`,
UNNEST(hits) AS hit,
UNNEST(hit.promotion) AS promo
WHERE
totals.visits = 1
AND hit.promotionActionInfo.promoIsClick is true
GROUP BY promotion_name, sessionid, time),
last_promotion_click AS (
SELECT
a.*
FROM session_with_promotion_click a
LEFT OUTER JOIN session_with_promotion_click b
ON (a.sessionid = b.sessionid AND a.time < b.time)
WHERE b.sessionid IS NULL),
session_with_transaction AS (
SELECT
concat(fullvisitorid, cast(visitstarttime AS string), date) AS sessionid,
hit.time AS time,
hit.transaction.transactionId AS transactionid,
sum(hit.transaction.transactionrevenue)/1000000 AS revenue
FROM
`YOUR_DATA`,
UNNEST(hits) AS hit
WHERE
totals.visits = 1
AND hit.transaction.transactionid is not null
GROUP BY sessionid, time,transactionid)
SELECT
promotion_views_and_clicks.promotion_name,
promotion_views_and_clicks.views,
promotion_views_and_clicks.clicks,
ROUND(SAFE_DIVIDE(promotion_views_and_clicks.clicks, promotion_views_and_clicks.views),4)*100 AS promotion_CTR,
COUNT(DISTINCT session_with_transaction.transactionid) AS transactions,
ROUND(SUM(session_with_transaction.revenue),2) AS revenue,
ROUND(SAFE_DIVIDE(COUNT(DISTINCT session_with_transaction.transactionid), promotion_views_and_clicks.clicks),4)*100 AS promotion_CVR
FROM promotion_views_and_clicks
LEFT JOIN last_promotion_click ON promotion_views_and_clicks.promotion_name = last_promotion_click.promotion_name
LEFT JOIN session_with_transaction ON last_promotion_click.sessionid = session_with_transaction.sessionid
AND session_with_transaction.time >= last_promotion_click.time
GROUP BY promotion_name, views, clicks
ORDER BY views DESChttps://stackoverflow.com/questions/61093854
复制相似问题