Google Ads MCP 서버가 있나요? 네. Hermoso는 호스팅되는 Google Ads MCP 서버입니다. https://app.hermoso.ai/mcp를 Claude, ChatGPT 또는 Cursor에 추가하고 Google Ads 계정을 한 번 연결하세요. 그러면 어시스턴트가 검색, 디스플레이, Performance Max 캠페인을 만들고, 키워드 아이디어를 찾고, 예산, 입찰, 타겟팅을 설정하고, 리포트를 실행할 수 있습니다. 캠페인을 켜려면 항상 당신의 명시적인 확인이 필요합니다.
Google Ads는 트리 구조이고, 스크립트로 캠페인을 만들 때 보통 문제가 생기는 곳이 바로 이 트리입니다. 예산을 만들고, 캠페인을 만들고, 광고 그룹을 만들고, 광고를 만듭니다. 네 번째 단계에서 광고가 거절되면 고아가 된 객체 세 개와 원하지 않았던 예산이 남습니다. 이를 손으로 정리하는 일이 대부분의 사람들이 Google Ads 자동화를 포기하는 이유입니다.
Hermoso의 MCP 서버는 전체 트리를 하나의 원자적 작업으로 만듭니다. 아직 존재하지 않는 부모를 자식이 참조할 수 있도록 임시 리소스 id를 사용합니다. 캠페인, 광고 그룹, 광고, 키워드가 모두 만들어지거나, 아무것도 만들어지지 않습니다. 광고가 거절되면 예산도 만들어지지 않습니다.
한 번만 설치하세요: Claude.ai나 Claude Desktop에서는 Settings → Connectors 아래에 https://app.hermoso.ai/mcp를 붙여 넣고 Hermoso 계정으로 승인하세요. 코딩 에이전트에서는 명령 한 줄이면 됩니다. Claude Code에서는 /plugin marketplace add hermoso-ai/hermoso 다음 /plugin install hermoso@hermoso, Codex에서는 codex plugin marketplace add hermoso-ai/hermoso 다음 codex plugin add hermoso@hermoso, Cursor에서는 npx skills add hermoso-ai/hermoso -a cursor를 실행하세요(-a 뒤에는 사용하는 에이전트 이름을 넣습니다). 그다음 npx -y hermoso auth login으로 한 번 로그인합니다. 전체 설정은 MCP & CLI 페이지에 있습니다.
Google Ads 도구
만들기. create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords, create_google_ads_performance_max_campaign, upload_google_ads_asset, 사이트링크, 콜아웃, 구조화된 스니펫용 add_google_ads_assets.
설정. set_google_ads_budget, set_google_ads_bidding(전략 여섯 가지), set_google_ads_targeting(지역과 언어), find_google_ads_locations, set_google_ads_networks(검색 파트너와 디스플레이 켜기 또는 끄기), create_google_ads_conversion_action, list_google_ads_conversion_actions.
조사. google_ads_keyword_ideas는 키워드 플래너를 대화 안으로 가져옵니다. 키워드 묶음, 랜딩 페이지, 또는 사이트 전체를 씨앗으로 삼아 실제 월간 검색량, 경쟁도, 페이지 상단 입찰가 범위를 보여 줍니다.
읽기와 변경. list_google_ads_campaigns, 임의의 GAQL을 실행하는 google_ads_report, 계정에서 무엇이 언제 바뀌었는지 보여 주는 google_ads_change_history, 객체 하나를 제거하는 delete_google_ads_object, 그리고 실제 광고비 집행을 시작하는 유일한 확인 게이트 스위치인 set_google_ads_status.
create_google_ads_campaign에는 드라이 런 모드도 있어서, 에이전트가 아무것도 만들지 않고 라이브 API에 대해 트리 전체를 검증할 수 있습니다. 승인받을 계획을 제안할 때 좋은 기본값입니다.
에이전트가 Google Ads MCP로 할 수 있는 일
아래 모든 행은 서버의 실제 도구입니다. 일상 언어로 요청하면 에이전트가 실행할 도구를 고릅니다.
| 작업 | 도구 | 일어나는 일 |
|---|---|---|
| 검색 또는 디스플레이 캠페인 만들기 | create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords | 예산, 캠페인, 광고 그룹, 반응형 광고, 키워드를 하나의 원자적 작업으로 만들고 일시중지 상태로 생성합니다. 드라이 런은 먼저 전체 트리를 라이브 API에 대해 확인합니다. |
| Performance Max 만들기 | create_google_ads_performance_max_campaign | 검색, YouTube, 디스플레이, Discover, Gmail, 지도에 걸친 캠페인 하나를 에셋 그룹과 함께 일시중지 상태로 만듭니다. 전환 액션이 없는 계정에서는 거절합니다. |
| 키워드 조사 | google_ads_keyword_ideas | Google 키워드 플래너: 씨앗 키워드, 랜딩 페이지 또는 사이트에서 월간 검색량, 경쟁도, 페이지 상단 입찰가 범위를 보여 줍니다. |
| 사이트링크와 콜아웃 | add_google_ads_assets, upload_google_ads_asset | 사이트링크, 콜아웃, 구조화된 스니펫을 만들어 캠페인이나 광고 그룹에 붙입니다. 이미지 에셋을 업로드하며, 당신의 이미지든 Hermoso의 이미지든 상관없습니다. |
| 타겟팅과 네트워크 | set_google_ads_targeting, find_google_ads_locations, set_google_ads_networks | 지역과 언어를 이름으로 지정하고, 검색 파트너와 디스플레이를 켜거나 끕니다. |
| 입찰과 예산 | set_google_ads_bidding, set_google_ads_budget | 입찰 전략 여섯 가지와 일일 예산. 운영 중인 예산을 올리려면 확인을 요청합니다. |
| 전환 추적 | create_google_ads_conversion_action, list_google_ads_conversion_actions | 전환 액션을 만들고, 해당 계정에서 스마트 입찰이 작동할 수 있는지 알려 줍니다. |
| 리포트 | google_ads_report, list_google_ads_campaigns | 임의의 GAQL 쿼리: 캠페인, 광고 그룹, 광고, 키워드, 검색어, 인구통계, 지역. |
| 무엇이 바뀌었나 | google_ads_change_history | 계정을 누가 또는 무엇이 언제 바꿨는지 보여 줍니다. |
| 시작, 일시중지, 삭제 | set_google_ads_status, delete_google_ads_object | 켜면 실제 광고비 집행이 시작되며, 명시적 확인 없이는 실행하지 않습니다. |
| Merchant Center | list_merchant_accounts, list_merchant_products, list_merchant_issues | 쇼핑이나 리테일 Performance Max 캠페인이 광고하는 피드를 읽고, 제품이 왜 승인되지 않았는지 보여 줍니다. |
| GA4 연결 | link_google_ads_to_analytics, list_analytics_google_ads_links, create_analytics_key_event | GA4 속성을 연결해서 주요 이벤트를 Google Ads 전환으로 가져올 수 있게 합니다. |
예시 프롬프트
Hermoso가 연결되면 아래 문장 중 아무거나 Claude, ChatGPT 또는 Cursor에 붙여 넣으세요.
- “프로젝트 관리 앱에 맞는 키워드 30개를 찾아 주세요. 미국에서 월간 검색량 1,000 이상이고, 검색 의도별로 묶어 주세요.”
google_ads_keyword_ideas가 키워드 플래너 검색량, 경쟁도, 입찰가 범위를 반환하고, 에이전트가 의도별로 묶습니다. - “그 키워드로 일시중지된 검색 캠페인을 만들어 주세요. 하루 $50, 미국과 캐나다, 영어, 전환 최대화.”
create_google_ads_campaign이 예산, 캠페인, 광고 그룹, 광고, 키워드를 하나의 원자적 작업으로 일시중지 상태로 만든 다음 다시 읽어 옵니다. - “Shopify 카탈로그를 Merchant Center 피드로 쓰는 Performance Max 캠페인을 설정해 주세요.”
list_merchant_accounts가 스토어를 고르고, create_google_ads_performance_max_campaign이 피드를 붙인 상태로 일시중지 캠페인을 만듭니다. - “지난달 돈은 썼지만 전환되지 않은 검색어가 무엇인가요? 가장 나쁜 열 개를 제외 키워드로 추가해 주세요.”
google_ads_report가 검색어 리포트를 가져오고, add_google_ads_keywords가 제외 키워드를 추가합니다. - “브랜드 캠페인에 사이트링크 네 개를 추가해 주세요: 가격, 데모, 사례, 문의.”
add_google_ads_assets가 사이트링크를 만들고 캠페인에 붙입니다. - “모든 캠페인에서 검색 파트너를 끄고, 변경 전후를 보여 주세요.”
set_google_ads_networks가 먼저 현재 설정을 읽은 다음, 캠페인별로 변경합니다. - “금요일에 누가 입찰가를 바꿨어요. 무엇이 바뀌었나요?”
google_ads_change_history가 시각과 함께 변경 내역을 보여 줍니다. - “GA4 속성을 연결해서 가입이 Google Ads에서 전환으로 집계되게 해 주세요.”
link_google_ads_to_analytics가 두 계정을 연결하고, create_analytics_key_event가 가입 이벤트를 주요 이벤트로 표시합니다.
Performance Max도 같은 방식으로 만듭니다
create_google_ads_performance_max_campaign은 Google의 크로스 서피스 캠페인 유형(검색, YouTube, 디스플레이, Discover, Gmail, 지도를 하나의 캠페인으로)을 만들고, 이를 단일 원자적 작업으로 만듭니다. Google이 정확히 그렇게 요구하기 때문입니다. 예산, 캠페인, 위치와 언어 타겟팅, 에셋 그룹, 모든 에셋 연결이 함께 올라갑니다. 그래서 거절된 에셋이 반쯤 만들어진 캠페인을 남기지 않습니다. 일시중지 상태로 만들어지며, 에이전트가 캠페인이 존재한다고 말하기 전에 전체 트리를 Google에서 다시 읽어 옵니다.
Google의 에셋 최소 요건은 무엇인가 보내기 전에 여기서 확인합니다. 정사각형 이미지가 빠졌다면 불투명한 API 거절 대신 분명한 메시지가 나옵니다. 제목 3–15개(30자 이하), 긴 제목 1–5개(90자 이하), 설명 2–5개(90자 이하), 비즈니스 이름 하나(25자 이하), 로고 최소 하나, 마케팅 이미지 하나, 정사각형 마케팅 이미지 하나입니다. 먼저 upload_google_ads_asset으로 이미지를 업로드하고 리소스 이름을 넘기세요. YouTube 영상은 선택 사항입니다. 빼면 Google이 에셋 그룹에서 하나를 만듭니다.
Performance Max에는 키워드가 없고 수동 입찰도 없습니다. 전환만 최적화하고 다른 것은 최적화하지 않습니다. 그래서 활성화된 전환 액션이 없는 계정에서는 최적화할 수 없는 캠페인을 만드는 대신 빌드를 거절하고, 두 가지 해결책을 알려 줍니다. create_google_ads_conversion_action으로 하나를 만들거나, 전환이 필요 없는 전략을 쓰는 것입니다. Google Ads API v21부터 새 PMax 캠페인은 브랜드 가이드라인이 기본으로 켜져 있으며, 이는 비즈니스 이름과 로고가 붙는 위치를 바꿉니다. Hermoso가 캠페인에 대신 연결해 줍니다.
쇼핑 피드(리테일) Performance Max도 같은 방식으로 작동합니다. merchantCenterId를 넘기면 캠페인이 Merchant Center 카탈로그를 광고하고, feedLabel을 넣으면 피드 하나로 좁힙니다. 위의 캠페인과 똑같이 만들고 다시 읽습니다. 다시 읽은 결과에는 Google이 실제로 저장한 Merchant Center 계정과 피드 라벨이 나오므로, 우리 말을 믿을 필요 없이 실제로 리테일 캠페인인지 확인할 수 있습니다. 피드 전체를 하나의 루트 리스팅 그룹 아래에서 광고합니다. 피드를 브랜드, 카테고리, 커스텀 라벨로 나누는 기능은 만들지 않았습니다. 조용히 무시하는 대신 이름을 대고 거절하므로, 좁혔다고 믿었는데 실제로는 그렇지 않은 상황이 생기지 않습니다.
Merchant Center, 에이전트가 무엇을 파는지 알도록
“이 제품이 왜 노출되지 않나요?”는 Google Ads 리포팅으로는 구조적으로 답할 수 없는 질문입니다. 승인되지 않은 제품에는 노출이 없어서 보고할 것이 없기 때문입니다. 그 답은 Merchant Center에 있고, 같은 Google 연결로 별도 로그인 없이 거기까지 닿습니다.
에이전트는 list_merchant_accounts로 연결된 Google 계정이 접근할 수 있는 Merchant Center 계정 목록을 볼 수 있습니다(에이전시는 보통 여러 개를 가지므로, 추측하지 않고 어느 스토어인지 묻습니다). list_merchant_products로 피드의 제품을 읽고(쇼핑이나 리테일 Performance Max 캠페인이 실제로 서비스하는 카탈로그), list_merchant_issues로 Google이 계정에 제기한 계정 수준 문제를 읽을 수 있습니다. 실제로 존재하는 제품에 대해, 실제로 유효한 가격으로 광고 문구를 쓰고, 조용한 캠페인을 설명하기에 충분합니다.
쓰기도 가능합니다. create_merchant_data_source는 API 제품 피드를 만들고, upsert_merchant_product는 제품을 그 피드에 넣고, update_merchant_product는 매일 바뀌는 필드(가격과 재고)를 바꿉니다. delete_merchant_product와 delete_merchant_data_source는 확인을 거쳐 제거합니다. list_merchant_data_sources는 실제로 쓰기를 받을 수 있는 피드를 보여 줍니다.
미리 알아 둘 세 가지가 있습니다. 첫째, Google은 Hermoso의 Cloud 프로젝트가 당신의 Merchant Center 계정에 등록되기 전까지 모든 Merchant API 호출을 막습니다. 그래서 register_merchant_developer가 그 연결을 한 번 수행하고, 그렇다고 명확히 알려 줍니다. 연결이 고장 난 것이 아니며, 다시 연결해도 해결되지 않습니다. 둘째, 제품 쓰기는 API 데이터 소스에만 들어갑니다. 파일 피드, 자동 피드, Merchant Center UI가 만드는 피드는 모두 정상적으로 목록에 나오지만 쓰기는 모두 거절합니다. 그래서 Hermoso가 쓰기 가능한 피드를 대신 찾아 주고, 없으면 만들며, 여러 개가 있으면 캠페인이 노출되지 않을 수 있는 시장에 제품을 넣는 대신 이름을 대고 거절합니다. 셋째, upsert_merchant_product는 행 전체를 쓰고, update_merchant_product는 패치입니다. 첫 번째에는 유지하고 싶은 모든 필드를 보내고, 두 번째에는 바꾸는 필드만 보내세요.
이 때문에 카탈로그를 옮길 필요는 없습니다. 피드가 이미 Shopify나 다른 플랫폼에 있다면 거기에 두고 에이전트가 읽게 하세요. 쓰기 기능은 피드를 아무도 소유하지 않는 경우나, 다음 동기화를 기다리지 않고 가격이나 재고 하나를 지금 바로 고쳐야 할 때를 위한 것입니다.
Google Analytics 4, 클릭이 무엇을 했는지 보도록
Google Ads 리포팅은 클릭에서 끝납니다. 그다음에 일어난 일(세션, 가입, 주문)은 Google Analytics에 있고, 같은 Google 로그인으로 닿을 수 있습니다. 별도의 권한이 필요하므로 자체 연결입니다.
에이전트는 list_analytics_properties로 어떤 GA4 속성을 읽을지 찾을 수 있습니다. 이것이 중요한 이유는 모든 Analytics 호출이 숫자 속성 id를 받는데, 여러분이 가진 것은 추적 스니펫에 있는 G-XXXXXXXXX 측정 ID이기 때문입니다. 그다음 analytics_report가 채널, 소스/매체, 캠페인, 랜딩 페이지, 국가, 기기, 날짜별로 나눈 세션, 사용자, 전환, 매출을 반환하고, analytics_realtime이 지금 사이트에 누가 있는지 보여 줍니다. 그래서 “캠페인을 만들어 줘”와 “얼마나 벌었는지 알려 줘”는 같은 대화입니다.
GA4는 쓰기도 하며, 이것이 Google Ads로 곧바로 되돌아가는 부분입니다. create_analytics_key_event는 GA4가 이미 수집하는 이벤트를 주요 이벤트로 표시합니다. 이것이 Google Ads가 전환으로 가져오는 바로 그것이고, 이 페이지의 모든 스마트 입찰 전략은 전환 액션 없이는 작동할 수 없습니다. create_analytics_custom_dimension은 리포트를 그 기준으로 나눌 수 있도록 이벤트 매개변수를 등록하고, list_analytics_definitions는 둘 중 무엇을 추가하기 전에 속성이 이미 측정하는 것을 보여 줍니다. 영구적으로 참인 두 가지가 있습니다. 이것은 GA4 전용이며 API에는 Universal Analytics 표면이 전혀 없습니다. 그리고 커스텀 차원은 보관할 수는 있어도 삭제할 수는 없고, 속성당 이벤트 범위 슬롯은 50개뿐입니다. 그래서 에이전트는 먼저 기존 목록을 확인합니다.
실제 광고비 집행 게이트는 도구 하나보다 넓습니다
캠페인을 일시중지하는 것만이 광고비 집행을 막는 방법은 아닙니다. 이를 그렇게만 생각하면 실제로 위험합니다. 이미 켜진 부모 아래에서 켜진 광고 그룹, 광고, 키워드를 만들면 다음 경매에서 바로 노출됩니다. 그래서 set_google_ads_status를 보호하는 같은 확인이 부모가 라이브일 때 create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords도 보호합니다. 이 도구들이 이미 가져오는 행에서 읽으므로 추가 왕복은 없습니다. 제외 키워드는 광고비를 제한하기만 하므로 게이트를 걸지 않습니다.
GAQL 리포팅과 알아 둘 주의점 하나
google_ads_report는 임의의 GAQL을 받으므로, 에이전트는 고정된 리포트 형식에 갇히지 않고 필요한 조각을 요청할 수 있습니다. 쿼리를 직접 쓰거나 모델에게 쓰게 할 때 기억할 점이 하나 있습니다. GAQL은 SQL이 아닙니다. 서브쿼리가 없고, IN은 리터럴 목록만 받습니다. WHERE id IN (SELECT …)은 잘못된 문법이라 조용히 틀린 행을 돌려주는 대신 실패합니다. 결과는 create_sheet와 append_to_sheet로 스프레드시트에 바로 넣거나, create_doc으로 문서에 넣을 수 있습니다.
다시 읽은 뒤 보고합니다
뮤테이트 후에 트리를 Google에서 다시 읽고, 받는 요약은 요청한 내용이 아니라 그 다시 읽은 결과로 만듭니다. 이는 작은 원칙이지만, 에이전트가 플랫폼이 실제로 강제 변경하거나 거절한 캠페인을 자신 있게 설명하는 특정 실패를 잡아냅니다.
확인 없이 하지 않는 일
예산이 있는 에이전트는 영향 범위가 제한되어야 쓸모가 있으므로, 광고비 권한은 프롬프트가 아니라 서버에서 막습니다. Meta 캠페인, 광고 세트, 광고는 호출자가 무시할 수 없이 항상 PAUSED로 만들어집니다. 실제 광고비를 켤 수 있는 상태 스위치(모든 광고 플랫폼에 하나씩 있으며 set_meta_campaign_status, set_google_ads_status, set_microsoft_ads_status, set_reddit_ads_status, set_linkedin_ads_status, set_pinterest_ads_status, set_x_ads_status, set_openai_ads_status가 그 예입니다)은 모두 명시적인 확인 플래그 없이는 실행되지 않습니다. 같은 게이트가 이미 켜진 부모 아래에서 켜진 Google Ads 광고 그룹, 광고, 키워드를 만드는 것도 막습니다. 그것이 다음 경매에서 바로 노출되기 때문입니다. 삭제도 확인을 거칩니다. 생성 쪽에서는 hermoso_capabilities가 무엇이든 실행하기 전에 각 모델의 정확한 크레딧 비용을 보여 주고, 모든 렌더는 예상 비용을 예약한 뒤 실제 비용으로 정산하므로, 전송이 실패하면 조용히 과금하지 않고 환불합니다.
Google Ads 계정 연결
Google Ads는 Hermoso 설정 → 커넥터에서 Google 자체 OAuth 흐름으로 Hermoso에 연결합니다. 모델을 거쳐 비밀번호가 전달되지 않습니다. Google Ads 연결은 브랜드 단위로 공유되므로, 한 브랜드를 쓰는 팀 전체가 개인마다 다시 인증하지 않고 하나의 연결로 작업합니다.
크리에이티브 쪽
캠페인 관리는 실행할 무언가가 있을 때만 쓸모가 있습니다. 같은 서버가 Meta, Google, LinkedIn 광고 라이브러리에서 시장에서 이미 잘 되는 광고를 조사하고, 100개 이상의 모델로 실제 제품이 들어간 완성된 이미지와 영상 크리에이티브를 렌더링하며, 에셋을 업로드합니다. 그래서 “무엇을 돌려야 하나”와 “만들어 줘”가 두 개의 도구가 아니라 하나의 대화입니다. 자세한 내용은 마케팅 MCP 개요, 전체 도구 목록, 둘 다 쓴다면 Meta Ads MCP를 보세요.
자주 묻는 질문
Google Ads용 MCP 서버가 있나요?
네. Hermoso의 MCP 서버는 어떤 MCP 클라이언트에서든 Google Ads를 만들고 관리합니다. 검색이나 디스플레이 트리를 만들려면 create_google_ads_campaign, create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords를 쓰고, Performance Max에는 create_google_ads_performance_max_campaign을 씁니다. 설정에는 set_google_ads_budget, set_google_ads_bidding, set_google_ads_targeting을 씁니다. 키워드 플래너 조사에는 google_ads_keyword_ideas를, 리포팅에는 list_google_ads_campaigns와 google_ads_report를 씁니다. 쇼핑 캠페인 뒤의 제품 피드는 Merchant Center 읽기로 확인하고, 활성화는 확인 게이트가 걸린 set_google_ads_status로 합니다.
AI 에이전트가 Google Ads 캠페인을 만들 수 있나요?
네. 전체 트리를 임시 리소스 id를 써서 하나의 원자적 작업으로 만듭니다. 캠페인, 광고 그룹, 반응형 검색 또는 디스플레이 광고, 키워드가 함께 만들어집니다. 광고가 거절되면 예산도 만들어지지 않으므로 고아가 된 객체를 정리할 필요가 없습니다. 드라이 런 모드는 아무것도 만들지 않고 라이브 API에 대해 트리를 검증합니다.
Performance Max 캠페인도 만들 수 있나요?
네. create_google_ads_performance_max_campaign은 예산, 캠페인, 타겟팅, 에셋 그룹, 모든 에셋 연결을 하나의 원자적 작업으로 만듭니다. Google이 이것들을 함께 요구하기 때문입니다. 캠페인은 일시중지 상태로 만들어지고, 에이전트가 보고하기 전에 다시 읽습니다. Google의 에셋 최소 요건은 보내기 전에 강제됩니다. 제목 3–15개, 긴 제목 1–5개, 설명 2–5개, 비즈니스 이름, 그리고 로고, 마케팅 이미지, 정사각형 마케팅 이미지 최소 하나씩입니다. PMax는 전환에만 입찰하므로, 활성화된 전환 액션이 없는 계정에서는 최적화할 수 없는 캠페인을 만드는 대신 빌드를 거절합니다. 쇼핑 피드(리테일) PMax도 같은 방식입니다. merchantCenterId를 넘기면 캠페인이 Merchant Center 카탈로그를 광고하고, feedLabel로 피드 하나로 좁히며, 다시 읽은 결과에는 Google이 실제로 저장한 Merchant Center 계정과 피드 라벨이 나옵니다.
Google Merchant Center와 함께 쓸 수 있나요?
네, 같은 Google 연결로 읽기와 쓰기가 모두 됩니다. 에이전트는 계정이 접근할 수 있는 Merchant Center 계정을 보고, 피드의 제품(쇼핑이나 리테일 Performance Max 캠페인이 실제로 서비스하는 카탈로그)을 읽고, Google이 제기하는 계정 수준 문제도 읽을 수 있습니다. 제품이 노출되지 않는 이유를 알 수 있는 곳이 여기뿐입니다. 승인되지 않은 제품에는 Google Ads 리포팅이 보여 줄 노출이 없기 때문입니다. API가 응답하기 전에 Hermoso의 Cloud 프로젝트를 Merchant Center 계정에 한 번 등록해야 하며, 이를 수행하는 도구가 있습니다. 쓰기도 됩니다. 매일 바뀌는 가격과 재고 변경을 위해 create_merchant_data_source, upsert_merchant_product, update_merchant_product를 쓰고, 확인 게이트가 걸린 delete_merchant_product와 delete_merchant_data_source를 씁니다. Google은 제품 쓰기를 API 데이터 소스에만 받으므로, Hermoso가 쓰기 가능한 피드를 찾아 주고 계정에 여러 개가 있으면 이름을 대고 거절합니다.
키워드 조사도 할 수 있나요?
네. google_ads_keyword_ideas는 Google 키워드 플래너를 호출해 실제 월간 검색량, 경쟁도, 페이지 상단 입찰가 범위를 반환하며, 키워드, 랜딩 페이지 URL, 사이트 전체를 씨앗으로 씁니다. 에이전트는 그 결과를 바로 add_google_ads_keywords에 넘기거나 Google 시트에 쓸 수 있습니다.
에이전트가 Google Ads 예산을 쓰기 시작할 수 있나요?
명시적인 확인이 있을 때만 가능합니다. set_google_ads_status가 실제 돈을 켜는 스위치이고, 이미 켜진 부모 아래에 켜진 하위 객체를 만들면 다음 경매에서 바로 노출되므로 같은 확인이 부모가 라이브일 때 create_google_ads_ad_group, create_google_ads_ad, add_google_ads_keywords도 보호합니다. 제외 키워드는 광고비를 제한하기만 하므로 게이트를 걸지 않습니다.
리포트를 실행할 수 있나요?
네. google_ads_report는 임의의 GAQL을 받으므로 에이전트가 필요한 조각을 무엇이든 요청할 수 있습니다. GAQL은 SQL이 아니라는 점에 유의하세요. 서브쿼리가 없고 IN은 리터럴 목록만 받으므로 WHERE id IN (SELECT …)은 잘못된 문법입니다. 결과는 Google 시트나 문서에 바로 쓸 수 있습니다.
어떤 입찰과 타겟팅을 설정할 수 있나요?
입찰 전략 여섯 가지, 캠페인 일정, 지역과 언어 타겟팅을 설정하며, 지역 타겟은 find_google_ads_locations로 이름을 찾아 지정합니다. 예산은 set_google_ads_budget으로 설정하고, 키워드는 제외 키워드와 키워드별 CPC를 지원합니다.
에이전트가 제 Google 계정 비밀번호를 받나요?
아니요. Hermoso 설정 → 커넥터에서 Google 자체 OAuth 흐름으로 Google Ads를 연결하며, 결과 토큰은 Hermoso가 보관합니다. 에이전트는 Hermoso의 도구만 호출합니다. Google Ads 연결은 브랜드 단위로 공유되므로 팀 전체가 하나의 연결로 작업합니다.
크리에이티브도 만들 수 있나요?
네. 같은 서버가 경쟁사 광고를 조사하고, 콘셉트를 기획하고, 100개 이상의 모델로 실제 제품을 합성한 완성된 이미지와 영상 크리에이티브를 렌더링하며, upload_google_ads_asset으로 에셋을 업로드하므로 조사, 크리에이티브, 캠페인 빌드가 하나의 대화에서 일어납니다.
Google Ads를 한 번 연결하면, 에이전트가 시장을 조사하고, 광고를 쓰고, 트리를 만들고, 보고할 수 있습니다. 광고비가 집행되기 전에는 확실한 게이트가 있습니다.
무료로 시작 → MCP 문서 읽기 →