Meta広告のURLに utm_medium=social を入れると、GA4(Google Analytics 4)で 有料広告のクリックが「自然流入」として集計されます。これは設定ミスでも GA4 のバグでもなく、GA4 が公式に使っている判定正規表現 ^(.*cp.*|ppc|retargeting|paid.*)$[1] と、Organic Social 判定の OR 条件が噛み合った結果です。
本記事は、Meta広告の utm_medium に何を入れるのが正解かを、この公式 regex から完全解説します。そのうえで、命名を正したあとに必ず残る「で、どの流入が一番売ったのか」 という問いまでを地続きで扱います。 utm_medium を整えるのは分類を直す入口で、予算をどこに寄せるかの判断材料が手に入るのは、その先です。
まとめ解説動画
この記事のまとめ#
- utm_medium は
cpc固定。Paid Social 判定 regex に最短で合う socialは絶対に入れない。Organic Social の判定と衝突し、有料広告が自然流入扱いになるpaid_socialとpaid-socialで集計が二重化。組織で1つの表記に固定する- ただし命名を正しても「どの流入が一番売ったか」 は GA4 標準レポートには出ない。正しく分類された先で、チャネル別の実売上を見比べる方法は記事後半で扱う
1.GA4のutm_medium判定regexを読む#
結論: Paid Social と判定されるのは「cp を含む、または paid で始まる」 utm_medium だけです。
GA4 のデフォルトチャネルグループは、流入1件ごとに utm_source と utm_medium の組み合わせを見て自動でカテゴリ分けします[1]。Paid Social の条件は次の2つを同時に満たすことです。
utm_sourceがGA4 管理の「ソーシャルサイト一覧」 に登録されている値であるutm_mediumが正規表現^(.*cp.*|ppc|retargeting|paid.*)$に合う
この正規表現は4つの選択肢を |(または)で並べたものです。各パターンの意味と、合う値・合わない値を1枚にまとめました。

つまり「cp」 を含む、または「paid」 で始まれば合います。逆に social / display / meta / paid social(スペース区切り) / 空欄は、どれにも合いません。
2.utm_mediumで起きる事故#
結論: social は有料広告を自然流入に化けさせ、meta は (other) に落ちます。どちらも広告 ROAS を狂わせます。
事故1:utm_medium=socialで有料広告が「自然流入」に化ける#
GA4 の Organic Social 判定は、utm_medium が social / social-network / social-media / sm のいずれかに合えば成立します[1]。utm_source=facebook + utm_medium=social で出稿すると、Medium の social 一致だけで Organic Social に分類され、Meta に投じた広告費のクリックが自然流入として集計されます。広告 ROAS が実態より低く見えます。
事故2:paid_social/paid-socialの二重化とmetaの(other)落ち#
公式 regex の paid.* は paid_social も paid-social も両方マッチします。Paid Social の判定は通りますが、GA4 はディメンションの値を 記号込みでそのまま保存 するので、両方を混ぜて配信すると Paid Social の中で別の行として表示され、合算するのに手作業が必要になります。
さらに「Meta広告だから meta」 という素朴な命名で utm_medium=meta を入れると、regex のどれにも合わないので Paid Social の条件を満たさず、Default Channel Group の (other) に分類 されて Paid Social レポートから消えます。
3.推奨フォーマットと動作確認#
結論: utm_medium=cpc が正解。regex に最短で合い、表記揺れリスクがほぼゼロで、媒体横断でも揃います。
utm_source=facebook
utm_medium=cpc
utm_campaign={{campaign.name}}
utm_content={{ad.name}}
utm_term={{adset.name}}
utm_id={{campaign.id}}
utm_medium=cpc を推奨する理由は3つです。
- regex に確実に合う:
.*cp.*に最短文字数で当てはまる。表記揺れリスクがほぼゼロ - 業界横断で読みやすい:「Cost Per Click」 の略で、レポートを見る人が一目で「クリック課金の有料広告」 とわかる
- 他媒体と揃う:Google 広告 / TikTok 広告 / LinkedIn 広告でも
cpcを使うのが慣習で、媒体横断のレポートで分類が揃う
cpc 以外を入れた場合に何が起きるかを1枚にまとめました。

