宣伝失礼しました。本編に移ります。
Google広告の管理画面では、日々の広告運用パフォーマンスを分析するために、クリック数、表示回数、コンバージョン数といった多岐にわたる指標が標準で用意されています。しかし、運用が高度化・複雑化するにつれて、「この指標とあの指標を組み合わせた独自の数値が見たい」「デバイスごとのコンバージョン率を管理画面で直接比較したい」といった、より深い分析ニーズが生まれるのは自然な流れです。多くの運用担当者が、標準指標だけでは捉えきれないインサイトを求めているのではないでしょうか。
特に、広告運用のレポートを作成する過程においては、「毎回この数値をスプレッドシートで手計算している」「たかが数クリックの手間でも、毎日・毎週となると積み重なって大きな負担になる」といった課題は、運用経験者であれば誰もが一度は直面するものです。これらの手作業は、時間的なコストだけでなく、ヒューマンエラーのリスクも内包しており、本質的な分析や戦略立案に割くべき貴重なリソースを奪ってしまいます。
そうした広告運用における定型業務の課題や分析の手間を劇的に解決してくれるのが、本記事でご紹介するGoogle広告の「カスタム列」機能です。この機能を最大限に活用することで、「数クリックの煩わしさ」や「電卓やスプレッドシートを片手に行う集計作業」といった、非効率な業務から解放され、より迅速で正確な意思決定が可能になります。
今回の記事では、Google広告運用の省力化と分析精度の向上を実現する「Google広告のカスタム列」について、その基礎知識から具体的な設定方法、そして実務で即座に役立つ活用レシピまでを網羅的に解説いたします。日々の運用業務の効率化を目指している方、より高度なデータ分析を通じて広告効果の最大化を図りたい方は、ぜひ本記事を参考に、カスタム列の導入をご検討ください。
また、Google広告に関してさらに知見を深めたい!という方は、以下の記事に総括的にまとめてありますので、ぜひ読んでみてください。

また、ディスプレイ広告に関してに関してさらに知見を深めたい!という方は、以下の記事に総括的にまとめてありますので、ぜひ読んでみてください。

