品牌声音 (Brand Voice) 是做什么的?
一份从品牌已有表述和客户实际反馈中构建的声音指南。声音(Voice)是始终不变的个性。语调(Tone)是这个个性随场景(搜索广告、道歉信、深夜焦虑客户的来信)所做的调整。风格(Style)是一套使前两者可重复的小规则。此技能记录了所有三个方面,并将每个选择立足于品牌自己的文案、点击数据、客户语言以及竞争对手留下的空白。
它还能独立运行一个模式:网站信息审计(第 7 步之后)。该模式读取网站关键页面,检查它们是否与广告讲述同一个故事,然后按流量影响度对修复建议进行排序。
开始之前
您需要连接 InsightfulPipe MCP,并且至少拥有一个品牌自有文案的来源:Google Ads 或 Meta 广告账户、Facebook 页面、Instagram、LinkedIn 页面,或者一个 DataForSEO 可读取的网站。如果没有这些来源,请使用最后的“无连接”方案。
- 调用
query_contexts,request="accounts",针对google-ads、facebook-ads、facebook-pages、instagram-profile、linkedin-pages、google-search-console和dataforseo。记录workspace_id、每行的brand_id(同一业务的账户可能归属不同品牌),以及账户、页面、网站或组织 ID。在代理工作区中,询问本指南针对哪个业务,并只读取该业务的账户。 - 调用
query_contexts,request="actions_details",针对下方“调用”部分中的每项读取操作,并按照返回的请求体结构执行,但需注意“如何运行查询”中列出的例外情况。 - 询问用户,如果用户不知道则使用默认值:
- 一行概括的品牌定位: 它做什么以及为谁做。默认值:从广告和页面推断;需说明这是推断结果。
- 用户喜欢和感觉不对的文案: 各提供两到三个例子,可以是品牌自己的,也可以是别人的。可选,但值得一问:感觉不对的文案和感觉对的同样有用。
- 品牌支持什么、反对什么: 两到三个塑造其说话方式的信念,例如“人们应该得到直接的答案”。可选。默认值:未提供,因此支柱仅基于证据;需说明。
- 竞争对手: 两到五个名称或域名。默认值:对于品牌排名前二的非品牌搜索主题(第 5 步),在 Google 中搜索出的企业。
- 已有规则: 风格指南、禁用词、法律或监管限制(法律、健康、金融、酒精)。默认值:无,但每个最高级仍会被标记(第 6 步)。
- 文案投放渠道: 指南必须覆盖的渠道。默认值:第 1 步中找到的渠道,加上网站和电子邮件。
仅用于网站信息审计时,还需在第 1 步中查找 google-analytics 和 crawler,并询问该模式自己的问题(见“模式:网站信息审计”部分),而不是上面的列表。
时间窗口: 广告、帖子和搜索词:最近 90 个完整日。在报告顶部注明日期。
如何运行查询
所有读取操作都通过 query_data 调用,并指定平台名称。此技能从不调用 execute_action。实际运行中发现以下规则:
- Google Ads 日期:
DURING LAST_90_DAYS会被拒绝。请使用segments.date BETWEEN 'YYYY-MM-DD' AND 'YYYY-MM-DD'。 - Meta Ads 拒绝嵌套字段:
get_ads带creative{title,body}会被拒绝。请请求简单的creative字段,它会返回创意 ID,然后通过get_ad_creatives读取文本。已删除的广告仍会出现在洞察数据中,但不在get_ads里;排除它们并计数。 - 某些网站拒绝自动读取器: 在构建运行时,客户网站返回了 403 错误,
onpage_content_parsing返回 0 条结果(无错误)。此时,从第 5 步搜索中品牌页面的 Google 标题和摘要中读取页面声音,要求用户粘贴一两个关键页面,并说明您使用了哪些数据。 - SEO 爬虫可能宕机: 在 2026-10-06,包括控制网站在内,每个爬虫动作都返回
Error fetching URL。请使用 DataForSEO 获取页面文本,并将content-quality-checker和brand-extractor视为可选的额外工具。2026-10-30 爬虫恢复正常,brand-extractor返回了颜色、字体和按钮。 - 广告库可能宕机: 同一天,即使是大型广告商,
google_company_ads和google_search_advertisers也返回空结果,facebook_search_companies因连接重置而失败。来自广告库的竞争对手广告在构建运行中未经过测试;竞争对手声音改为从 Google 搜索结果(第 5 步)获取。 - LinkedIn 页面可能需要重新连接: 如果调用返回“请重新连接您的 LinkedIn 页面”,则跳过 LinkedIn,说明原因并继续。LinkedIn 读取在连接之前未经过测试。
- Search Console 限制仅查询的拉取为 1,000 行: 这对词汇量来说足够;说明这是前 1,000 名。
- DataForSEO 需要付费: 除非受众在其他地区,否则使用
location_code2840 和language_codeen。一次运行控制在 6 次调用以内:最多 3 次页面读取和 2 到 3 次搜索。首先读取访问量最大的页面;如果返回 0 条结果,说明网站拒绝读取器,因此不要为其他页面付费。网站信息审计有自己的预算:每个页面一次页面读取,在运行前(W1)说明。 - 网站信息审计调用于 2026-10-30 测试: GA4 的
get_report按landingPage返回了每个页面的会话数和关键事件。Search Console 的search_analytics按页面和查询返回了完整的 5,000 行row_limit。在允许读取器的网站上,爬虫检查正常工作,brand-extractor返回了按钮标签。在拒绝自动读取器的网站上,爬虫不报错:meta-tags-checker返回title_tag_count0,headings-checker返回no_headings。应将其视为“无法读取”,绝不能视为缺少标题或 H1。当品牌有多个 DataForSEO 连接时,在页面读取中添加account_id。 - 控制调用节奏: 每 2 秒最多发送一次调用。当调用被拒绝并给出重试时间时,等待该时间后重试一次。
如果某次调用失败,继续执行。将该来源标记为 未知,说明哪个调用失败及原因,绝不要凭猜测填补空白。
调用方法
Google Ads:每条标题和描述及其点击数
{"platform": "google-ads", "action": "gaql", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<CUSTOMER_ID>",
"query": "SELECT campaign.name, ad_group_ad_asset_view.field_type, ad_group_ad_asset_view.performance_label, asset.text_asset.text, metrics.impressions, metrics.clicks, metrics.conversions FROM ad_group_ad_asset_view WHERE segments.date BETWEEN '<START>' AND '<END>' AND ad_group_ad_asset_view.field_type IN ('HEADLINE', 'DESCRIPTION') AND campaign.status = 'ENABLED' AND ad_group_ad_asset_view.enabled = TRUE AND metrics.impressions > 0 ORDER BY metrics.impressions DESC LIMIT 1000"}
Google Ads:广告及其目标链接
{"platform": "google-ads", "action": "gaql", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<CUSTOMER_ID>",
"query": "SELECT campaign.name, ad_group.name, ad_group_ad.ad.id, ad_group_ad.ad.responsive_search_ad.headlines, ad_group_ad.ad.responsive_search_ad.descriptions, ad_group_ad.ad.final_urls, ad_group_ad.ad_strength, metrics.impressions, metrics.clicks, metrics.conversions FROM ad_group_ad WHERE segments.date BETWEEN '<START>' AND '<END>' AND ad_group_ad.status = 'ENABLED' AND campaign.status = 'ENABLED' AND ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' AND metrics.impressions > 0 ORDER BY metrics.impressions DESC LIMIT 50"}
获得最多展示次数的最终 URL 即为第 1 步中要读取的页面。
Google Ads:账户总展示次数和点击次数(用于说明搜索词报告覆盖范围)
{"platform": "google-ads", "action": "gaql", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<CUSTOMER_ID>",
"query": "SELECT metrics.impressions, metrics.clicks FROM customer WHERE segments.date BETWEEN '<START>' AND '<END>'"}
Google Ads:客户搜索的词
{"platform": "google-ads", "action": "search_terms_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<CUSTOMER_ID>", "start_date": "<START>", "end_date": "<END>", "limit": 5000}
Meta Ads:哪些广告运行过,然后获取它们的文本
{"platform": "facebook-ads", "action": "get_insights_adaccount", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "ad_account_id": "act_<ID>", "level": "ad", "fields": ["ad_id", "ad_name", "impressions", "inline_link_clicks", "inline_link_click_ctr", "spend"], "time_range": {"since": "<START>", "until": "<END>"}}
{"platform": "facebook-ads", "action": "get_ads", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "ad_account_id": "act_<ID>", "fields": ["id", "name", "status", "creative"]}
{"platform": "facebook-ads", "action": "get_ad_creatives", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "ad_account_id": "act_<ID>", "fields": ["id", "name", "title", "body", "object_story_spec"]}
匹配广告 → 创意 ID → body(主要文本)和 title(标题)。主要文本也可能位于 object_story_spec.link_data.message 中。
Facebook 页面帖子
{"platform": "facebook-pages", "action": "get_posts", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "page_id": "<PAGE_ID>", "fields": ["id", "message", "created_time", "permalink_url", "status_type", "shares"], "since": "<START>", "until": "<END>", "limit": 50}
{"platform": "facebook-pages", "action": "get_post_insights", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "page_id": "<PAGE_ID>", "post_id": "<POST_ID>", "metrics": ["post_media_view", "post_clicks", "post_reactions_by_type_total"], "period": "lifetime"}
get_posts 拒绝嵌套字段(例如 likes.summary(true)),即使帮助文档列出了它们,因此这些调用不返回评论数。shares 可能缺失(在构建运行时读取的页面上每篇帖子都缺失);缺失字段计为 0。每篇帖子调用一次 insights;最多读取最近 30 篇帖子。
Instagram 帖子
{"platform": "instagram-profile", "action": "get_media", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "account_id": "<INSTAGRAM_USER_ID>", "fields": "id,caption,media_type,media_product_type,permalink,timestamp,comments_count,like_count", "limit": 50}
LinkedIn 页面帖子(在连接前未测试)
{"platform": "linkedin-pages", "action": "fetch_organization_posts", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "org_id": "<ORG_ID>", "count": 50}
Search Console:用户如何找到网站
{"platform": "google-search-console", "action": "search_analytics", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "site_url": "<SITE_URL>", "dimensions": ["query"], "start_date": "<START>", "end_date": "<END>", "row_limit": 1000}
页面文本(DataForSEO,每页面一次付费调用)
{"platform": "dataforseo", "action": "onpage_content_parsing", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "url": "<PAGE_URL>"}
文本位于 page_content.main_topic 中:每个块包含 h_title、level 和 primary_content[].text。读取首页以及广告将最多用户引导至的一到两个页面。
竞争对手及品牌自身在 Google 中的摘要片段(DataForSEO,每次搜索一次付费调用)
{"platform": "dataforseo", "action": "serp_google_organic", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "keyword": "<TOP_NON_BRAND_THEME>", "location_code": 2840, "language_code": "en", "depth": 20}
可选附加功能
{"platform": "crawler", "action": "content-quality-checker", "workspace_id": "<WORKSPACE_ID>", "url": "<PAGE_URL>"}
{"platform": "crawler", "action": "brand-extractor", "workspace_id": "<WORKSPACE_ID>", "url": "<HOMEPAGE_URL>"}
content-quality-checker 提供可读性和字数信息;brand-extractor 提供颜色、字体和按钮信息,用于指南中的视觉标识部分。竞争对手广告:先调用 facebook_search_companies,然后使用 page_id 调用 facebook_company_ads,或使用竞争对手的 domain 调用 google_company_ads(广告库)。
网站信息审计的调用
GA4:用户开始访问的页面及关键事件
{"platform": "google-analytics", "action": "get_report", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "property_id": "properties/<PROPERTY_ID>", "dimensions": ["landingPage"], "metrics": ["sessions", "keyEvents"], "start_date": "<START>", "end_date": "<END>"}
按着陆页的会话数相当于入口:即从该页面开始的访问次数。
Search Console:每个页面被找到的查询
{"platform": "google-search-console", "action": "search_analytics", "workspace_id": "<WORKSPACE_ID>", "brand_id": "<BRAND_ID>", "site_url": "<SITE_URL>", "dimensions": ["page", "query"], "start_date": "<START>", "end_date": "<END>", "row_limit": 5000}
爬虫:页面标题、元描述、标题和按钮标签(无付费积分)
{"platform": "crawler", "action": "meta-tags-checker", "workspace_id": "<WORKSPACE_ID>", "url": "<PAGE_URL>"}
{"platform": "crawler", "action": "headings-checker", "workspace_id": "<WORKSPACE_ID>", "url": "<PAGE_URL>"}
{"platform": "crawler", "action": "brand-extractor", "workspace_id": "<WORKSPACE_ID>", "url": "<PAGE_URL>"}
按钮标签位于 brand-extractor 的 primaryButton.text 和 buttons[].text 中。如果两个爬虫检查都返回空(title_tag_count 为 0 且 no_headings),则网站拒绝了爬虫:从页面文本获取标题、主标题和标签,或要求粘贴。
页面正文文本: DataForSEO 的 onpage_content_parsing(见上方)。每个审计页面一次调用,使用账户的 DataForSEO 连接。在审计前说明页面数量和总调用次数。
第 1 步:广告文案
检查每条广告文案的:
- 感觉对还是不对。
- 是否一致(同一广告组或活动内的品牌语气)。
- 重复使用。
- 最高级和极端词。
- 数字和数据点。
- 紧迫感和号召性用语。
- 情感诉求与理性诉求。
- 竞争对手也会说的话。
- 受众语言匹配。
从 Google Ads 响应式搜索广告开始:它们的多个标题和描述组合构成了主要的语气数据集。然后在 Meta 广告、社交媒体帖子和网站文案中寻找相同的模式和偏差。
第 2 步:社交媒体声音
分析有机社交媒体帖子(Facebook、Instagram,如果连接了则包括 LinkedIn)的:
- 帖子的整体语气(信息性、宣传性、社区性、支持性)。
- 与广告的对比(语气是否转变?)。
- 高频词汇和句式。
- 表情符号和格式的使用。
- 用户互动(点赞、评论、分享)。评论特别有用:它们是用户声音的直接样本。
第 3 步:客户声音
从以下来源提取客户的词语和期望:
- 搜索词: 用户在 Google 上使用的确切词语,包括品牌词和非品牌词。
- 广告效果: 什么语言获得了最多的点击和转化。
- 社交媒体评论和反应: 人们如何回应以及他们使用的语言。
- 搜索意图: 用户搜索的意图(信息型、导航型、商业型、交易型)。
注意客户声音与品牌声音之间的差距。好的品牌声音比客户语言更高一个层次,但使用相同的词语。
第 4 步:竞争对手格局
对于每个竞争对手:
- 他们的独特声音和定位。
- 他们正在营销的主题和角度。
- 他们使用的语言和术语。
- 他们没有涉足或弱化的领域。
- 广告与网站信息的差距。
注意竞争对手创造的空间。品牌可以填补的空白是什么对于定位比“做同样的事情但更好”更有价值。
第 5 步:搜索存在与词汇
分析 Google 搜索结果和品牌自身网站关于以下方面的信息:
- 主题密度: 品牌在哪些主题上排名靠前?
- 标题和摘要中的语言: Google 对品牌页面的摘要片段。
- 非品牌搜索主题: 用户在没有品牌名称的情况下找到品牌的方式。
- 网站关键词: 页面正文和标题中使用的语言。
- 信息架构: 页面如何为访问者构建(如网站信息审计,见下文)。
第 6 步:构建指南
现在综合所有信息。指南有三个部分:
声音
品牌的固定个性。2–4 个形容词作为第一句。然后 3–5 个支柱,每个都基于第 1–5 步的证据。每个支柱都有:
- 名称 和 一句话描述。
- 操作方法: 在文案中实现此支柱的 2–3 条规则。
- 好例子 和 坏例子 来自实际文案。好例子是有效果的:它们获得了点击、转化或积极的社交媒体回应。坏例子显得通用、脱节或未被受众接受。两者都应来自实际数据。
- 为什么它有效/无效: 基于点击率、转化数据或社交媒体表现的证据。对于坏例子,不要只说效果差;解释为什么效果差(语气错误、信息不明确、受众不合适)。
语调
声音在不同场景下的调整方式。至少覆盖:
- 标准文案(广告、网站文案)。
- 支持性沟通(客户服务、常见问题)。
- 危机沟通(道歉、错误恢复)。
- 社交媒体互动(评论回复、社区管理)。
- 欢迎与介绍(第一印象、入职引导信息)。
对于每个语调场景:
- 它指向谁(新客户、忠实客户、质疑者)。
- 气氛(严肃、乐观、信息性)。
- 长度(30 个单词以内、简要但不是最短、解释性)。
- 立即目标(销售、信任、信息)。
风格
使声音和语调可重复的具体规则。包括:
- 大写(标题大小写、句子大小写、品牌名称)。
- 标点(逗号、分号、感叹号、项目符号)。
- 数字(数字与文字、日期格式、货币)。
- 术语(首选词、禁用词、专业术语)。
- 情感检查点(乐观、严肃、幽默)及其使用提示。
- 为 AI 改编(提示、品牌信息标记、格式要求)。
第 7 步:交付
以以下格式提供指南:
- 执行摘要(一页): 声音描述、语调概述和关键规则。
- 完整指南(Unicode 文本): 声音支柱、语调场景和风格规则,均附有来自第 1–5 步的证据。
- 索引(按主题和场景): 快速参考表。
在每个部分的开头说明构建中使用了哪些来源。在末尾列出未完全分析的内容(不确定的竞争对手、未读取的页面)。
模式:网站信息审计
此模式检查网站关键页面是否与广告讲述同一个故事。当用户请求“审计我们的网站信息”或类似内容时运行。
机构问题(不在主指南中询问)
- 网站的主要目标是什么?(销售线索、直接销售、品牌知名度、信息传递)
- 哪些页面最重要?(首页、产品/服务页面、关于我们、定价、博客)
- 访问者最重要的下一步行动是什么?(注册、购买、联系、了解更多)
- 有没有一个特定的活动或活动页面我们正在审计?
- 是否有任何页面我们不希望用户看到或找不到?(旧页面、测试页面、缺失的着陆页)
审计运行
对于每个要审计的页面:
-
页面数据收集:
- 从 DataForSEO 获取页面正文文本(一次付费调用)。
- 从爬虫获取标题、元描述、标题和按钮标签(无付费积分)。
- 从 GA4 获取会话数和关键事件(会话数 = 入口)。
- 从 Search Console 获取每个页面的查询。
-
页面分析:
- 信息焦点: 页面主要谈论什么?这与广告承诺一致吗?
- 语气匹配: 页面的语气与将用户带到这里的广告语气相匹配吗?如果不匹配,需要调整什么?
- 故事进展: 广告→着陆页→下一步行动是否是一个连贯的故事?还是用户感到脱节?
- 号召性用语一致性: 页面上的按钮和链接是否反映了广告中的承诺?
- 信息差距: 是否有在广告中承诺但在页面上未履行的信息?或者相反,页面有广告中未提及的重要信息?
审计交付
-
按流量优先排序的差距列表:
- 具有高流量的页面之间的严重差距(高优先级)。
- 具有中等流量的页面之间的重要差距(中优先级)。
- 页面内的小差距(低优先级)。
-
每页的具体建议:
- 需要改变什么(语气、内容、布局)。
- 预期影响(如果修复,预计的流量/转化变化)。
- 更改的难度(快速修复与复杂更改)。
-
跨页面故事地图:
- 访问者通过网站的整体叙述流程。
- 不匹配的页面如何破坏故事。
- 修复故事的一致性的路线图。
第 8 步:最终输出
将指南和网站信息审计合并为最终交付物:
品牌声音文档(Unicode 文本)
包含以下部分的完结文档:
- 声音描述(2–4 个形容词,3–5 个带证据的支柱)。
- 语调场景(声音如何适应)。
- 风格规则(可重复的公式)。
- 网站信息审计(差距和修复,按优先级排序)。
快速参考卡
可打印的一页指南,包含关键声音规则和语调调整。
AI 提示指南
针对 AI 助手、文案生成器和其他 AI 工具的一组提示,以一致地应用此声音。包括:
- 声音和语调的系统提示。
- 特定场景(广告、电子邮件、社交帖子)的提示示例。
- 语气调整指南(何时使用不同语调)。
无连接方案
如果没有任何数据源连接,此技能无法运行。您需要至少一个来源(Google Ads、Meta Ads、Facebook 页面、Instagram、LinkedIn 或 DataForSEO)。
在没有连接的情况下,我仍然可以提供:
- 声音创建的基础框架(但没有品牌特定证据)。
- 网站信息审计的手动数据收集说明(在哪里查找什么)。
- 风格指南模板(但没有品牌特定规则)。
要使用此技能,请连接 InsightfulPipe MCP 并至少提供一个数据源,或粘贴文本供我分析。