hyperfx-ai/tiktok-ads

Hyper MCP経由でTikTok広告キャンペーンを企画・作成するエンドツーエンドのスキル。目的別の厳格なパラメータバリデーションに対応します。

tiktok-ads とは?

このスキルは、Hyper MCPを通じてTikTok Ads Managerを完全に操作し、TikTok広告キャンペーンの企画から作成、最適化、レポートまでをエンドツーエンドで支援します。TRAFFIC、CONVERSIONS、REACH、APP_PROMOTION、VIDEO_VIEWなど、TikTokの目的別キャンペーン設定に必要なパラメータを厳密に検証し、予算不足や過去の開始日時設定などの一般的なエラーを防止します。Hyper MCPをインストールし、TikTok Marketing統合を接続するだけで利用可能で、アカウントの発見、キャンペーン作成、広告グループ設定、クリエイティブアップロード、広告作成、パフォーマンスレポートの各フェーズを順序立てて実行します。特にREACH目的では手動プレースメントとフリークエンシーキャップが必須、TRAFFIC目的ではCPC課金とウェブサイトプロモーションが必要など、目的ごとに異なる要件を自動的にチェックしながら設定を進めます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/hyperfx-ai/marketing-skills/tree/main/skills/tiktok-ads

Installed? Explore more 生産性&コラボレーション skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

TikTok広告

TikTok広告キャンペーンを管理するための戦略的ガイドです。プラットフォームの目的別厳格要件に沿って、詳細な調査、パラメータの慎重な検証、そしてユーザーへのガイダンスを行います。

このスキルは有料TikTok広告(TikTok Marketing API)を対象としています。オーガニックなTikTok動画投稿については、将来の tiktok-posting 姉妹スキルを参照してください。

前提条件

tiktok_get_advertiser_accounts がツールリストにない場合は、処理を停止し、Hyper MCPを有効にしてTikTok Marketingを接続するようユーザーに伝えてください。

ツール一覧

ツール目的
tiktok_get_advertiser_accountsディスカバリー:接続ユーザーが利用可能な広告主ID一覧を取得
tiktok_get_campaigns、tiktok_create_campaign、tiktok_update_campaign、tiktok_update_campaign_statusキャンペーンライフサイクル
tiktok_get_adgroups、tiktok_create_adgroup、tiktok_update_adgroup、tiktok_update_adgroup_status広告グループライフサイクル
tiktok_get_ads、tiktok_create_ad、tiktok_update_ad_status広告ライフサイクル。注意:MCPには tiktok_update_ad は存在しません。広告コンテンツの編集(クリエイティブ、コピー、URL)はTikTok Ads Manager UIが必要です。MCPではステータス変更(有効化 / 一時停止 / 削除)のみ可能です。
tiktok_ad_video_upload、tiktok_ad_video_info、tiktok_ad_video_search動画クリエイティブのアップロード + 検索
tiktok_report_integrated_getパフォーマンスレポート
tiktok_create_custom_audience、tiktok_list_custom_audiences、tiktok_create_lookalike_audienceオーディエンス管理(オプション)

フェーズ1:アカウントの発見

初期設定

  • tiktok_get_advertiser_accounts() を使用して広告主IDを取得します。
  • 複数のアカウントがある場合:ユーザーに選択を促します。
  • 単一のアカウントの場合:ユーザーに通知し、処理を進めます。

入札ベンチマーク(推奨)

入札価格を設定する前に、tiktok_ad_benchmarks を呼び出して業界固有のCPM / CPCベンチマークを取得します。これにより、入札に勝つには低すぎる、またはユーザーの予算に対して高すぎるプレースホルダー値の使用を防ぎます。

tiktok_ad_benchmarks(
    advertiser_id="123456789",
    dimensions=["industry"],
    filtering={"industry": "292801"}  # tiktok_get_advertiser_accounts から取得した業種コード
)

利用可能なキャンペーン目的

目的最適な用途主な要件
TRAFFICウェブサイト訪問数の促進promotion_type="WEBSITE"、CPC課金
CONVERSIONS購入 / リードの促進Pixel ID、コンバージョンイベント追跡
REACHブランド認知手動プレースメントのみ、CPM課金、フリークエンシーキャップ
APP_PROMOTIONアプリインストールアプリID、アプリストアURL
VIDEO_VIEW動画エンゲージメント動画クリエイティブアセット

フェーズ2:キャンペーン作成

ステップ1:キャンペーン作成

予算要件:

  • キャンペーンレベル予算の最低50ドル(TikTok要件)。
  • budget_mode:BUDGET_MODE_INFINITE(CBO)、BUDGET_MODE_DAY、または BUDGET_MODE_TOTAL。
tiktok_create_campaign(
    advertiser_id="123456789",
    campaign_name="サマーセール2026",
    objective_type="TRAFFIC",
    budget_mode="BUDGET_MODE_DAY",
    budget=50.0,  # 最低 $50/日
    operation_status="ENABLE"
)

ステップ2:広告グループ作成

常に必須のパラメータ:

  • advertiser_id、campaign_id、adgroup_name
  • location_ids(例:米国の場合は ["6252001"])
  • schedule_type と schedule_start_time(将来の日付である必要があります)
  • billing_event(CPC、CPM、OCPM)
  • budget_mode(広告グループで必須)

TRAFFICキャンペーンの場合:

tiktok_create_adgroup(
    advertiser_id="123456789",
    campaign_id="1234567890123456",
    adgroup_name="ウェブサイトトラフィック - サマーセール",
    location_ids=["6252001"],  # 米国
    schedule_type="SCHEDULE_FROM_NOW",
    schedule_start_time="2026-06-01 00:00:00",  # 未来の日付
    billing_event="CPC",
    budget_mode="BUDGET_MODE_DAY",
    budget=30.0,
    promotion_type="WEBSITE",        # TRAFFICでは必須
    optimization_goal="CLICK",       # 必須(正しいスペル)
    bid_price=0.50,
    placement_type="PLACEMENT_TYPE_AUTOMATIC",
    operation_status="ENABLE"
)