Google広告のカスタム列とは
Google広告のカスタム列とは、広告運用を通じて得られる様々なパフォーマンスデータ(指標)を任意に抽出し、それらを計算式や多彩な関数を駆使して組み合わせることで、自社独自の「オリジナル指標」を作成し、管理画面のデータ表に表示させることができる機能です。言わば、Google広告管理画面に内蔵された、カスタマイズ可能なスプレッドシートのようなものと捉えると理解しやすいでしょう。
この機能の強力な点は、単一の指標を加工するだけでなく、複数の異なる指標を組み合わせた複雑な計算を行えることにあります。例えば、「クリック数」と「費用」から「クリック単価」を算出するような単純な計算はもちろん、「特定のコンバージョンアクションの価値」と「広告費用」を組み合わせて、事業の収益性に直結する「広告費用対効果(ROAS)」を算出することも可能です。これにより、Google広告の初期設定(デフォルト)では提供されていない、自社のビジネスモデルやKPIに最適化された指標を、あたかも標準指標であるかのように管理画面上で常時モニタリングできるようになります。
カスタム列を作成し、データ表に追加することで、レポート作成の度に必要だった手計算やスプレッドシートへのデータエクスポートといった作業を完全に自動化できます。これにより、大幅な工数削減とヒューマンエラーの撲滅が実現します。カスタム列の作成には、スプレッドシートで使われるような関数の知識が求められますが、日常的にExcelやGoogleスプレッドシートで基本的な関数(SUM, IF, VLOOKUPなど)を使用している方であれば、比較的スムーズに習得できるでしょう。プログラミングのような高度な知識は必ずしも必要ありません。
具体的な活用例として、標準機能では直接表示できない「スマートフォンでのクリック率」と「パソコンでのクリック率」を別々の列として表示させたり、特定のキャンペーン群にのみ広告代理店の手数料を加味した「実質的な広告費用」を算出したりと、その応用範囲は非常に広大です。このように、カスタム列はデータ分析をより深く、より効率的に行うための不可欠なツールと言えます。
Google広告のカスタム列では、スプレッドシートの関数が利用できる
カスタム列の真価は、GoogleスプレッドシートやExcelでお馴染みの多種多様な関数が利用できる点にあります。これにより、単純な四則演算に留まらず、条件に応じた処理の分岐や、テキストの加工、日付計算といった高度な処理を管理画面内で完結させることが可能になります。特に、論理関数である「IF文」の活用は、カスタム列の能力を飛躍的に向上させます。
「IF文」は、プログラミングや表計算ソフトにおける基本的な関数の一つで、「もし、指定した条件が真(正しい)であればAの処理を行い、偽(間違い)であればBの処理を行う」という条件分岐を実現します。これをカスタム列で用いることで、例えば「コンバージョン率が目標値の2%を超えていれば『目標達成』と表示し、そうでなければ『要改善』と表示する」といった、パフォーマンスの自動評価システムを構築できます。「<」(より小さい)や「>」(より大きい)といった比較演算子(不等号)と組み合わせることで、「設定したCPA(顧客獲得単価)の上限値を超過しているか否か」といった判定も一目で確認できるようになります。これにより、膨大なデータの中から、注視すべきキャンペーンや広告グループを瞬時に特定することが可能となるのです。
以下に、カスタム列で利用可能な代表的な関数をカテゴリ別に紹介します。これらの関数を組み合わせることで、分析の幅は無限に広がります。それぞれの関数がどのような処理を行うのかを理解し、自社の分析課題にどう応用できるかを考えながらご覧ください。
算術
算術カテゴリでは、基本的な計算処理を行うための関数や演算子が提供されています。加算(+)、減算(-)、乗算(*)、除算(/)といった四則演算は、関数を介さず直接数式に記述できます。また、計算の優先順位を制御するための「かっこ()」も使用可能です。これらの基本的な演算に加えて、数値の丸め処理を行うための便利な関数が用意されています。
【round(x)】
この関数は、引数として指定した数値「x」を四捨五入して、最も近い整数に丸めるための関数です。出力される値は数値型となります。例えば、クリック単価(CPC)が「85.7円」だった場合に `round(CPC)` を実行すると、「86」という結果が返されます。レポートの見やすさを向上させるために、小数点以下の数値を整理したい場合に非常に役立ちます。
【floor(x)】
この関数は、引数「x」を超えない最大の整数、すなわち「切り捨て」を行うための関数です。出力は数値型です。例えば、コンバージョン数が「3.5」と小数点以下で記録されている場合(ビュースルーコンバージョンなど)に `floor(コンバージョン数)` を実行すると、「3」という結果が返されます。整数単位での成果を厳密に評価したい場合に用います。
【ceiling(x)】
※Google広告の公式ドキュメントでは「ceilimg」と記載されることがありますが、一般的には「ceiling」です。
この関数は `floor` とは逆に、引数「x」以上の最小の整数、すなわち「切り上げ」を行うための関数です。出力は数値型となります。例えば、広告の表示に必要な最低予算を計算する際など、小数点以下を常に一つの単位として数えたい場合に使用します。`ceiling(3.1)` の結果は「4」となります。
論理
論理カテゴリの関数は、条件分岐や複数条件の組み合わせといった、カスタム列のロジックを構築する上で中核となる機能を提供します。これらの関数は、結果として「True(真)」または「False(偽)」という真偽値を出力します。この真偽値を利用して、IF関数でさらに複雑な処理を組み立てていきます。
【if(condition, if_true, if_false)】
論理関数の代表格です。第一引数 `condition` に評価したい条件式(例: `CPA > 5000`)を記述します。この条件がTrue(真)と評価された場合、第二引数 `if_true` に指定した値やテキストが出力されます。逆に、条件がFalse(偽)と評価された場合は、第三引数 `if_false` の内容が出力されます。例えば、`if(コンバージョン数 > 10, "絶好調", "要改善")` と記述すれば、コンバージョン数が10を超えるかどうかでパフォーマンスを自動でラベリングできます。
【or(x, y, …)】
複数の条件(パラメーター)のうち、少なくとも一つでもTrue(真)であった場合に、結果として「True」を出力する関数です。すべての条件がFalseの場合にのみ「False」を返します。例えば、`or(インプレッションシェア損失率_予算 > 20%, インプレッションシェア損失率_ランク > 20%)` と記述すれば、予算不足または広告ランクの低さのいずれかによって機会損失が発生している場合にTrueを返す、という条件を設定できます。
【not(x)】
指定した条件「x」の真偽値を反転させる関数です。「x」がFalseであれば「True」を、「x」がTrueであれば「False」を出力します。特定の条件に「当てはまらない」場合を判定したいときに使用します。例えば、`not(contains(キャンペーン名, "除外"))` と記述すれば、キャンペーン名に「除外」という文字を含まない場合にTrueを返す、といった使い方ができます。
【and(x, y, …)】
`or` 関数とは対照的に、指定したすべての条件(パラメーター)がTrue(真)であった場合にのみ、「True」を出力する関数です。一つでもFalseの条件があれば、結果は「False」となります。「AかつB」という厳しい条件を設定したい場合に使用します。例えば、`and(CPA < 3000, CVR > 5%)` と記述すれば、CPAが3000円未満であり、かつCVRが5%以上である、という非常にパフォーマンスが良い状態のキャンペーンのみを抽出できます。
テキスト
テキストカテゴリの関数は、キャンペーン名、広告グループ名、キーワードといったテキストデータを操作するために使用します。複数のテキストを結合したり、特定の文字列を抽出・置換したりすることで、レポートの表現力を高め、分析しやすいようにデータを整形することが可能です。
【concat(text1, text2, …)】
指定した2つ以上の文字列を連結し、一つの文字列として出力する関数です。出力形式はテキスト型です。例えば、`concat("CVR: ", to_text(round(CVR * 100)), "%")` のように使用することで、数値データを分かりやすいテキスト情報に変換して表示できます。この例では、「CVR: 5%」のようなテキストが生成されます。
【trim(text)】
指定したテキストの先頭と末尾に含まれる不要な空白文字(スペース)を削除する関数です。出力は整形後のテキスト型となります。外部から取り込んだキャンペーン名などに意図しない空白が含まれている場合、この関数でデータをクレンジングすることで、後続の処理でのエラーを防ぎます。
【right(text, length)】
指定したテキスト「text」の右側(末尾)から、指定した文字数「length」分の文字列を抽出して出力します。出力はテキスト型です。例えば、キャンペーン名の末尾に「_PC」「_SP」のようなデバイス識別子を付与している場合に、`right(キャンペーン名, 3)` とすることで、デバイス情報だけを抜き出すことができます。
【left(text, length)】
`right` 関数とは逆に、指定したテキスト「text」の左側(先頭)から、指定した文字数「length」分の文字列を抽出します。出力はテキスト型です。例えば、商品コードがキャンペーン名の先頭に付与されている場合に、そのコード部分だけを抽出する際に使用します。
【substitute(haystack, needle, replacement)】
第一引数 `haystack` で指定したテキスト全体の中から、第二引数 `needle` に一致するすべての文字列を探し出し、それを第三引数 `replacement` の文字列に置き換える関数です。出力はテキスト型となります。例えば、`substitute(キャンペーン名, "検索", "Search")` とすることで、レポートの表記を英語に統一する、といった使い方が可能です。
【upper(text)】
指定したテキスト「text」に含まれるすべてのアルファベットを大文字に変換する関数です。出力はテキスト型です。表記の揺れ(例: "google", "Google")を統一し、分析しやすくするために使用します。
【lower(text)】
`upper` 関数とは逆に、指定したテキスト「text」に含まれるすべてのアルファベットを小文字に変換します。出力はテキスト型です。大文字・小文字を区別せずにデータをグルーピングしたい場合に便利です。
【is_empty(text)】
指定したテキスト「text」が空(文字が一つも含まれていない)場合に「True」を出力し、何らかの文字が含まれている場合は「False」を出力します。出力はTrue/Falseの真偽値です。特定の項目が未入力である行を特定する際に使用できます。
【starts_with(needle, haystack)】
第一引数 `haystack` で指定したテキストが、第二引数 `needle` の文字列で「始まる」場合に「True」を出力する関数です。そうでない場合は「False」を出力します。出力は真偽値です。キャンペーン名の命名規則(例: 「Brand_」で始まるキャンペーン)に基づいて、特定のキャンペーン群を識別する際に使用します。
【ends_with(needle, haystack)】
`starts_with` とは逆に、テキスト `haystack` が文字列 `needle` で「終わる」場合に「True」を出力します。出力は真偽値です。キャンペーン名の末尾に付けた識別子(例: 「_JP」)を検出するのに役立ちます。
【contains(needle, haystack)】
テキスト `haystack` の中に、文字列 `needle` が「含まれる」場合に「True」を出力する、非常に汎用性の高い関数です。含まれていなければ「False」を返します。出力は真偽値です。特定のキーワードや製品名を含むキャンペーンや広告グループを柔軟にグルーピングする際に頻繁に利用されます。
【length(text)】
指定したテキスト「text」の文字数をカウントし、その数を整数値で出力します。広告見出しや説明文の文字数をチェックし、規定文字数に近いものを分析する、といった使い方が考えられます。
【search(needle, haystack)】
テキスト `haystack` の中で、文字列 `needle` が最初に現れる位置を、先頭からの文字数(数値)で出力します。見つからない場合はエラーとなります。特定の文字列の位置情報を基に、さらに別の処理を行いたい場合に用いる高度な関数です。
変換
変換カテゴリの関数は、データの型を意図的に変更するために使用します。例えば、数値データをテキストと結合するためには、一度数値をテキスト型に変換する必要があります。このようなデータ型の整合性を取る処理は、複雑なカスタム列を作成する上で不可欠です。
【to_text(value)】
指定した値「value」(数値や日付など)を、テキスト形式に変換する関数です。出力はテキスト型となります。`concat` 関数で数値と文字列を結合する際には、この関数を使って数値をテキストに変換しておく必要があります。例えば、`concat("費用: ", to_text(費用))` のように使用します。
【to_number(value)】
`to_text` とは逆に、指定した値「value」(主にテキスト形式の数字)を、計算可能な数値形式に変換します。出力は数値型です。何らかの理由で数値がテキストとして格納されている場合に、それを四則演算などで使用できるようにするために用います。
日付
日付カテゴリの関数は、日付データを基にした分析や処理を行う際に使用します。特定の日付を生成したり、日付データから年・月・日といった要素を抽出したり、期間計算を行ったりと、時間軸での分析を強力にサポートします。
【date(year, month, day)】
年・月・日をそれぞれ数値で指定し、それらを組み合わせて一つの日付データとして出力する関数です。出力は日付型となります。特定の基準日(例: セール開始日)を数式内で定義する際に使用します。
【day(date)】
日付データ「date」から「日」の部分だけを1から31までの数値として抽出します。出力は数値型です。月の特定の日(例: 給料日後)にパフォーマンスがどう変動するかを分析する際などに利用できます。
【month(date)】
日付データ「date」から「月」の部分だけを1から12までの数値として抽出します。出力は数値型です。月ごとの季節性を分析する際に役立ちます。
【quarter(date)】
日付データ「date」が、その年のどの四半期(第1〜第4)に属するかを、1から4までの数値で出力します。出力は数値型です。四半期ごとの業績報告や予算策定に合わせた分析に便利です。
【year(date)】
日付データ「date」から「年」の部分を西暦の数値(例: 2025)として抽出します。出力は数値型です。年次のパフォーマンス推移を比較する際に使用します。
【weekday(date)】
日付データ「date」が何曜日にあたるかを、日曜日を1、月曜日を2、…土曜日を7とする数値で出力します。出力は数値型です。曜日ごとのコンバージョン傾向を分析し、入札単価調整に活かすといった活用が考えられます。
【weeknum(date)】
日付データ「date」が、その年の第何週にあたるかを、1から54までの週番号として出力します(日曜日始まり)。出力は数値型です。週次のレポート作成や進捗管理に役立ちます。
【daynum(date)】
日付データ「date」が、その年の元旦から数えて何日目にあたるかを、1から365(または閏年の場合は366)の通算日数として出力します。出力は数値型です。
【days_between(date1, date2)】
二つの日付データ「date1」と「date2」の間の日数を計算して出力します。出力は数値型です。コンバージョンに至るまでの平均日数を分析するなど、期間計算が必要な場合に非常に有用です。
【offset_days(date, days)】
基準となる日付「date」から、指定した日数「days」だけ未来(正の数)または過去(負の数)の日付を計算して出力します。出力は日付型です。
【offset_months(date, months)】
基準となる日付「date」から、指定した月数「months」だけ未来または過去の月を計算して出力します。計算結果の日付が存在しない場合(例: 3月31日の1ヶ月前は2月31日とはならない)、その月の最終日が自動的に選択されます。出力は日付型です。
【offset_years(date, years)】
基準となる日付「date」から、指定した年数「years」だけ未来または過去の年を計算して出力します。出力は日付型です。
【today()】
この関数を実行した時点での「今日」の日付を出力します。日付は、カスタム列を所有するアカウントに設定されたタイムゾーンに基づきます。出力は日付型です。
【yesterday()】
実行した時点での「昨日」の日付を出力します。タイムゾーンは `today()` と同様です。出力は日付型です。
【week_start_sunday()】
実行した当日、またはそれより前で最も近い「日曜日」の日付を出力します。週次の分析で、週の開始日を日曜日に設定している場合に便利です。出力は日付型です。
【week_start_monday()】
実行した当日、またはそれより前で最も近い「月曜日」の日付を出力します。週の開始日を月曜日に設定している場合に用います。出力は日付型です。
【month_start()】
実行した当月(今月)の初日(1日)の日付を出力します。月次レポートの基準日として使用できます。出力は日付型です。
【year_start()】
実行した当年(今年)の初日(1月1日)の日付を出力します。年次分析の基準日として使用します。出力は日付型です。
【report_range_start()】
現在管理画面で表示しているレポートの「対象期間の開始日」を動的に取得して出力します。レポートの期間を変更すると、この関数の出力も自動で変わるため、非常に柔軟な計算が可能です。出力は日付型です。
【report_range_end()】
`report_range_start()` と対になり、レポートの「対象期間の最終日」を動的に取得します。出力は日付型です。
【report_days_count()】
上記の2つの関数を組み合わせたもので、レポートの対象期間が合計で何日間あるかを計算して出力します。日割り予算の進捗を計算する際などに役立ちます。出力は数値型です。
分割よりもカスタム列をおすすめする理由とは
Google広告の管理画面には、カスタム列と似た機能として「分割」機能が存在します。この「分割」機能も、広告のパフォーマンスデータをより詳細に分析するためのツールであり、例えばキャンペーンの成果を「デバイス別」「ネットワーク別」「週別」といった、あらかじめ定義された項目で分類し、データ表を細分化して表示させることが可能です。
一方で、「カスタム列」は、本記事で解説してきた通り、デバイス別のCVR(コンバージョン率)や広告代理店の手数料を含んだ実質的なCPA(顧客獲得単価)といった、標準では存在しない「より詳細で独自のデータ」を、新たな指標として管理画面の数値一覧に追加できる機能です。どちらも「データを詳細に表示する」という目的は共通していますが、そのアプローチと利便性において大きな違いがあり、継続的な分析や定常的なレポーティングを考慮するならば、断然「カスタム列」の利用を強く推奨いたします。
なぜ「分割」機能よりも「カスタム列」が優れているのか、その具体的な理由を以下で詳しく解説します。
「カスタム列」なら毎回「分割」を設定する手間がない
「分割」機能と「カスタム列」の最も大きな違いは、その「操作の永続性」と、それに伴う「手間の有無」にあります。「分割」機能は、分析を行いたいその都度、データ表の上部にある「分割」ボタンから目的のセグメント(例:「デバイス」)を選択して適用する必要があります。管理画面から離れたり、別のページに移動したりすると、この設定はリセットされてしまうため、同じ分析を再度行いたい場合は、もう一度同じ操作を繰り返さなければなりません。
対照的に、「カスタム列」は、一度作成してデータ表に追加・保存してしまえば、その設定はアカウントに永続的に保存されます。次回管理画面にアクセスした際も、前回と同じ状態でカスタム列が表示され続けるため、レポートが必要になる度に項目を選択し直すといった手間が一切発生しません。例えば、「スマートフォンCVR」というカスタム列を作成しておけば、いつでも管理画面を開くだけで、最新のスマートフォン経由のコンバージョン率を即座に確認できます。
操作自体はわずか数クリックの違いかもしれませんが、これが日次や週次の定点観測となると、積み重なって無視できないほどの時間的コストになります。多忙な業務の中で、こうした繰り返しの単純作業は思考を中断させ、集中力を削ぐ要因ともなり得ます。カスタム列を「デフォルトの指標」として設定することで、そうした日々の煩わしさから完全に解放されるのです。継続的にモニタリングしたい重要な指標があるならば、間違いなく「カスタム列」を利用すべきです。
分割よりも自由度が高い
カスタム列の利用を推奨する第二の理由は、その圧倒的な「自由度の高さ」にあります。「分割」機能で利用できる項目は、Googleによってあらかじめ定められた「デバイス」「時間帯」「コンバージョンアクション」などの固定的なリストに限られます。これらは基本的な分析には有用ですが、自社の独自のビジネスルールやKPIを反映させることはできません。
一方、カスタム列は、前述した多種多様な関数を組み合わせることで、文字通り「自社だけのオリジナル指標」を無限に創り出すことが可能です。例えば、ECサイトにおいて最終的な購入(本コンバージョン)だけでなく、その前段階である「カートへの商品追加」を「マイクロコンバージョン」として設定している場合を考えます。このとき、「マイクロコンバージョン率(カート追加数 ÷ クリック数)」や「マイクロCPA(費用 ÷ カート追加数)」といった指標は、ユーザーの購買意欲を測る上で非常に重要ですが、標準指標にも分割機能にも存在しません。しかし、カスタム列を使えば、これらの指標を簡単な数式で作成し、いつでも管理画面でモニタリングできるようになります。
このように、ありそうでなかった「痒い所に手が届く」指標をデフォルトで表示させられるため、分析の度に電卓を片手に再計算したり、スプレッドシートで複雑な集計を行ったりする面倒な作業を、すべて「カスタム列」に任せることが可能です。この圧倒的な自由度と拡張性こそが、カスタム列が単なる表示機能ではなく、強力な分析ツールである所以です。
カスタム列を利用するメリットは
カスタム列は、Google広告の標準指標にはない、自社独自のオリジナル指標を定義し、管理画面に恒久的に表示させることができる極めて強力な機能です。組み込む関数や指標の組み合わせ方次第で、作成できる指標の可能性は無限大と言っても過言ではありません。このカスタム列を広告運用者が活用することで、具体的にどのようなメリットがもたらされるのか、以下で詳しく解説いたします。
見たい情報が手間をかけずに見られる
カスタム列がもたらす最大のメリットは、分析に必要な情報へアクセスするまでの時間を劇的に短縮できる「即時性」と「効率性」です。例えば、アカウント内で「資料請求」「お問い合わせ」「電話発信」といった複数のコンバージョンアクションを設定している場合を考えます。それぞれの内訳を確認したい時、通常であればデータ表上部の「分類」メニューから「コンバージョン」、さらに「コンバージョンアクション」へと、複数の選択肢をクリックしていく必要があります。これは、特に時間に追われている状況下では、非常に煩わしく感じる操作です。
カスタム列を利用すれば、例えば「CV:資料請求」「CV:お問い合わせ」といった列をあらかじめ作成しておくことで、管理画面を開いた瞬間に、あたかも標準指標のように各コンバージョン数の内訳が表示されます。これにより、どのコンバージョンアクションが好調で、どれが不調なのかを一目で把握でき、広告成果に対する迅速な判断と次のアクションへの移行が可能になります。
さらに、計算式や関数を駆使できるため、これまで電卓やスプレッドシートを片手に手計算していたようなデータ(例:広告費に代理店手数料を加味した実質CPA)も、カスタム列に数式を一度設定するだけで自動計算させ、常に最新の値を表示させることが可能です。これにより、分析の初動にかかる時間を大幅に削減し、より本質的な考察や戦略立案に集中できるようになります。
誰が見てもわかりやすいデータが得られる
広告運用業務においては、運用担当者だけでなく、様々なステークホルダー(広告主、上司、他部署の担当者など)へ成果を報告する場面が頻繁に発生します。カスタム列は、こうしたコミュニケーションを円滑にする上でも大きな価値を発揮します。例えば、広告主から「現在の広告の状況を管理画面で見せてほしい」と要望された際、標準指標のままでは「コンバージョン単価」や「ROAS」といった専門用語に馴染みがない方には、データが直感的に理解しづらい場合があります。
このようなケースでカスタム列を活用すれば、列の名称を「お客様一人あたりの獲得費用」や「広告費1円あたりの売上金額」といった、専門知識がない方でも理解しやすい平易な言葉に変更して表示させることが可能です。これにより、レポートの数値をいちいち口頭で補足説明する手間が省け、広告主や上司とのコミュニケーションが格段にスムーズになり、建設的な議論に時間を費やすことができるようになります。
また、社内においても、広告運用チームに新しく加わった経験の浅いオペレーターに対して、複雑な指標の意味を分かりやすく伝えるための教育ツールとしても機能します。チーム内で共通の分かりやすい指標を持つことで、情報の伝達ミスを防ぎ、より円滑な連携体制を構築することにも繋がるでしょう。
グラフやフィルターにも有効活用できる
作成したカスタム列は、単にデータ表に数値を表示するだけでなく、管理画面上で利用できる他の分析機能とシームレスに連携します。特に強力なのが、グラフ作成機能とフィルター機能への応用です。作成したカスタム列は、グラフの指標として選択することが可能になります。これにより、例えば自社で定義した「利益ベースROAS」や「デバイス別CVR」といったオリジナル指標の推移を、折れ線グラフや棒グラフで視覚的に捉えることができるようになります。
数値の羅列だけでは気づきにくいパフォーマンスの「傾向」や「変化の度合い」は、グラフ化することで一目瞭然となります。広告主へ成果を報告する際にも、具体的なグラフを用いて説明することで、言葉を尽くさずとも状況を直感的に理解してもらうことができ、報告者の心理的負担を軽減すると同時に、説得力を大幅に向上させることが可能です。
また、フィルター機能においても、作成したカスタム列を条件として使用できます。例えば、「フォーム離脱率が80%以上の広告グループ」や、「実質CPAが目標値を20%以上超過しているキャンペーン」といった条件でフィルターをかけることで、膨大なデータの中から、優先的に改善すべき対象を瞬時に絞り込むことができます。このように、グラフとフィルターへの応用は、分析の効率と深度を同時に高める上で非常に有効です。
リアルタイムの結果が得られる
カスタム列で表示される指標の値は、スプレッドシートにエクスポートした時点の静的なデータとは異なり、Google広告の管理画面上でリアルタイムに計算・更新されます。管理画面を再読み込みしたり、表示期間を変更したりするたびに、その時点での最新のパフォーマンスデータに基づいて数式が再計算され、常にフレッシュな値が表示されます。
もちろん、アカウントのデータ量や使用している通信環境によって、データの反映には若干のタイムラグが生じることはありますが、基本的には管理画面でカスタム列を確認しているその瞬間の「最新の数値」がモニタリングできると考えて問題ありません。これにより、日々の入札調整や予算管理といった、即時性が求められる意思決定を、より正確なデータに基づいて行うことが可能になります。外部ツールを介さずに、管理画面内で分析から判断までを完結できる点は、運用スピードを重視する上で大きなメリットと言えるでしょう。
カスタム列作成時に起こりやすいミス
カスタム列は非常に強力な機能ですが、その自由度の高さゆえに、設定時にはいくつかの典型的なミスが発生しがちです。特に、複数の関数を組み合わせた複雑な計算式や、入り組んだ論理式を作成しようとすると、細かな文法ミスに気付かず、意図した通りに計算結果が表示されない、あるいはカスタム列自体を保存できないといった状況に陥ることが少なくありません。
カスタム列がうまく機能しない原因の多くは、意外にも単純な誤字脱字、かっこ(括弧)の閉じ忘れ、計算の順序の間違いといった、初歩的なミスに起因します。ここでは、運用担当者がカスタム列を作成する際によく遭遇する代表的なエラーとその原因について解説します。事前にこれらのミスを把握しておくことで、トラブルシューティングの時間を大幅に短縮できるでしょう。
作成したカスタム列の保存ができない
数式を入力し、いざ「保存」ボタンをクリックした際にエラーメッセージが表示され、カスタム列が保存できないケースは最も頻繁に発生する問題の一つです。その原因として、以下の5つのパターンが主に考えられます。
- 出力するデータ型の間違い:数式の結果(例えば、テキスト)と、設定画面で指定した「データ形式」(例えば、「数値」)が一致していない場合、エラーとなります。`concat`関数で文字列を生成しているのに、データ形式を「パーセント」に設定している、などが典型例です。
- 演算子がない・演算の順序が違う:指標と指標の間に「+」や「/」などの演算子を入れ忘れている、または意図しない順序で計算されている可能性があります。例えば、「費用 / クリック数 * 100」とすべきところを、「費用 / (クリック数 * 100)」としてしまうと、結果は大きく異なります。計算順序は「かっこ」で明確に指定することが重要です。
- かっこが対になってない・抜けている:数式内で使用する丸かっこ「()」は、必ず開始と終了が対になっている必要があります。複雑な数式では、どこかでかっこの閉じ忘れが発生しがちです。エディタ上で慎重に確認しましょう。
- 関数のスペルミス:関数名(例: `round`, `if`)のスペルが間違っていると、関数として認識されずエラーになります。単純なタイプミスですが、意外と見落としやすいポイントです。
- 不適切なダブルクォーテーションの使用:数式内でテキスト(文字列リテラル)を指定する場合は `"テキスト"` のようにダブルクォーテーションで囲みますが、数値、標準の列(指標)、真偽値(true/false)を誤って囲ってしまうとエラーになります。例えば、`"クリック数"` は間違いで、正しくは `クリック数` です。
特に、複数の関数をネスト(入れ子に)させた複雑な計算式を組むほど、これらのミスは発生しやすくなります。エラーが出た際は、焦らずにこれらの項目を一つずつチェックしてみてください。
データ表でカスタム列の所にー(ダッシュ)が表示される
カスタム列の保存には成功し、データ表にも追加できたものの、肝心の値が表示されず、代わりに「—」(ダッシュ)が表示されてしまうことがあります。これは、数式自体は文法的に正しいものの、その特定の行においては計算が実行できない、あるいは有効な値を返せないことを示しています。
主な原因としては、「その行で表示可能な値がない」という状況が考えられます。最も典型的な例は「ゼロ除算」です。例えば、「費用 / クリック数」でクリック単価を計算するカスタム列において、クリック数が「0」の行では、計算が成立しないためダッシュが表示されます。このような場合は、`if(クリック数 > 0, 費用 / クリック数, 0)` のようにIF関数を使い、クリック数が0の場合は代わりに0を表示する、といったエラーハンドリングを行うことで回避できます。
その他、関数のスペルミスや出力するデータ型の間違いが保存時に見逃され、この段階で問題が顕在化することもあります。また、非常に大きな数値を扱う乗算などで、Google広告のシステムが処理できる範囲を超えた結果になった場合にも、計算がエラーとなりダッシュが表示されることがあります。
データ表にカスタム列を追加することができない
これもよくあるミスの一つです。作成したカスタム列を、特定のデータ表(例:「キャンペーン」の表)に追加しようとしても、選択肢に表示されない、あるいはグレーアウトして選択できない場合があります。この原因は、そのカスタム列の数式内に、現在表示しているデータ表の階層では利用できない指標やフィルターが含まれているためです。
例えば、「エンゲージメント」や「エンゲージメント率」といった指標は、動画広告やP-MAXの「広告」階層でしか利用できないデータです。したがって、これらの指標を含むカスタム列を作成した場合、そのカスタム列を「キャンペーン」や「広告グループ」のデータ表に追加することはできません。
カスタム列を作成する際は、どのデータ階層(アカウント、キャンペーン、広告グループ、広告、キーワードなど)でその指標を利用したいのかを常に意識する必要があります。元からその階層で表示できない指標は、カスタム列を使っても魔法のように表示させることはできない、という原則を理解しておくことが重要です。作成しようとしているカスタム列の数式に、対象の階層で利用不可能な指標やディメンションが含まれていないか、事前に確認してください。
既に作成していたカスタム列を参照することができない
カスタム列の便利な機能の一つに、既存のカスタム列を数式内で参照し、再利用できる点があります。これにより、複雑な計算を段階的に行ったり、共通の計算部分を一つのカスタム列にまとめて管理したりすることが可能です。しかし、この参照機能には少し癖があり、初心者が戸惑いやすいポイントとなっています。
具体的には、「新規でカスタム列を作成している最中」には、まだ保存されていないため、他のカスタム列を「列」の選択肢の中から選んで参照することができません。つまり、`[+]`ボタンを押して表示されるカスタム列の作成画面(初回)では、既存のカスタム列は選択候補として表示されない仕様になっています。
この問題を解決する方法はシンプルです。まず、他のカスタム列を参照せずに、基本的な数式だけで一度カスタム列を作成し、「保存」します。その後、保存したカスタム列を再度「編集」するために開くと、今度は「列」の選択肢の中に、アカウント内に存在する他のカスタム列が表示され、選択・参照できるようになります。
少し手間だと感じるかもしれませんが、他のカスタム列を参照して、より高度な計算を行いたい場合は、「新規作成→一度保存→再度編集」という手順を踏む必要があると覚えておきましょう。
Google広告 カスタム列の作成方法
ここからは、実際にGoogle広告の管理画面でカスタム列を作成する手順を、ステップ・バイ・ステップで解説していきます。以下の手順に沿って操作を進めてください。
まず、Google広告のアカウントにログインします。
次に、管理画面左側のページメニューから、カスタム列を作成したい階層を選択します。一般的には「キャンペーン」「広告グループ」、あるいは「検索キーワード」などが対象となります。
ちなみに、カスタム列が作成可能な主なページは以下の通りです。作成したい指標がどの階層のデータに基づいているかによって、適切なページを選択してください。
- 【アカウント】> パフォーマンス
- 【キャンペーン】> キャンペーン
- 【広告グループ】> 広告グループ
- 【広告とアセット】> 広告
- 【キーワード】> 検索キーワード、検索語句
データ一覧が表示されている表の右上にある、列のアイコン(縦に3本線が並んだアイコン)をクリックし、「表示項目の変更」を選択します。今回の例では「キャンペーン」ページで操作を進めます。
「表示項目の変更」画面が開いたら、画面を一番下までスクロールし、「カスタム列」という項目を見つけ、それをクリックします。その後、青い「+ カスタム列」ボタンをクリックして、新規作成画面に進みます。
カスタム列の作成画面が表示されます。ここで各項目を設定していきます。
① 列の所有者と名前、説明
まず、このカスタム列を誰が所有するかを選択します。MCCアカウントで作成している場合は、特定のサブアカウントかMCCアカウント自身かを選べます。次に、「列の名前」を入力します。これはデータ表のヘッダーに表示されるため、誰が見ても内容が理解できる、分かりやすい名称にすることが重要です。「列の説明」は任意ですが、どのような計算を行っている複雑な指標なのかを後から見返せるように、メモとして残しておくと非常に便利です。
② 数式の入力エリアと選択ツール
中央の大きな白いエリアが、数式を組み立てるメインの作業スペースです。このエリアの右側にある「+ 列」ボタンや「+ 関数」ボタンをクリックすることで、計算に使用したい指標や関数を検索し、数式に挿入することができます。直接キーボードで入力することも可能です。
③ データ形式
この項目では、カスタム列が計算した結果をどのような形式で表示するかを定義します。選択できる形式は以下の通りです。
- 数値: 1,234.56 のような一般的な数値形式。
- パーセント (%): 50.25% のように、自動で100倍されパーセント記号が付与される形式。CVRやROASの表示に適しています。
- 金額 (¥): ¥1,234 のように、アカウントの通貨記号が付与される形式。費用や売上に関する指標に使用します。
- テキスト: 文字列を表示する場合に選択します。
- True/False: 真偽値をそのまま表示する場合に使用します。
- 日付: 日付データを表示する場合に選択します。
注意点として、カスタム列を一度保存した後は、この「データ形式」を変更することはできません。もし変更したい場合は、お手数ですが、同じ数式で新規に別のカスタム列を作成し直す必要があります。
④ 保存と適用
すべての項目を入力し終えたら、右下の「保存」ボタンをクリックします。これでカスタム列がアカウントに保存されます。その後、「表示項目の変更」画面に戻るので、作成したカスタム列にチェックを入れ、右下の「適用」ボタンをクリックします。これで、データ表に新しく作成したカスタム列が表示されているはずです。必ず、意図した通りの数値が表示されているか、エラーになっていないかを確認するようにしてください。
関数を追加するやり方
カスタム列にIF文やCONCATといった関数を追加する際の基本的な操作と考え方について解説します。関数を組み立てる前に、「戻り値」と「パラメーター」という二つの概念を理解しておくことが重要です。
【戻り値(Return Value)】
「戻り値」とは、関数が処理を実行した結果として出力する「値」そのものを指します。使用する関数によって、この戻り値のデータ型は決まっています。例えば、`round()`関数の戻り値は「数値」型、`concat()`関数の戻り値は「テキスト」型、`if()`関数の戻り値は指定した値の型、`contains()`関数の戻り値は「True/False」の真偽値型となります。
【パラメーター(Parameter)/ 引数(Argument)】
「パラメーター」とは、関数が処理を行うために必要とする入力値や材料のことです。関数名の後ろのかっこ `()` の中に入力する「変数」や「値」がこれにあたります。関数は、このパラメーターとして与えられた情報を基に内部で処理を実行し、その結果を「戻り値」として返します。
それでは、実際に関数を追加する手順を見ていきましょう。
まず、前述の手順でカスタム列の作成画面を開きます。(【表示項目】→【カスタム列】→【+カスタム列】)
数式入力エリアの右側にある「+ 関数」ボタンをクリックします。すると、利用可能な関数の一覧がカテゴリ別に表示されます。ここから使用したい関数を選択するか、検索ボックスに関数名(例: `left`)を入力して候補を絞り込み、選択します。上の図では「le」と入力することで、「left」や「length」といった関数が候補として表示されています。
関数を選択すると、数式エリアに `left(text, length)` のように関数の雛形が挿入されます。次に、このかっこの中に必要なパラメーターを指定していきます。`left`関数の場合、第一引数に処理対象のテキスト(例: `キャンペーン名`)、第二引数に抽出したい文字数(例: `5`)を、カンマで区切って入力します。結果として、`left(キャンペーン名, 5)` という数式が完成します。
数式が完成したら「保存」し、データ表に適用します。すると、作成したカスタム列が追加され、関数によって処理された結果(この例では各キャンペーン名の先頭5文字)が戻り値として表示されます。
【実践編】カスタム列の主な活用レシピ集
カスタム列の基本的な作成方法を理解したところで、ここからは本記事の核心である、実務で即座に役立つ具体的な「活用レシピ」を目的別に多数紹介していきます。「こんな使い方ができる」というアイデアを知るだけでなく、それぞれのレシピが「どのような分析課題を解決するのか」「なぜその数式になるのか」「その指標を見て次に何をすべきか」を具体的にイメージすることで、皆様の広告運用を一段階高いレベルへと引き上げることができるでしょう。
初歩的なものから、複数の関数を組み合わせた高度なものまで、幅広く紹介します。気になるものがあれば、ぜひご自身のアカウントで試してみてください。
初級編:まず試したい基本的なレシピ
レシピ1:ROASをパーセント表示で見やすくする
解決できる課題:Google広告の標準指標「コンバージョン値 / 費用」は、ROAS(広告費用対効果)を示す重要な指標ですが、デフォルトでは「5.50」のような小数点表示です。これを「550%」のようなパーセント表示に変換することで、直感的に費用対効果を把握し、関係者への報告も分かりやすくなります。
カスタム列の名称案:ROAS (%)
数式:`コンバージョン値 / 費用`
データ形式:パーセント (%)
解説:数式自体は標準指標と同じですが、ポイントは「データ形式」を「パーセント(%)」に設定することです。これにより、計算結果が自動的に100倍され、末尾に「%」が付与されます。非常に簡単な設定ですが、レポートの見栄えと分かりやすさが格段に向上するため、まず初めに設定することをおすすめします。
レシピ2:デバイス別のコンバージョン率(CVR)を比較する
解決できる課題:「分割」機能を使わずとも、パソコン、スマートフォン、タブレットそれぞれのCVRを個別の列として並べて表示したい、というニーズは非常に多いです。これにより、デバイス間のパフォーマンス差が一目瞭然となり、デバイスごとの入札単価調整の精度を高めることができます。
カスタム列の名称案:CVR (PC), CVR (スマホ)
数式(PC用):`コンバージョン(パソコン) / クリック数(パソコン)`
数式(スマホ用):`コンバージョン(スマートフォン) / クリック数(スマートフォン)`
データ形式:パーセント (%)
解説:「列」の選択画面で「パフォーマンス」>「デバイス」と進むと、「クリック数(パソコン)」や「コンバージョン(スマートフォン)」といった、デバイスでセグメント化された指標を選択できます。これらを組み合わせることで、特定のデバイスに絞ったCVRを算出できます。同様に「CPA (PC)」「CPA (スマホ)」なども作成可能です。
中級編:複数の関数を組み合わせる応用レシピ
レシピ3:複数のコンバージョンアクションの内訳を1列にまとめて表示
解決できる課題:「購入完了」「カート追加」「資料請求」など、複数のコンバージョンアクションを設定している場合に、それぞれの数値を個別の列として追加するとデータ表が横に長くなりすぎて見づらくなります。これを1つのセル内にまとめて表示させることで、画面をすっきりと保ちつつ、重要なKPIの概要を把握できます。
カスタム列の名称案:CV内訳
数式:`concat("購入:", to_text(コンバージョン:購入完了), " / ", "カート:", to_text(コンバージョン:カート追加))`
データ形式:テキスト
解説:`concat`関数で固定のテキスト("購入:"など)と、`to_text`関数で数値からテキストに変換した各コンバージョンアクションの指標を連結します。これにより、1つのセル内に「購入:5 / カート:12」のように表示させることができます。表示させたいコンバージョンアクションの数だけ、このパターンを繋げていきます。
レシピ4:フォーム到達からの「離脱率」を可視化する
解決できる課題:最終的なコンバージョン(例:「お問い合わせ完了」)だけでなく、その手前のマイクロコンバージョン(例:「フォーム到達」)も計測している場合、広告からフォームまでは誘導できているものの、そこで離脱してしまっているユーザーがどれだけいるのかを把握することは、コンバージョン率改善の重要なヒントになります。
カスタム列の名称案:フォーム離脱率
数式:`if(コンバージョン:フォーム到達 > 0, 1 - (コンバージョン:お問い合わせ完了 / コンバージョン:フォーム到達), 0)`
データ形式:パーセント (%)
解説:計算式の基本は「1 - (完了数 / 到達数)」です。これにより、フォームに到達したものの完了しなかったユーザーの割合(離脱率)が算出されます。さらに、`if`関数を使って「フォーム到達」数が0の場合のエラー(ゼロ除算)を回避し、代わりに0%と表示させるようにしています。この指標が高い広告は、広告文とランディングページの入力フォームとの間にメッセージの乖離がある可能性などが考えられます。
レシピ5:代理店手数料を含んだ「実質CPA」を算出する
解決できる課題:広告代理店に運用を依頼している場合、Google広告の管理画面に表示されるCPAは媒体費用のみであり、代理店に支払う運用手数料は含まれていません。事業全体の採算性を正確に評価するためには、この手数料を含めた「実質的な顧客獲得単価」を把握する必要があります。
カスタム列の名称案:実質CPA(手数料込)
数式(手数料率20%の場合):`(費用 * 1.2) / コンバージョン数`
データ形式:金額 (¥)
解説:媒体費用(`費用`)に手数料率(この例では20%なので1.2倍)を掛け合わせ、それをコンバージョン数で割ることで、手数料を含んだCPAを算出します。`if`関数を組み合わせて、`if(コンバージョン数 > 0, (費用 * 1.2) / コンバージョン数, 0)` のようにエラー処理を加えておくと、より堅牢な数式になります。これにより、事業の損益分岐点を正確に意識した運用判断が可能になります。
上級編:ビジネスの意思決定を加速させる戦略的レシピ
レシピ6:IF文でパフォーマンスを自動診断し、アラートを表示する
解決できる課題:毎日多くのキャンペーンや広告グループを管理していると、パフォーマンスが悪化しているものを見逃してしまうリスクがあります。特定の条件(例: CPAが目標値を大幅に超過)に合致した場合に、テキストでアラートを表示させることで、問題の早期発見と迅速な対応を促します。
カスタム列の名称案:パフォーマンス診断
数式(目標CPAが5,000円の場合):`if(CPA > 5000 * 1.5, "【警告】CPA大幅超過", if(CPA > 5000, "CPA超過", "良好"))`
データ形式:テキスト
解説:`if`関数を入れ子(ネスト)にしているのがポイントです。まず「CPAが目標値の1.5倍(7,500円)を超えているか」を判定し、超えていれば「【警告】CPA大幅超過」と表示します。そうでなければ、次に「CPAが目標値(5,000円)を超えているか」を判定し、「CPA超過」と表示。それにも当てはまらなければ「良好」と表示します。このように段階的な条件分岐を設定することで、パフォーマンスの深刻度を色分けするように評価できます。
レシピ7:キャンペーン名からABテストのパターンを自動で分類する
解決できる課題:広告クリエイティブやランディングページのABテストを行う際、キャンペーン名に「_PatternA」「_PatternB」のような識別子を付けて管理することがよくあります。これらの識別子を自動で抽出し、テストパターンごとのパフォーマンスを集計しやすくします。
カスタム列の名称案:テストパターン
数式:`if(contains(キャンペーン名, "_PatternA"), "パターンA", if(contains(キャンペーン名, "_PatternB"), "パターンB", "その他"))`
データ形式:テキスト
解説:`contains`関数でキャンペーン名に特定の文字列が含まれているかを判定し、`if`関数で結果を分類しています。「_PatternA」が含まれていれば「パターンA」、「_PatternB」が含まれていれば「パターンB」、どちらでもなければ「その他」と表示します。これにより、フィルター機能で特定のテストパターンだけを簡単に絞り込んで分析できるようになります。
レシピ8:利益ベースのROAS(POAS)を算出し、真の収益性を評価する
解決できる課題:従来のROASは「売上」ベースで計算されるため、利益率の低い商品と高い商品が同じように評価されてしまうという欠点があります。各商品の粗利率を考慮した「利益ベースのROAS(POAS - Profit on Ad Spend)」を算出することで、広告投資がどれだけ「利益」に貢献しているかを正確に測定できます。
カスタム列の名称案:POAS (利益ベースROAS)
数式(例:商材Aの粗利率40%、商材Bの粗利率60%の場合):`((コンバージョン値:商材A * 0.4) + (コンバージョン値:商材B * 0.6)) / 費用`
データ形式:パーセント (%)
解説:この数式は、コンバージョンアクションまたは商品ごとに粗利率が異なる場合に有効です。各コンバージョンの「コンバージョン値(売上)」に、それぞれの粗利率を掛け合わせることで「利益額」を算出します。それらを合算した総利益額を広告費用で割ることで、POASが計算できます。この指標を用いることで、たとえ売上が低くても利益率の高い商材をターゲティングしているキャンペーンを正当に評価できるようになり、より収益性の高い予算配分が可能になります。
Google広告 カスタム列についてよくある質問
Google広告のカスタム列は、広告運用の分析と効率化において非常に強力なツールですが、その多機能性ゆえに、設定や活用を進める中で様々な疑問が生じることがあります。便利な機能だからこそ、中にはこれまでにない変則的な使い方や、より高度な設定を試みたいと考える方もいらっしゃるでしょう。
ここでは、カスタム列の作成や運用において、ユーザーから寄せられることの多い疑問点や、つまずきやすいポイントについて、Q&A形式で詳しく解説していきます。
カスタム列には、どのような制約があるのか?
はい、カスタム列は無限に作成できるわけではなく、システム上のパフォーマンスを維持するためにいくつかの制約(上限値)が設けられています。複雑な計算式を組み上げて、それが意図通りに動作した時の達成感は大きいものですが、以下の制約を超えると設定が保存できなかったり、予期せぬエラーが発生したりする可能性がありますので、注意が必要です。
- アカウントあたりのカスタム列数:1つのGoogle広告アカウント(CID)に追加できるカスタム列の総数は、最大で1,000個までです。
- 数式の文字数制限:1つのカスタム列で使用できる数式の全体の長さは、最大で10,240文字までと定められています。
- フィルターの数:1つの数式内で、列に対して適用できるフィルター(例:「デバイス = モバイル」など)の種類は、列の数に関わらず合計で最大2つまでです。
- 直接参照できる他のカスタム列の数:1つのカスタム列の数式内で、直接参照(呼び出し)できる他のカスタム列の数は、最大で5つまでです。
- 参照の連鎖(階層)の深さ:カスタム列AがBを参照し、BがCを参照し…といった形で連鎖させることができるのは、最大で4段階までです(A→B→C→Dまで)。
- 循環参照の禁止:カスタム列Aがカスタム列Bを参照し、同時にカスタム列Bがカスタム列Aを参照するような、相互参照(循環参照)を行うことはできません。このような設定はエラーとなります。
通常の運用範囲内でこれらの制約が問題になることは稀ですが、非常に大規模なアカウントや、極めて複雑な分析を行おうとする際には、これらの上限値を意識してカスタム列を設計・管理することが重要です。
作成したカスタム列を削除できない?
はい、作成したカスタム列が削除できない場合があります。管理画面で不要になったカスタム列を削除しようとしても、削除オプションがグレーアウトしている、あるいはエラーが表示される場合、その原因はほぼ間違いなく「削除しようとしているカスタム列が、他のいずれかのカスタム列から参照されている」ことにあります。
Google広告のシステムでは、他の数式の計算基盤となっているカスタム列を意図せず削除してしまい、エラーが連鎖的に発生することを防ぐための安全装置として、このような仕様になっています。
この問題を解決するには、まず、削除したいカスタム列(仮に「カスタム列A」とします)を参照している側のカスタム列(仮に「カスタム列B」)を見つけ出し、そのカスタム列Bを編集して、「カスタム列A」への参照を解除(数式から削除)する必要があります。カスタム列Bの参照を解除し、保存し終えた後であれば、晴れて「カスタム列A」を問題なく削除できるようになります。どのカスタム列が参照しているか分からない場合は、関連しそうなカスタム列の数式を一つずつ確認していく必要があります。
数式を保存時にスペースが追加または削除されるのはなぜ?
カスタム列の数式を保存する際に、自分で入力したスペース(空白)が自動的に増えたり減ったりする現象に気づくことがあります。これはバグやエラーではなく、Google広告の仕様によるものです。
この挙動は、数式の「可読性(読みやすさ)」と「一貫性」を保つために、システムが自動的に数式を整形(フォーマット)しているために起こります。例えば、演算子(+, -, *, /)の前後には半角スペースが自動で挿入され、逆に関数のカッコの内側にある不要なスペースは削除される、といった処理が行われます。
この自動整形によって、数式内のスペースが追加・削除されたとしても、計算結果であるカスタム列の値そのものに影響が及ぶことは一切ありませんので、ご安心ください。ただし、一つだけ例外があります。それは、数式内に記述した二重引用符(ダブルクォーテーション)で囲まれたテキスト定数(文字列リテラル)です。この引用符で囲まれた部分(例: `"【要改善】 CPA超過"`)に関しては、入力した通りのスペースが厳密に保持され、自動整形は行われません。
数式の構文はローカライズされていますか?
カスタム列の作成モードには「ビジュアルモード」と「テキストモード」の2種類があり、言語の扱いや構文が異なります。この違いを理解しておくことは、エラーを回避する上で重要です。
ビジュアルモード(デフォルトのGUI画面)の場合:
列名(例:「クリック数」)、フィルタ名、フィルタの値は、現在ご自身がGoogle広告の管理画面で使用している言語(日本語など)に完全にローカライズされて表示されます。直感的で分かりやすいのが利点です。
テキストモード(上級者向けのコード入力画面)の場合:
テキストモードに切り替えると、列名、フィルタ名、フィルタの値、そして関数名は、アカウントの言語設定に関わらず、すべて英語ベースの共通の表記になります。例えば、「クリック数」は `Clicks`、「キャンペーン名」は `Campaign` といった形です。また、スペースや特殊文字を含まない、システム内部で使われる統一された名称で記述する必要があります。
どちらのモードであっても共通のルールとして、数値の小数点には「半角ピリオド(.)」を使用します。数値の桁区切りに使用されるカンマ(,)は、数式内ではパラメーターの区切り文字として扱われるため、絶対に使用しないでください。(例: 1000 と記述し、1,000 とは記述しない)
また、一部の列(例:「キャンペーンのステータス」)では、ビジュアルモードでは「有効」と表示されていても、数式内でその戻り値(返ってくる値)を扱う際には、英語(この場合は `ENABLED`)で評価する必要があります。この点は少し複雑なため、IF文などでステータスを条件にする際は注意が必要です。
まとめ
本記事では、Google広告の「カスタム列」機能について、その基本的な概念から、利用可能な多彩な関数、具体的な作成手順、そして実務における戦略的な活用レシピまで、多岐にわたる内容を詳細に解説いたしました。
かつては、デバイス別のコンバージョン率の算出や、手数料を含んだ実質的なCPAの把握といった分析を行うためには、管理画面からデータをエクスポートし、スプレッドシートや電卓を駆使して手作業で集計する必要があり、レポート作成には膨大な時間と労力が費やされていました。カスタム列は、そうした広告運用における定型的な集計・計算作業を完全に自動化し、我々運用担当者を煩雑な手作業から解放してくれる、まさに革命的な機能です。
この機能を使いこなすことで、単なる労力の削減に留まらず、これまで見過ごされてきた新たなインサイトを発見し、よりデータドリブンで精度の高い意思決定を下すことが可能になります。本記事で紹介した、パフォーマンスを自動診断するアラートの作成や、利益ベースでの費用対効果(POAS)を測定するレシピなどは、そのほんの一例に過ぎません。皆様のビジネスモデルや分析課題に合わせて関数を組み合わせることで、その活用方法は無限に広がります。
カスタム列をマスターすることは、日々の広告管理を効率化するだけでなく、広告運用者としての分析能力を一段階上のレベルへと引き上げるための、不可欠なスキルと言えるでしょう。ぜひ本記事を参考に、まずは簡単なレシピからでも実践していただき、その利便性と強力な分析能力をご自身の広告アカウントでご体感ください。そして、そこから得られた知見を基に、皆様独自のオリジナル指標を作成し、広告運用のさらなる効率化と成果の最大化を追求していきましょう。
当社では、AI超特化型・自立進化広告運用マシン「NovaSphere」を提供しています。もしこの記事を読んで
・理屈はわかったけど自社でやるとなると不安
・自社のアカウントや商品でオーダーメイドでやっておいてほしい
・記事に書いてない問題点が発生している
・記事を読んでもよくわからなかった
など思った方は、ぜひ下記のページをご覧ください。手っ取り早く解消しましょう
▼AI超特化型・自立進化広告運用マシンNovaSphere▼
