はじめに:同梱チラシ・クーポンの効果が「なんとなく」で終わっていませんか

ECサイトを運営していると、商品の箱の中にチラシやクーポンを同梱する施策をよくやります。

  • 次回使える割引クーポンを紙で同梱する
  • 関連商品やシリーズ商品を紹介するチラシを入れる
  • レビュー投稿や会員登録を促すカードを入れる

これらは「リピートを増やしたい」「ファンになってほしい」という気持ちから生まれる、とても自然な施策です。実際、配送のついでに紙を1枚足すだけなので、コストの割にやれることが多いのも魅力です。

ところが、いざ効果を振り返ろうとすると、ほとんどの現場で同じ壁にぶつかります。「で、あのチラシ、結局どれくらい効いたの?」という問いに、誰も数字で答えられないのです。

オンライン広告ならクリックやコンバージョンが自動で記録されますが、紙のチラシはユーザーが箱から取り出して、後日あらためてサイトを訪れて、初めて行動につながります。この「オフラインからオンラインへの再訪」をつなぐ仕組みを用意しておかないと、効果は永遠に「なんとなく良さそう」のまま終わってしまいます。

この記事では、同梱チラシ施策に識別子を仕込み、GA4のオフラインコンバージョン連携と受注データをBigQueryで突合することで、再購入率やLTVといった「本当に知りたい数字」まで測定する設計を解説します。

識別の設計:まず「誰がチラシ経由か」を区別できるようにする

効果測定でいちばん大事なのは、SQLでも分析手法でもありません。チラシを見て戻ってきた人を、そうでない人と区別できる識別子を最初に仕込んでおくことです。ここが甘いと、後からどんなに頑張っても測定はできません。

紙のチラシからオンラインの行動に橋を架ける方法は、主に3つあります。

専用クーポンコード