REACHキャンペーンの場合:

tiktok_create_adgroup(
    advertiser_id="123456789",
    campaign_id="1234567890123456",
    adgroup_name="米国ブランド認知",
    location_ids=["6252001"],
    schedule_type="SCHEDULE_FROM_NOW",
    schedule_start_time="2026-06-01 00:00:00",
    billing_event="CPM",                       # REACHでは必須
    budget_mode="BUDGET_MODE_DAY",
    budget=30.0,
    optimization_goal="REACH",
    placement_type="PLACEMENT_TYPE_NORMAL",    # 必須 — 自動は非対応
    placements=["PLACEMENT_TIKTOK"],           # 必須
    bid_price=2.0,                             # 必須
    frequency=3,                               # 必須
    frequency_schedule=7,                      # 必須
    operation_status="ENABLE"
)

ステップ3:クリエイティブアセットのアップロード

クリエイティブバリエーションごとに1つの動画をアップロードします。返された video_id を記録してください — ステップ4で必要になります。

video_response = tiktok_ad_video_upload(
    advertiser_id="123456789",
    video_file=video_data,
    upload_type="UPLOAD_BY_FILE"
)
video_id = video_response["data"]["video_id"]

既にアップロード済みの動画は再利用できます。tiktok_ad_video_search を使用して名前で既存の動画を検索するか、tiktok_ad_video_info で既知の動画IDのメタデータを取得してください。

ステップ4:広告の作成

tiktok_create_ad(
    advertiser_id="123456789",
    adgroup_id="1234567890123456",
    ad_name="サマーセール - ヒーロービデオ",
    identity_type="CUSTOMIZED_USER",   # またはTikTokアカウントスパーク広告の場合は "AUTH_CODE"
    identity_id="<advertiser_identity_id>",
    ad_format="SINGLE_VIDEO",
    video_id=video_id,
    ad_text="期間限定サマードロップ。今すぐショップへ。",
    landing_page_url="https://example.com/summer",
    call_to_action="SHOP_NOW",
    operation_status="DISABLE"        # 一時停止状態で作成し、レビュー後に有効化
)

広告は常に一時停止状態(operation_status="DISABLE")で作成し、ユーザーがレビューした後にのみ ENABLE に切り替えてください。

重要なパラメータルール

一般的なエラーと解決策

エラー解決策
予算が最低50ドル未満TikTokはキャンペーン予算に最低50ドルを義務付けています。
開始時刻が過去schedule_start_time には未来の日付と現在の年を使用してください。
TikTok APIが一部のコンテキストで optimize_goal を拒否スキーマには optimize_goal と optimization_goal の両方が存在しますが、optimization_goal を推奨します — TikTokがほとんどの目的タイプで検証するフィールドです。
手動プレースメントのみサポートREACHには placement_type="PLACEMENT_TYPE_NORMAL" が必要です。
入札額は0ドルより大きい必要がありますbid_price を > 0 に設定します。
フリークエンシーキャップを設定してくださいREACHには frequency と frequency_schedule の両方が必要です。

パラメータの依存関係

TRAFFIC目的に必要なもの:

  • promotion_type="WEBSITE"
  • optimization_goal="CLICK"
  • billing_event="CPC"
  • bid_price > 0

REACH目的に必要なもの:

  • optimization_goal="REACH"
  • billing_event="CPM"
  • placement_type="PLACEMENT_TYPE_NORMAL"
  • placements 配列(例:["PLACEMENT_TIKTOK"])
  • bid_price > 0
  • frequency と frequency_schedule

CONVERSIONS目的に必要なもの:

  • 接続されたTikTok Pixelと設定済みのコンバージョンイベント
  • optimization_goal="CONVERT"(または価値ベースの場合は VALUE)
  • billing_event="OCPM"
  • 広告グループに設定された pixel_id と external_action

レポート

tiktok_report_integrated_get(
    advertiser_id="123456789",
    report_type="BASIC",
    data_level="AUCTION_AD",
    dimensions=["ad_id"],   # IDベースのみ — 名前は不可
    start_date="2026-04-01",
    end_date="2026-04-30",
    metrics=["impressions", "clicks", "ctr", "spend", "cpc", "cpm"],
    page_size=20
)

レポートルール:

  • stat_time_day ディメンションを使用する場合:1回の呼び出しで最大30日間の範囲。
  • IDベースのディメンションのみを使用してください(ad_id、campaign_id、adgroup_id — 名前は不可)。
  • コンバージョンメトリクス(conversion、cost_per_conversion、conversion_rate など)には、接続されたピクセルと設定済みのコンバージョンイベントが必要です。
  • data_level はディメンションの粒度と一致している必要があります:AUCTION_AD は ad_id、AUCTION_ADGROUP は adgroup_id、AUCTION_CAMPAIGN は campaign_id と組み合わせます。

安全ルール

禁止事項:

  • ユーザーに警告せずに、広告グループの予算を1日20ドル未満に設定すること。
  • 過去の schedule_start_time でキャンペーンをスケジュールすること(TikTokは混乱を招くエラーで拒否します)。
  • REACH広告グループを PLACEMENT_TYPE_AUTOMATIC と組み合わせること — 警告なくバリデーションに失敗します。
  • ユーザーがクリエイティブとターゲティングをレビューする前に、operation_status="ENABLE" で広告を作成すること。
  • 名前ベースのディメンションでレポートを実行すること — TikTokはIDディメンションのみを受け付けます。

関連スキル