| Petition Page Views | Leads UTM / lead_type |
Call Case UTM / lead_type |
Eligible UTM / lead_type |
CPL | Daisy Chain RG | Daisy Chain SG | TTL Giving CVR | AC Spend | New RG | New SG | CPRG | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spend | 填 | =Spend÷Leads(Paid) | 填 | =ACSpend÷NewRG(Paid) | ||||||||
| Paid | 124,351 原本 124,351 Δ 0 同 GA4 |
UTM 4,294 lead_type 3,827 原本 4,760 Δ −9.8% |
UTM 3,291 lead_type 2,938 原本 3,683 Δ −10.6% |
UTM 76.6% lead_type 76.8% 原本 77.4% Δ −0.8pp |
47 原本 46 Δ +2.2% |
61 原本 61 Δ 0 |
14.4% 原本 12.7% Δ +1.7pp |
234 原本 226 Δ +3.5% |
366 原本 361 Δ +1.4% |
|||
| Other | 6,489 原本 6,489 Δ 0 |
UTM 1,022 lead_type 3,826 Organic* 原本 1,137 Δ −10.1% |
UTM 662 lead_type 3,007 Organic* 原本 751 Δ −11.9% |
UTM 64.8% lead_type 78.6% Organic* 原本 66.1% Δ −1.3pp |
5 原本 10 Δ −50% |
9 原本 9 Δ 0 |
21.7% 原本 19.6% Δ +2.1pp |
91 原本 82 Δ +11.0% |
126 原本 134 Δ −6.0% |
|||
| Offline (額外) | 5,020 原本 5,020 Δ 0 |
UTM 2,337 lead_type — 無此分類 原本 2,595 Δ −9.9% |
UTM 1,992 lead_type — 原本 2,096 Δ −5.0% |
UTM 85.2% lead_type — 原本 80.8% Δ +4.4pp |
1 原本 0 — |
1 原本 1 Δ 0 |
0.1% 原本 0.0% — |
1 原本 0 — |
1 原本 1 Δ 0 |
|||
| Total (P+O) | 130,840 原本 130,840 Δ 0 |
UTM 5,316 lead_type 7,653 P+Org 原本 5,897 Δ −9.8% |
UTM 3,953 lead_type 5,945 P+Org 原本 4,434 Δ −10.8% |
UTM 74.4% lead_type 77.7% 原本 75.2% Δ −0.8pp |
52 原本 56 Δ −7.1% |
70 原本 70 Δ 0 |
15.8% 原本 14.0% Δ +1.8pp |
325 原本 308 Δ +5.5% |
492 原本 495 Δ −0.6% |
| Petition Page Views | Leads UTM / lead_type |
Call Case UTM / lead_type |
Eligible UTM / lead_type |
CPL | Daisy Chain RG | Daisy Chain SG | TTL Giving CVR | AC Spend | New RG | New SG | CPRG | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Spend | 填 | =Spend÷Leads(Paid) | 填 | =ACSpend÷NewRG(Paid) | ||||||||
| Paid | 68,444 原本 68,444 Δ 0 |
UTM 1,496 lead_type 1,800 原本 1,683 Δ −11.1% |
UTM 1,198 lead_type 1,414 原本 1,395 Δ −14.1% |
UTM 80.1% lead_type 78.6% 原本 82.9% Δ −2.8pp |
10 原本 10 Δ 0 |
12 原本 12 Δ 0 |
11.6% 原本 10.2% Δ +1.4pp |
63 原本 62 Δ +1.6% |
105 原本 105 Δ 0 |
|||
| Other | 8,437 原本 8,437 Δ 0 |
UTM 842 lead_type 1,074 Organic* 原本 940 Δ −10.4% |
UTM 540 lead_type 792 Organic* 原本 669 Δ −19.3% |
UTM 64.1% lead_type 73.7% Organic* 原本 71.2% Δ −7.1pp |
7 原本 7 Δ 0 |
8 原本 8 Δ 0 |
10.3% 原本 13.2% Δ −2.9pp |
35 原本 59 Δ −40.7% |
49 原本 62 Δ −21.0% |
|||
| Offline (額外) | 1,213 原本 1,213 Δ 0 |
UTM 536 lead_type — 無此分類 原本 596 Δ −10.1% |
UTM 468 lead_type — 原本 523 Δ −10.5% |
UTM 87.3% lead_type — 原本 87.8% Δ −0.5pp |
0 原本 0 Δ 0 |
0 原本 0 Δ 0 |
0.4% 原本 0.2% — |
0 原本 0 Δ 0 |
2 原本 1 — |
|||
| Total (P+O) | 76,881 原本 76,881 Δ 0 |
UTM 2,338 lead_type 2,874 P+Org 原本 2,623 Δ −10.9% |
UTM 1,738 lead_type 2,206 P+Org 原本 2,064 Δ −15.8% |
UTM 74.3% lead_type 76.8% 原本 78.7% Δ −4.4pp |
17 原本 17 Δ 0 |
20 原本 20 Δ 0 |
11.1% 原本 11.3% Δ −0.2pp |
98 原本 121 Δ −19.0% |
154 原本 167 Δ −7.8% |
gpea-data.report_table CRM Salesforce 直查(SOQL,即「原本」欄) 衍生 由上述數字計算 手動 人工填入。表格每格的大字/UTM/lead_type 一律來自 GA4 或 BigQuery;「原本」欄一律來自 CRM。pagePath 含 petition 的 sessions,依 sessionMedium 套 bucketUtm 分桶;排除 test/preview 頁。與原本同源(皆 GA4),Δ=0。conversion_funnel)= COUNT(DISTINCT cm_id),market='Taiwan' AND comparison='Actual' AND pet_signup_date ∈ 期間。UTM 版依 bucketUtm(utm_medium) 分 Paid/Other/Offline;lead_type 版用 BigQuery 原生 lead_type 欄位分 Paid/Organic。CRM「原本」欄=Salesforce 直查(CampaignMember,同條件)。conversion_funnel)= 同 Leads 但 casenumber IS NOT NULL(已指派電訪個案的 lead);同樣 UTM/lead_type 兩版本。CRM「原本」欄=Salesforce 直查(Case Sub_Category='Petition Conversion')。Call Case ÷ Leads(同分類、同桶;分子分母皆 BigQuery)。「原本」欄=CRM 對應比值。web_performance)= COUNT(*),theme LIKE '%petition%' OR '%thankyou%' AND signup_date ∈ 期間;type Regular→RG / Oneoff→SG;依 bucketUtm(utm_medium)(捐款本身的 UTM)。CRM「原本」欄=Salesforce 直查(Donation__c,Theme 同條件)。unique(是 Daisy Chain ∪ 是 New) ÷ Leads,每桶各算(聯集去重);分子來自 BigQuery web_performance、分母來自 BigQuery conversion_funnel。web_performance,Donor Type=New)= COUNT(*),type=Regular|Oneoff AND past_donation_type 為空(終身首捐)AND signup_date ∈ 期間;依 bucketUtm(utm_medium)。終身首捐=曾捐過者(含一年以上回流)不計入。CRM「原本」欄=Salesforce 直查(Recurring_Donation__c / Donation__c,Channel='Website' + 12 個月未捐規則)。utm_medium,GA4 與 BigQuery 共用):'offline'→Offline;含 wv+engager→Other;開頭 socialpaid/pmax/adwords 或 ∈(ppc,cpc,paid_social,paid)→Paid;空值或其他 →Other。Spend ÷ Leads(Paid);CPRG = AC Spend ÷ New RG(Paid)。Spend/AC Spend 由人工填入(廣告花費 TWD)。conversion_funnel / web_performance 查詢(30 項全相符);衍生欄位(Eligible、TTL Giving CVR、Total、Δ)程式重算無誤。「原本」欄=CRM/SOQL 舊報表值。完整定義與算法見 docs/reporting/tw-quarterly-report-data-sources.md。
conversion_funnel,UTM + lead_type 兩版本)-- ① Leads / Call Case(conversion_funnel)— UTM 分桶 + lead_type 兩版本
WITH cf AS (
SELECT lead_type, casenumber, cm_id,
CASE WHEN SAFE.PARSE_DATE('%Y-%m-%d', pet_signup_date) < '2026-04-01' THEN 'Q1' ELSE 'APR' END AS period,
CASE
WHEN utm_medium IS NULL OR utm_medium = '' THEN 'Other'
WHEN LOWER(utm_medium) = 'offline' THEN 'Offline'
WHEN LOWER(utm_medium) LIKE '%wv+engager%' THEN 'Other'
WHEN LOWER(utm_medium) LIKE 'socialpaid%' OR LOWER(utm_medium) LIKE 'pmax%'
OR LOWER(utm_medium) LIKE 'adwords%'
OR LOWER(utm_medium) IN ('ppc','cpc','paid_social','paid') THEN 'Paid'
ELSE 'Other' END AS utm_bucket
FROM `gpea-data.report_table.conversion_funnel`
WHERE market = 'Taiwan' AND comparison = 'Actual'
AND SAFE.PARSE_DATE('%Y-%m-%d', pet_signup_date) BETWEEN '2026-01-01' AND '2026-04-30'
)
SELECT period, CONCAT('UTM:', utm_bucket) AS grp,
COUNT(DISTINCT cm_id) AS leads,
COUNT(DISTINCT IF(casenumber IS NOT NULL, cm_id, NULL)) AS call_case
FROM cf GROUP BY period, grp
UNION ALL
SELECT period, CONCAT('lead_type:', lead_type), -- BigQuery 原生分類
COUNT(DISTINCT cm_id),
COUNT(DISTINCT IF(casenumber IS NOT NULL, cm_id, NULL))
FROM cf GROUP BY period, grp
ORDER BY period DESC, grp;
web_performance)-- ② Daisy Chain RG/SG + New RG/SG + TTL CVR 聯集(web_performance)
WITH wp AS (
SELECT type, theme,
COALESCE(NULLIF(TRIM(past_donation_type), ''), '') AS pdt,
SAFE.PARSE_DATE('%Y-%m-%d', signup_date) AS sd,
CASE
WHEN utm_medium IS NULL OR utm_medium = '' THEN 'Other'
WHEN LOWER(utm_medium) = 'offline' THEN 'Offline'
WHEN LOWER(utm_medium) LIKE '%wv+engager%' THEN 'Other'
WHEN LOWER(utm_medium) LIKE 'socialpaid%' OR LOWER(utm_medium) LIKE 'pmax%'
OR LOWER(utm_medium) LIKE 'adwords%'
OR LOWER(utm_medium) IN ('ppc','cpc','paid_social','paid') THEN 'Paid'
ELSE 'Other' END AS bucket
FROM `gpea-data.report_table.web_performance`
WHERE market = 'Taiwan'
),
f AS (
SELECT *,
CASE WHEN sd < '2026-04-01' THEN 'Q1' ELSE 'APR' END AS period,
(theme LIKE '%petition%' OR theme LIKE '%thankyou%') AS is_dc,
(pdt = '') AS is_new -- Donor Type = New(終身首捐:past_donation_type 為空)
FROM wp WHERE sd >= '2026-01-01' AND sd < '2026-05-01'
)
SELECT period, bucket,
COUNTIF(is_dc AND type = 'Regular') AS dc_rg,
COUNTIF(is_dc AND type = 'Oneoff') AS dc_sg,
COUNTIF(is_new AND type = 'Regular') AS new_rg,
COUNTIF(is_new AND type = 'Oneoff') AS new_sg,
COUNTIF(is_dc OR is_new) AS union_dc_new -- TTL Giving CVR 分子
FROM f GROUP BY period, bucket ORDER BY period DESC, bucket;
-- TTL Giving CVR = union_dc_new ÷ Leads(同桶,來自查詢①的 UTM 版)
-- Eligible = call_case ÷ leads(同桶,查詢①)
Petition Page Views 不是 SQL,而是透過 GA4 Data API(analytics-mcp)查詢:property 251984551(Greenpeace Taiwan);維度 sessionMedium、指標 sessions;篩 pagePath 含 petition、排除 test-/nd-test/preview- 測試頁;再用與上方相同的 bucketUtm 規則把 sessionMedium 分成 Paid / Other / Offline。