いちばん手軽で確実なのが、チラシ専用のクーポンコードを発行する方法です。

  • 通常の販促とは別の、その同梱チラシ専用のコードにする(例:THANKS2026
  • できれば施策・期間・封入ロットごとにコードを分ける
  • 受注データのクーポン利用履歴に、そのコードが必ず記録されるようにする

専用コードのいいところは、紙のチラシを見て、実際に購入まで進んだ人だけが確実に記録される点です。受注データ側に証拠が残るので、突合の起点として非常に強力です。

QRコード

チラシにQRコードを刷り込み、読み取った先を計測対象にする方法です。

  • スマホで読み取ってもらえるので、入力の手間がない
  • 読み取り先URLにキャンペーン情報を持たせれば、流入そのものを計測できる
  • クーポンと組み合わせれば「読んだ人」と「買った人」の両方が追える

QRはユーザーの手間が少なく、再訪のきっかけになりやすいのが利点です。一方で「読み取ったけど買わなかった」人も含まれるため、購入の証拠としては専用クーポンほど強くありません。両方を併用するのがおすすめです。

専用LP・UTMパラメータ

QRや短縮URLの遷移先を、チラシ専用のランディングページ(LP)にする方法です。このとき、URLにUTMパラメータを付けておきます。

https://example.com/lp/insert-thanks/?utm_source=insert_flyer&utm_medium=offline&utm_campaign=thanks_2026q3

こうしておくと、GA4側で「どの施策から来た流入か」をチャネルとして区別できます。utm_sourceinsert_flyerutm_mediumoffline のように、オンライン広告とは混ざらない命名を決めておくのがコツです。命名ルールを最初にスプレッドシートで一覧化しておくと、後から見返したときに混乱しません。

3つのうちどれか1つでも測定は始められますが、理想は「QR付き専用LP(UTM)でサイトに呼び込み、専用クーポンで購入を確定させる」という組み合わせです。流入と購入の両方に印が付くので、再訪から再購入までの流れをきれいに追えます。

オフラインの再訪・再購入をGA4×受注データでBigQueryに突合する

識別子を仕込んだら、次はデータをつなぎます。ここで登場するのが、GA4のデータと受注データをBigQuery上で突合する考え方です。

GA4と受注データの役割分担は、ECの売上分析全般で共通する基本です。詳しくは BigQueryでEC受注データ×GA4データを結合して正確な売上帰属分析をする で解説していますが、ここでもポイントだけ押さえておきます。

  • GA4:流入チャネルや行動(QR経由でLPに来た、などのオフライン由来の流入)が強い
  • 受注データ:正確な売上金額、クーポン利用、顧客ID、キャンセル・返品の反映が強い

同梱チラシの測定では、この2つを次のように使い分けます。

  • 「チラシのQR/LPから戻ってきた」という再訪は、GA4のUTM付き流入で捉える
  • 「チラシのクーポンで再購入した」という成果は、受注データのクーポン利用で捉える

GA4のオフラインコンバージョン連携を使う場面

GA4には、オンラインの計測だけでは取りこぼす成果を、外部のデータとして取り込む「オフラインコンバージョン」の考え方があります。同梱チラシのように、紙という計測しづらい接点を起点にする施策では、ここが効いてきます。

具体的には、受注データ側で確定した「チラシクーポン経由の購入」を、計測の世界に持ち込んでつなぎ直します。これにより、サイト内のオンライン行動だけでは見えなかった「紙→再訪→再購入」の線がつながります。なお、GA4の計測タグをまたいで広告側まで成果を戻す場合の流れは、BigQueryを使ったGoogle広告のオフラインコンバージョンインポート で詳しく扱っています。

BigQueryでの突合イメージ

実際の突合は、識別子を結合キーにして行います。ここでは「チラシ専用クーポンを使った受注」と「GA4で観測したチラシ由来の流入」を、顧客単位で結びつける例を示します。

-- チラシ施策に反応した顧客を、流入(GA4)と購入(受注)の両面から特定する
WITH flyer_sessions AS (
  -- GA4:チラシ由来のUTMで流入したセッション
  SELECT
    user_pseudo_id,
    MIN(event_date) AS first_flyer_visit_date
  FROM `your_project.analytics_123456789.events_*`
  WHERE
    _TABLE_SUFFIX BETWEEN '20260801' AND '20260930'
    -- 流入元(utm_source)は event_params ではなく collected_traffic_source に入る
    AND collected_traffic_source.manual_source = 'insert_flyer'
    -- 必要なら manual_campaign_name = 'thanks_2026q3' でキャンペーンも絞る
  GROUP BY user_pseudo_id
),
flyer_orders AS (
  -- 受注データ:チラシ専用クーポンが使われた注文
  SELECT
    customer_id,
    order_id,
    order_date,
    coupon_code,
    net_sales        -- キャンセル・返品控除後の正味売上
  FROM `your_project.ec_mart.orders`
  WHERE coupon_code = 'THANKS2026'
)
SELECT
  o.customer_id,
  o.order_id,
  o.order_date,
  o.net_sales,
  s.first_flyer_visit_date
FROM flyer_orders AS o
LEFT JOIN flyer_sessions AS s
  ON o.customer_id = s.user_pseudo_id  -- 実際はユーザーIDの対応表を介して結合する
ORDER BY o.order_date;

なお、GA4 BigQueryエクスポートの流入元は event_params ではなく collected_traffic_source.manual_source / manual_campaign_name(セッション単位で見るなら session_traffic_source 系)に格納されます。カラム名や階層は変わることがあるため、フィールドは最新の公式スキーマで確認してください。

実務では、GA4の user_pseudo_id と受注データの customer_id は直接は一致しません。ログイン時に発行されるユーザーIDをGA4側に渡しておくなどして、両者をつなぐ対応表を別途用意するのが一般的です。上のSQLはあくまで突合の骨格を示すもので、結合キーの整備こそが本番の作業になります。

効果(再購入率・LTV)を測定する

突合できたら、ようやく「本当に知りたい数字」にたどり着けます。同梱チラシの目的はリピート促進なので、見るべき指標は再購入率とLTVです。

-- チラシ接触あり/なしで、再購入率と平均売上を比較する
WITH base AS (
  SELECT
    c.customer_id,
    -- チラシ専用クーポンを一度でも使ったか
    MAX(IF(o.coupon_code = 'THANKS2026', 1, 0)) AS touched_flyer,
    -- 初回以降の購入回数(再購入の有無を見る)
    COUNT(o.order_id) AS order_count,
    SUM(o.net_sales)  AS total_net_sales
  FROM `your_project.ec_mart.customers` AS c
  LEFT JOIN `your_project.ec_mart.orders` AS o
    ON c.customer_id = o.customer_id
  GROUP BY c.customer_id
)
SELECT
  IF(touched_flyer = 1, 'チラシ接触あり', 'チラシ接触なし') AS segment,
  COUNT(*)                                            AS customers,
  -- 2回以上購入した人の割合を再購入率とみなす
  ROUND(AVG(IF(order_count >= 2, 1, 0)) * 100, 1)     AS repeat_rate_pct,
  ROUND(AVG(total_net_sales))                          AS avg_ltv
FROM base
GROUP BY segment;

このクエリで、チラシに接触した顧客とそうでない顧客の再購入率・平均売上(簡易LTV)を並べて比較できます。「チラシ接触ありのほうが再購入率が高い」という傾向が出れば、施策に意味があったと判断する材料になります。

ただし、ここで出る差をそのまま「チラシの効果」と断言するのは危険です。そもそも熱心な顧客ほどチラシに反応しやすい、という選択バイアスが混ざるからです。厳密に効果を見たいなら、封入するロットを分けて比較する、期間をずらして検証するなど、比べる条件をそろえる工夫が要ります。まずは傾向をつかむ指標として使い、断定は慎重にするのが現実的です。

⚠️ 識別子設計が肝・計測漏れに注意

この施策の成否は、技術というより最初の設計でほぼ決まります。つまずきやすいポイントを挙げておきます。

  • 識別子を仕込まずにチラシを刷ってしまう:これが最大の失敗です。専用クーポンもQRもUTMもないチラシは、後から効果を測る手段がありません。刷る前に「どの印で追うか」を必ず決めてください。
  • クーポンコードを他施策と共用してしまう:通常セールと同じコードを使うと、チラシ経由かどうかが区別できなくなります。同梱チラシ専用のコードを切りましょう。
  • UTMの命名がバラバラutm_source の値が施策ごとに揺れると、GA4で集計できません。命名ルールを先に決めて一覧化します。
  • ユーザーIDの対応表がない:GA4と受注データをつなぐ鍵がないと、突合そのものが成立しません。ログインユーザーのIDをGA4へ渡す設計を事前に入れておきます。
  • QRを読んだだけの人を購入者と取り違える:読み取り=購入ではありません。流入(QR/UTM)と購入(クーポン)は別物として集計します。
  • 計測漏れを成果ゼロと誤解する:印が付いていなかったぶんの成果は、データに現れません。「数字が小さい=効果がない」ではなく「測れていないだけ」の可能性を常に疑ってください。

これらはすべて、チラシを刷る前に手を打てば防げるものばかりです。逆に言えば、刷った後では取り返しがつきません。

まとめ

同梱チラシやクーポンは、配送のついでにできる手軽で価値あるリピート施策です。ただし「なんとなく良さそう」で終わらせず、きちんと効果を測るには、次の順番で設計するのが近道です。

  • まず識別子を仕込む:専用クーポンコード、QRコード、UTM付き専用LPで「チラシ経由」を区別できるようにする
  • GA4と受注データをBigQueryで突合する:流入はGA4、売上は受注データという役割分担で、紙→再訪→再購入の線をつなぐ
  • 再購入率とLTVで評価する:チラシ接触あり/なしを比較し、傾向をつかむ。ただしバイアスに注意して断定は慎重に

紙の施策は「測れない」とあきらめられがちですが、最初にひと手間かけて印を仕込んでおけば、オンライン広告と同じ土俵で効果を語れるようになります。次にチラシを刷るときは、刷る前に「どの印で追うか」を一度立ち止まって決めてみてください。