配信前後の確認は2つだけです。
- 入稿前のURLプレビュー:Meta Ads Manager の広告編集画面で「URLプレビュー」 を表示し、
utm_medium=cpcがそのまま展開されるかを目で確認 - 配信後のGA4リアルタイム:配信開始から30分以内に「リアルタイム」 → 「参照元/メディア」 で、
facebook / cpcとして流入が表示されるかを確認。facebook / socialや(direct) / (none)になっていたらパラメータが届いていない
RevenueScopeの解決策
結論: utm_medium を正すと「正しく分類される」 ところまでは到達します。しかし「正しく分類されたチャネルが、いくら売ったのか」 は、命名をどれだけ完璧にしても GA4 の標準レポートからは出てきません。ここから先が RevenueScope の領域です。
utm_medium を公式 regex に完璧に合わせ、表記揺れをゼロにしても、GA4 が標準で見せるのはセッション数とコンバージョン数までです。「同じ流入でも 1 セッションあたりいくら売れたのか(RPS)」「客単価(AOV)と購入率はどのチャネルが高いのか」 を、bot を除いたクリーンな数字でチャネルごとに見比べる——この、予算をどこに寄せるかを決めるための比較は、命名を正した先にあり、命名作業だけでは絶対に埋まりません。
RevenueScope は、UTM の表記揺れを自動で名寄せします(過去に social や paid_social で配信した期間が混ざっていても、1 つのチャネルに統合されます)。ただし名寄せは前処理にすぎません。本体は、bot を除いたクリーンな数字で、チャネル・キャンペーン別の実売上・RPS・客単価・購入率を 1 画面で見比べられることです。

RevenueScope のダッシュボード(表示はデモデータ)。UTM で名寄せしたチャネル/キャンペーン別の実売上を1画面で見比べる。
たとえば上の画面では、メルマガの行を開くと utm_campaign 別の内訳まで見えます。新商品案内(newsletter_new_product)は購入率 9.2%、会員クーポン(newsletter_member_coupon)は 5.4%。命名を正してあるから、同じチャネルの中でも施策ごとの差まで売上で見分けられます。どこに次の予算を寄せるかを、この実売上の比較で決められる——これが、命名を正した先にある一手です。
まとめ—「正解」はregexに書いてある#
SNS 上には「social 派」「paid_social 派」「cpc 派」 の議論が点在しています。しかし GA4 が実際に使っているのは ^(.*cp.*|ppc|retargeting|paid.*)$ という1本の正規表現[1] です。social はこれに合いません。cpc は合います。それだけが事実です。
そして、命名を cpc に揃えると、流入は正しく分類されます。しかしそこで分かるのは「正しく分類された」 という事実までで、「で、どの流入が一番売ったのか」 は GA4 の標準レポートには出てきません。命名を正す作業がこの記事のゴールなら、どこに予算を寄せるかを売上で決めるのが、その次のゴールです。
本記事の関連トピックは /news でも扱っています。
- Meta広告のutm_source、結局何を入れるのが正解か — GA4公式リストから逆引き(pillar:utm_source 版)
- UTMパラメータの正しい使い方 — GA4でチャネル分類されない4パターンと対処
- 広告予算の判断を歪める『ラストクリックの罠』
どの広告が売上を生んでいるか、一目でわかる
月5,000セッションまで、AIアナリストもずっと無料。クレジットカード不要。最短5分で導入。
参考文献#
- Google Analytics Help 「[GA4] Default channel group」 2026年4月
- Meta Business Help Center 「URLダイナミックパラメーターの仕様」 2026年4月


