Community생산성 & 협업github.com

hyperfx-ai/tiktok-ads

Hyper MCP를 통해 TikTok 광고 캠페인을 기획하고 처음부터 끝까지 생성하며, 목표별 엄격한 파라미터 검증을 수행합니다. 사용자가 TikTok 광고를 시작하거나, 트래픽/도달 캠페인을 설정하거나, 전환/앱 프로모션 캠페인을 구성하거나, TikTok 동영상 크리에이티브를 업로드하거나, TikTok 광고 실적을 분석하려는 경우에 사용합니다. 또한 "tiktok marketing", "tiktok campaign", "tiktok ppc", "tiktok ads manager" 같은 키워드에도 반응합니다.

tiktok-ads란 무엇인가요?

이 스킬은 개발자와 AI 에이전트가 TikTok Ads Manager를 통해 유료 TikTok 광고 캠페인을 완전히 자동화할 수 있도록 설계되었습니다. Hyper MCP(MCP 프로토콜)를 기반으로 작동하며, 계정 검색, 캠페인/광고 그룹/광고 생성, 동영상 크리에이티브 업로드, 실적 보고 등 광고 운영의 전체 라이프사이클을 지원합니다. 특히 TikTok의 목표별(TRAFFIC, REACH, CONVERSIONS, APP_PROMOTION, VIDEO_VIEW) 엄격한 파라미터 요구사항을 검증하고, 일반적인 오류(예: 최소 예산 $50, 미래 날짜의 시작 시간, 수동 배치 필수 등)를 사전에 방지하는 규칙을 내장하고 있습니다. 지원 도구로는 `tiktok_create_campaign`, `tiktok_create_adgroup`, `tiktok_create_ad`, `tiktok_ad_video_upload`, `tiktok_report_integrated_get` 등이 있으며, 모든 광고는 사용자 검토를 위해 일시 중지 상태로 생성되고, 보고서는 ID 기반 차원만 사용해야 합니다. 이 스킬은 Cursor, Claude Code, Codex 등 MCP를 지원하는 모든 플랫폼에서 사용 가능합니다.

지원 대상~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 Ads

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단계: 크리에이티브 에셋 업로드

크리에이티브 변형당 하나의 동영상을 업로드합니다. 반환된 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이 모두 스키마에 존재하지만, 대부분의 목표 유형에서 TikTok이 검증하는 필드는 optimization_goal입니다.
수동 배치만 지원됨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 차원 사용 시: 호출당 최대 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.

안전 규칙

절대 하지 말아야 할 것:

  • 사용자에게 경고 없이 광고 그룹 예산을 $20/일 미만으로 설정.
  • 과거의 schedule_start_time으로 캠페인을 예약(TikTok이 혼란스러운 오류로 거부함).
  • REACH 광고 그룹을 PLACEMENT_TYPE_AUTOMATIC과 혼합(자동으로 검증 실패).
  • 사용자가 크리에이티브 및 타겟팅을 검토하기 전에 operation_status="ENABLE"로 광고를 생성.
  • 이름 기반 차원으로 보고서를 실행(TikTok은 ID 차원만 허용).

관련 스킬