広告:作成、公開、ROI測定(Google、Meta、LinkedIn Ads)
Sellioから直接、Meta、Google Ads、LinkedIn Adsに有料広告を作成・公開できます(キャンペーン、オーディエンス、予算、クリエイティブ)。作成時は一時停止状態です。また、自身のアカウントから広告費とパフォーマンスをインポートし、成立した商談をキャンペーンに帰属させ、キャンペーンごとのROIを確認できます。BYOモデルのため、広告アカウントはお客様自身のものです。
広告連携は、お客様の有料メディアキャンペーン(Google Ads、Meta Ads、LinkedIn Ads)と各キャンペーンの広告費をCRMにインポートします。これにより、成立した商談を発生元のキャンペーンに帰属させ、キャンペーンごとの本当のROI(広告費×収益)を確認できます。これはBYO(「自分のアカウントを持ち込む」)モデルです。広告アカウントと認証情報はお客様自身のもので、当社側での仲介は一切ありません。
この連携は最初は無効な状態で始まります。プラットフォームの認証情報を入力して有効化するまで何も起こりません。シークレット(トークン、クライアントシークレット)はCRM内に暗号化されて保存され、再表示されることはありません。各同期は冪等です。同じキャンペーン(プラットフォームのIDによる)は更新されるだけで、重複作成はされません。
広告の作成と公開(Meta、Google、LinkedIn)
広告費のインポートに加えて、Sellioから直接Meta Ads、Google Ads、LinkedIn Adsに有料広告を「作成」し公開することもできます。「広告作成」パネルはマーケティング → 広告の画面上部にあります。管理者はそこで公開機能をオンにします。書き込み権限のあるトークンで接続したアカウントがあれば、キャンペーン全体(目的、日予算、国・年齢によるオーディエンス、見出し・本文・リンク・行動喚起・アセットライブラリの画像を含むクリエイティブ)を構築できます。
- マーケティング → 広告で「広告公開をオンにする」をクリックします(管理者のみ)。
- 設定 → 連携で書き込みトークンを使って広告アカウントを接続します(各プラットフォームで何が必要かは下記参照)。
- 「広告作成」をクリックし、プラットフォームを選択して、キャンペーン、オーディエンス、クリエイティブを入力し「作成(一時停止)」をクリックします。
- 広告はプラットフォーム上で「一時停止」状態で作成されます。何も課金されません。準備ができたら「有効化」(確認あり)をクリックして配信を開始します。いつでも一時停止できます。
- 「ステータス更新」を使って、プラットフォームから審査状況/状態(審査中、配信中、一時停止)を直接取得します。
ここで作成した広告は、CRMキャンペーン(キャンペーンハブ)のアセットになるため、その広告費とパフォーマンスは下記セクションで説明する同じROIパネルにフィードされます。Google AdsはDeveloper Tokenが本番承認されるまでテストアカウントに限定されます。MetaとLinkedInは、アカウントに応じてアプリ審査/権限が必要になる場合があります。
前提条件
- Google Ads:キャンペーンのあるアカウント、承認済みのDeveloper Token(MCCアカウントのAPI Centerから取得)、Customer ID(123-456-7890形式)、Google CloudのOAuthアプリ(クライアントID/シークレット+Google Adsスコープ付きのrefresh token)。
- Meta Ads:広告アカウントID(act_XXXXXXXX)と、ads_read権限を持つMarketing APIアクセストークン。
- LinkedIn Ads:アカウントID(sponsoredAccount)と、r_ads_reportingスコープを持つOAuthアクセストークン。
- Sellioでは、認証情報を保存し設定 → 連携で連携を有効化するための管理者権限。
各プラットフォームで必要なもの
- Google Ads:Developer Token(MCCアカウントのAPI Centerから取得)、広告アカウントのCustomer ID(123-456-7890形式)、Google Cloudプロジェクトから取得したOAuthアプリ(クライアントID、クライアントシークレット、Google Adsスコープ付きのrefresh token)。任意項目:マネージャー(MCC)アカウント経由でアクセスする場合のLogin Customer ID。CRMはrefresh tokenをaccess tokenに交換し、GAQLクエリを実行して過去30日分のキャンペーンと費用を取得します。
- Meta Ads(Facebook/Instagram):広告アカウントID(act_XXXXXXXXまたは数字のみ)と、ads_read権限を持つMarketing APIアクセストークン(システムユーザーまたはOAuth)。CRMはインサイト(広告費、インプレッション、クリック)が組み込まれたキャンペーンを読み取ります。
- LinkedIn Ads:アカウントID(sponsoredAccountの番号)と、r_ads_reportingスコープを持つMarketing API OAuthアクセストークン。CRMはキャンペーン一覧を取得し、adAnalyticsと突き合わせて広告費/インプレッション/クリックを取得します。
設定(プラットフォームごと)
- 設定 → 連携を開き、プラットフォームのカード「Google Ads」「Meta Ads」または「LinkedIn Ads」を見つけます。
- プラットフォームの項目を入力します(各項目の詳細は上記参照)。シークレットは暗号化されて保存されます。更新する場合は再度貼り付けてください。
- 「認証情報を保存」をクリックし、続いて「有効化」をクリックします。
- 「キャンペーンを同期」をクリックして、キャンペーンと広告費を今すぐインポートします。広告画面からも同期できます。
キャンペーンとROI
マーケティング → 広告(または連携カードの「キャンペーンとROIを見る」リンク経由)で、インポートされたキャンペーンをプラットフォーム、ステータス、広告費、通貨、インプレッション、クリックとともに、キャンペーンごとのROIテーブルと一緒に確認できます。ROIは帰属された成立収益から広告費を差し引いたもの、ROASは収益を広告費で割ったもの(広告費用対効果)です。
ROIテーブルには、広告ごとにCPL(クリック単価=広告費÷クリック数)、成約単価(広告費÷帰属された成立商談数)、コンバージョン率(成立数÷クリック数)も表示されます。これにより、単なる合計広告費だけでなく、各広告の効率を比較できます。
インポートされた各広告は、インポート済みキャンペーンテーブルの「キャンペーン」列を通じてCRMキャンペーンにリンクできます。リンクすると、その広告はキャンペーンハブ内でそのキャンペーンのアセット(ランディングページ、投稿、CTAと並んで)として表示され、1つの施策のすべてを一箇所に集約できます。
商談のアトリビューション
同じ広告画面の「商談のアトリビューション」セクションでは、成立した商談がキャンペーン選択欄とともに一覧表示されます。商談をキャンペーンにリンクすると、成立金額がそのキャンペーンの収益としてROIに反映されます。商談側にもその参照が「広告キャンペーン」フィールドに保存されます。
制限事項:実際のAPIは、お客様のアカウントの有効な認証情報でのみ応答します。認証情報がない場合、連携は無効な状態のままとなり、同期は設定を求める明確なエラーを返します。Google Adsのデフォルトの広告費取得期間は直近30日間です。
テスト方法
- 保存して有効化した後、プラットフォームのカードで「キャンペーンを同期」をクリックします。
- マーケティング → 広告を開き、インポートされたキャンペーンがプラットフォーム、ステータス、広告費、通貨、インプレッション、クリックとともに表示されることを確認します。
- 「商談のアトリビューション」セクションで、成立した商談をキャンペーンにリンクし、そのキャンペーンのROI/ROASに収益が反映されることを確認します。
トラブルシューティング
- Google Ads 401/認証エラー:refresh tokenが無効/期限切れ、Developer Tokenが未承認、またはCustomer IDが間違っています。refresh token(Google Adsスコープ)を再生成し、MCC経由でアクセスしている場合はLogin Customer IDを確認してください。
- Meta Ads:キャンペーンが表示されない:アクセストークンにads_read権限が必要で、広告アカウントIDはact_XXXXXXXX形式(または数字のみ)である必要があります。
- LinkedIn Ads:403/データなし:トークンにr_ads_reportingスコープが必要で、アカウントIDはsponsoredAccountの番号である必要があります。
- 同期はできるがROIがゼロのまま:計算に含まれるのは、キャンペーンに帰属された「成立」商談のみです。広告画面で商談を帰属付けしてください。
- 通貨が異なる:広告費はプラットフォームから、収益は商談から取得されます。値は為替変換せずそのまま表示されます。