arkaos 4.26.0 → 4.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -5
- package/THE-ARKAOS-GUIDE.md +7 -7
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -1
- package/arka/skills/human-writing/SKILL.md +106 -0
- package/arka/skills/human-writing/references/anti-slop-phrases.md +131 -0
- package/arka/skills/human-writing/references/checklist.md +66 -0
- package/arka/skills/human-writing/references/content-refresh.md +38 -0
- package/arka/skills/human-writing/references/plain-english-alternatives.md +394 -0
- package/arka/skills/human-writing/references/pt-pt-anti-slop.md +82 -0
- package/arka/skills/human-writing/references/stop-slop.LICENSE +21 -0
- package/arka/skills/human-writing/references/structural-patterns.md +151 -0
- package/config/claude-agents/content-marketer.md +1 -1
- package/config/claude-agents/content-strategist.md +1 -1
- package/config/claude-agents/eduardo-copy.md +13 -0
- package/config/claude-agents/lifecycle-marketer.md +50 -0
- package/config/claude-agents/pr-partnerships.md +50 -0
- package/config/claude-agents/product-marketer.md +50 -0
- package/config/claude-agents/repurpose-distributor.md +1 -1
- package/config/claude-agents/sales-copywriter.md +1 -1
- package/config/claude-agents/scriptwriter.md +1 -1
- package/config/claude-agents/viral-engineer.md +1 -1
- package/config/evals/community.yaml +137 -0
- package/config/evals/content.yaml +298 -0
- package/config/evals/landing.yaml +927 -0
- package/config/evals/marketing.yaml +3836 -0
- package/config/evals/saas.yaml +616 -0
- package/config/evals/sales.yaml +437 -0
- package/config/skills-curated.yaml +2 -2
- package/config/skills-provenance.yaml +194 -21
- package/core/registry/generator.py +7 -0
- package/departments/community/SKILL.md +1 -0
- package/departments/community/skills/community-marketing/SKILL.md +200 -0
- package/departments/content/SKILL.md +1 -0
- package/departments/content/agents/content-strategist.yaml +1 -0
- package/departments/content/agents/repurpose-distributor.yaml +1 -0
- package/departments/content/agents/scriptwriter.yaml +1 -0
- package/departments/content/agents/viral-engineer.yaml +1 -0
- package/departments/content/skills/image-create/SKILL.md +375 -0
- package/departments/content/skills/image-create/references/ai-image-prompting.md +229 -0
- package/departments/content/skills/video-produce/SKILL.md +220 -0
- package/departments/content/skills/video-produce/references/ai-video-prompting.md +175 -0
- package/departments/content/skills/video-produce/references/edit-anatomy.md +84 -0
- package/departments/landing/SKILL.md +3 -0
- package/departments/landing/agents/sales-copywriter.yaml +1 -0
- package/departments/landing/skills/affiliate-bridge/SKILL.md +291 -5
- package/departments/landing/skills/affiliate-bridge/references/affiliate-programs.md +167 -0
- package/departments/landing/skills/affiliate-bridge/references/program-examples.md +143 -0
- package/departments/landing/skills/copy-framework/SKILL.md +241 -0
- package/departments/landing/skills/copy-framework/references/copy-frameworks.md +344 -0
- package/departments/landing/skills/copy-framework/references/natural-transitions.md +272 -0
- package/departments/landing/skills/lead-magnet/SKILL.md +337 -0
- package/departments/landing/skills/lead-magnet/references/benchmarks.md +129 -0
- package/departments/landing/skills/lead-magnet/references/format-guide.md +196 -0
- package/departments/landing/skills/offer-create/SKILL.md +105 -8
- package/departments/landing/skills/offer-create/references/bonus-stacking.md +150 -0
- package/departments/landing/skills/offer-create/references/examples.md +215 -0
- package/departments/landing/skills/offer-create/references/guarantee-design.md +172 -0
- package/departments/landing/skills/offer-create/references/offer-anatomy.md +203 -0
- package/departments/landing/skills/offer-create/references/offer-formats.md +240 -0
- package/departments/landing/skills/offer-create/references/scarcity-urgency.md +175 -0
- package/departments/landing/skills/offer-create/references/value-equation.md +134 -0
- package/departments/landing/skills/optimize-page/SKILL.md +185 -4
- package/departments/landing/skills/optimize-page/references/experiments.md +248 -0
- package/departments/landing/skills/optimize-page/references/form.md +422 -0
- package/departments/landing/skills/page-architect/SKILL.md +373 -5
- package/departments/landing/skills/page-architect/references/mermaid-templates.md +216 -0
- package/departments/landing/skills/page-architect/references/navigation-patterns.md +305 -0
- package/departments/landing/skills/page-architect/references/site-type-templates.md +293 -0
- package/departments/landing/skills/popup-design/SKILL.md +481 -0
- package/departments/landing/skills/signup-optimize/SKILL.md +385 -0
- package/departments/marketing/SKILL.md +22 -1
- package/departments/marketing/agents/content-marketer.yaml +1 -0
- package/departments/marketing/agents/growth-marketing/lifecycle-marketer.yaml +75 -0
- package/departments/marketing/agents/growth-marketing/pr-partnerships.yaml +74 -0
- package/departments/marketing/agents/growth-marketing/product-marketer.yaml +79 -0
- package/departments/marketing/agents/marketing-director.yaml +1 -0
- package/departments/marketing/skills/ab-test/SKILL.md +322 -3
- package/departments/marketing/skills/ab-test/references/sample-size-guide.md +263 -0
- package/departments/marketing/skills/ab-test/references/test-templates.md +277 -0
- package/departments/marketing/skills/ad-creative/SKILL.md +451 -0
- package/departments/marketing/skills/ad-creative/references/creative-review-page.md +106 -0
- package/departments/marketing/skills/ad-creative/references/creative-roadmap.md +118 -0
- package/departments/marketing/skills/ad-creative/references/generative-tools.md +637 -0
- package/departments/marketing/skills/ad-creative/references/hook-system.md +115 -0
- package/departments/marketing/skills/ad-creative/references/imessage-video-ads.md +201 -0
- package/departments/marketing/skills/ad-creative/references/motion-video-ads.md +126 -0
- package/departments/marketing/skills/ad-creative/references/platform-specs.md +213 -0
- package/departments/marketing/skills/ad-creative/references/static-ad-templates.md +200 -0
- package/departments/marketing/skills/ai-seo/SKILL.md +520 -0
- package/departments/marketing/skills/ai-seo/references/citations-vs-recommendations.md +85 -0
- package/departments/marketing/skills/ai-seo/references/content-patterns.md +287 -0
- package/departments/marketing/skills/ai-seo/references/content-types.md +71 -0
- package/departments/marketing/skills/ai-seo/references/okf.md +104 -0
- package/departments/marketing/skills/ai-seo/references/platform-ranking-factors.md +154 -0
- package/departments/marketing/skills/analytics-report/SKILL.md +310 -1
- package/departments/marketing/skills/analytics-report/references/event-library.md +260 -0
- package/departments/marketing/skills/analytics-report/references/ga4-implementation.md +300 -0
- package/departments/marketing/skills/analytics-report/references/gtm-implementation.md +390 -0
- package/departments/marketing/skills/aso/SKILL.md +336 -0
- package/departments/marketing/skills/aso/references/apple-specs.md +107 -0
- package/departments/marketing/skills/aso/references/benchmarks.md +129 -0
- package/departments/marketing/skills/aso/references/google-play-specs.md +131 -0
- package/departments/marketing/skills/aso/references/report-template.md +213 -0
- package/departments/marketing/skills/aso/references/scoring-criteria.md +213 -0
- package/departments/marketing/skills/co-marketing/SKILL.md +316 -0
- package/departments/marketing/skills/cold-email/SKILL.md +80 -0
- package/departments/marketing/skills/cold-email/references/benchmarks.md +83 -0
- package/departments/marketing/skills/cold-email/references/follow-up-sequences.md +81 -0
- package/departments/marketing/skills/cold-email/references/frameworks.md +90 -0
- package/departments/marketing/skills/cold-email/references/personalization.md +79 -0
- package/departments/marketing/skills/cold-email/references/subject-lines.md +53 -0
- package/departments/marketing/skills/competitor-analysis/SKILL.md +262 -5
- package/departments/marketing/skills/competitor-analysis/references/content-architecture.md +271 -0
- package/departments/marketing/skills/competitor-analysis/references/templates.md +223 -0
- package/departments/marketing/skills/competitor-profile/SKILL.md +447 -0
- package/departments/marketing/skills/competitor-profile/references/templates.md +167 -0
- package/departments/marketing/skills/competitor-profile/references/tool-reference.md +179 -0
- package/departments/marketing/skills/content-strategy/SKILL.md +398 -0
- package/departments/marketing/skills/content-strategy/references/headless-cms.md +194 -0
- package/departments/marketing/skills/council/SKILL.md +185 -0
- package/departments/marketing/skills/council/references/advisor-template.md +51 -0
- package/departments/marketing/skills/council/references/advisors/alex-hormozi.md +43 -0
- package/departments/marketing/skills/council/references/advisors/ann-handley.md +43 -0
- package/departments/marketing/skills/council/references/advisors/april-dunford.md +41 -0
- package/departments/marketing/skills/council/references/advisors/byron-sharp.md +43 -0
- package/departments/marketing/skills/council/references/advisors/claude-hopkins.md +42 -0
- package/departments/marketing/skills/council/references/advisors/david-ogilvy.md +42 -0
- package/departments/marketing/skills/council/references/advisors/eugene-schwartz.md +42 -0
- package/departments/marketing/skills/council/references/advisors/gary-halbert.md +43 -0
- package/departments/marketing/skills/council/references/advisors/gary-vaynerchuk.md +43 -0
- package/departments/marketing/skills/council/references/advisors/rory-sutherland.md +42 -0
- package/departments/marketing/skills/council/references/advisors/russell-brunson.md +43 -0
- package/departments/marketing/skills/council/references/advisors/seth-godin.md +43 -0
- package/departments/marketing/skills/customer-research/SKILL.md +318 -0
- package/departments/marketing/skills/customer-research/references/source-guides.md +401 -0
- package/departments/marketing/skills/directory-submit/SKILL.md +409 -0
- package/departments/marketing/skills/directory-submit/references/directory-list.md +477 -0
- package/departments/marketing/skills/directory-submit/references/positioning-variations.md +232 -0
- package/departments/marketing/skills/directory-submit/references/submission-tracker-template.csv +266 -0
- package/departments/marketing/skills/email-sequence/SKILL.md +309 -2
- package/departments/marketing/skills/email-sequence/references/copy-guidelines.md +113 -0
- package/departments/marketing/skills/email-sequence/references/email-types.md +515 -0
- package/departments/marketing/skills/email-sequence/references/sequence-templates.md +168 -0
- package/departments/marketing/skills/free-tools/SKILL.md +203 -0
- package/departments/marketing/skills/free-tools/references/tool-types.md +217 -0
- package/departments/marketing/skills/marketing-ideas/SKILL.md +191 -0
- package/departments/marketing/skills/marketing-ideas/references/ideas-by-category.md +366 -0
- package/departments/marketing/skills/marketing-loops/SKILL.md +136 -0
- package/departments/marketing/skills/marketing-loops/references/loop-catalog.md +687 -0
- package/departments/marketing/skills/marketing-loops/references/loop-guardrails.md +73 -0
- package/departments/marketing/skills/marketing-loops/references/loop-orchestration.md +69 -0
- package/departments/marketing/skills/marketing-loops/references/loop-state.md +67 -0
- package/departments/marketing/skills/marketing-loops/references/loop-template.md +79 -0
- package/departments/marketing/skills/marketing-plan/SKILL.md +302 -0
- package/departments/marketing/skills/marketing-plan/references/aarrr-framework.md +180 -0
- package/departments/marketing/skills/marketing-plan/references/budget-planning.md +168 -0
- package/departments/marketing/skills/marketing-plan/references/client-types.md +373 -0
- package/departments/marketing/skills/marketing-plan/references/current-state-rubric.md +255 -0
- package/departments/marketing/skills/marketing-plan/references/example-quietude.md +972 -0
- package/departments/marketing/skills/marketing-plan/references/funding-stage-unlocks.md +230 -0
- package/departments/marketing/skills/marketing-plan/references/growth-patterns.md +148 -0
- package/departments/marketing/skills/marketing-plan/references/idea-cross-reference.md +265 -0
- package/departments/marketing/skills/marketing-plan/references/measurement-framework.md +213 -0
- package/departments/marketing/skills/marketing-plan/references/methodology.md +363 -0
- package/departments/marketing/skills/marketing-plan/references/ops-stack-mapping.md +197 -0
- package/departments/marketing/skills/marketing-plan/references/plan-template.md +494 -0
- package/departments/marketing/skills/marketing-plan/references/team-and-agency-model.md +278 -0
- package/departments/marketing/skills/marketing-psychology/SKILL.md +479 -0
- package/departments/marketing/skills/paid-campaign/SKILL.md +452 -3
- package/departments/marketing/skills/paid-campaign/references/abm-playbook.md +93 -0
- package/departments/marketing/skills/paid-campaign/references/ad-copy-templates.md +207 -0
- package/departments/marketing/skills/paid-campaign/references/audience-targeting.md +243 -0
- package/departments/marketing/skills/paid-campaign/references/b2b-paid-playbook.md +115 -0
- package/departments/marketing/skills/paid-campaign/references/conversion-tracking.md +361 -0
- package/departments/marketing/skills/paid-campaign/references/google-search-playbook.md +120 -0
- package/departments/marketing/skills/paid-campaign/references/linkedin-b2b-playbook.md +107 -0
- package/departments/marketing/skills/paid-campaign/references/meta-decision-system.md +143 -0
- package/departments/marketing/skills/paid-campaign/references/platform-setup-checklists.md +277 -0
- package/departments/marketing/skills/paid-campaign/references/rsa-output-spec.md +88 -0
- package/departments/marketing/skills/product-marketing/SKILL.md +141 -0
- package/departments/marketing/skills/programmatic-seo/SKILL.md +74 -3
- package/departments/marketing/skills/programmatic-seo/references/playbooks.md +308 -0
- package/departments/marketing/skills/public-relations/SKILL.md +167 -0
- package/departments/marketing/skills/public-relations/references/journalist-pitching.md +368 -0
- package/departments/marketing/skills/public-relations/references/media-outlets.md +207 -0
- package/departments/marketing/skills/public-relations/references/newsjacking.md +218 -0
- package/departments/marketing/skills/public-relations/references/press-platforms.md +188 -0
- package/departments/marketing/skills/schema-markup/SKILL.md +203 -0
- package/departments/marketing/skills/schema-markup/references/schema-examples.md +398 -0
- package/departments/marketing/skills/seo-audit/SKILL.md +470 -1
- package/departments/marketing/skills/seo-audit/references/ai-writing-detection.md +200 -0
- package/departments/marketing/skills/seo-audit/references/international-seo.md +230 -0
- package/departments/marketing/skills/sms-campaign/SKILL.md +363 -0
- package/departments/marketing/skills/sms-campaign/references/compliance.md +202 -0
- package/departments/marketing/skills/sms-campaign/references/platforms.md +318 -0
- package/departments/marketing/skills/sms-campaign/references/sequence-templates.md +282 -0
- package/departments/marketing/skills/social-strategy/SKILL.md +414 -3
- package/departments/marketing/skills/social-strategy/references/carousel-frameworks.md +141 -0
- package/departments/marketing/skills/social-strategy/references/listening-sources-template.md +123 -0
- package/departments/marketing/skills/social-strategy/references/listening.md +283 -0
- package/departments/marketing/skills/social-strategy/references/platform-limits.md +110 -0
- package/departments/marketing/skills/social-strategy/references/platforms.md +170 -0
- package/departments/marketing/skills/social-strategy/references/post-templates.md +179 -0
- package/departments/marketing/skills/social-strategy/references/reverse-engineering.md +195 -0
- package/departments/marketing/skills/social-strategy/references/short-form-video.md +237 -0
- package/departments/marketing/squad.yaml +10 -1
- package/departments/marketing/tools/LICENSE +21 -0
- package/departments/marketing/tools/REGISTRY.md +590 -0
- package/departments/marketing/tools/clis/README.md +198 -0
- package/departments/marketing/tools/clis/activecampaign.js +435 -0
- package/departments/marketing/tools/clis/adobe-analytics.js +161 -0
- package/departments/marketing/tools/clis/ahrefs.js +192 -0
- package/departments/marketing/tools/clis/airops.js +163 -0
- package/departments/marketing/tools/clis/amplitude.js +182 -0
- package/departments/marketing/tools/clis/apollo.js +142 -0
- package/departments/marketing/tools/clis/beehiiv.js +245 -0
- package/departments/marketing/tools/clis/brevo.js +368 -0
- package/departments/marketing/tools/clis/buffer.js +260 -0
- package/departments/marketing/tools/clis/calendly.js +253 -0
- package/departments/marketing/tools/clis/clay.js +159 -0
- package/departments/marketing/tools/clis/clearbit.js +163 -0
- package/departments/marketing/tools/clis/close.js +232 -0
- package/departments/marketing/tools/clis/coupler.js +173 -0
- package/departments/marketing/tools/clis/crossbeam.js +193 -0
- package/departments/marketing/tools/clis/customer-io.js +205 -0
- package/departments/marketing/tools/clis/dataforseo.js +257 -0
- package/departments/marketing/tools/clis/demio.js +149 -0
- package/departments/marketing/tools/clis/dub.js +158 -0
- package/departments/marketing/tools/clis/exa.js +147 -0
- package/departments/marketing/tools/clis/g2.js +186 -0
- package/departments/marketing/tools/clis/ga4.js +194 -0
- package/departments/marketing/tools/clis/github-prospects.js +257 -0
- package/departments/marketing/tools/clis/google-ads.js +189 -0
- package/departments/marketing/tools/clis/google-search-console.js +166 -0
- package/departments/marketing/tools/clis/hotjar.js +167 -0
- package/departments/marketing/tools/clis/hunter.js +249 -0
- package/departments/marketing/tools/clis/instantly.js +270 -0
- package/departments/marketing/tools/clis/intercom.js +399 -0
- package/departments/marketing/tools/clis/keywords-everywhere.js +185 -0
- package/departments/marketing/tools/clis/kit.js +232 -0
- package/departments/marketing/tools/clis/klaviyo.js +348 -0
- package/departments/marketing/tools/clis/lemlist.js +221 -0
- package/departments/marketing/tools/clis/linkedin-ads.js +185 -0
- package/departments/marketing/tools/clis/livestorm.js +292 -0
- package/departments/marketing/tools/clis/mailchimp.js +220 -0
- package/departments/marketing/tools/clis/mention-me.js +161 -0
- package/departments/marketing/tools/clis/meta-ads.js +181 -0
- package/departments/marketing/tools/clis/mixpanel.js +248 -0
- package/departments/marketing/tools/clis/onesignal.js +241 -0
- package/departments/marketing/tools/clis/optimizely.js +233 -0
- package/departments/marketing/tools/clis/outreach.js +213 -0
- package/departments/marketing/tools/clis/paddle.js +385 -0
- package/departments/marketing/tools/clis/partnerstack.js +382 -0
- package/departments/marketing/tools/clis/pendo.js +221 -0
- package/departments/marketing/tools/clis/plausible.js +249 -0
- package/departments/marketing/tools/clis/postmark.js +375 -0
- package/departments/marketing/tools/clis/rankparse.js +196 -0
- package/departments/marketing/tools/clis/resend.js +370 -0
- package/departments/marketing/tools/clis/rewardful.js +160 -0
- package/departments/marketing/tools/clis/savvycal.js +223 -0
- package/departments/marketing/tools/clis/segment.js +192 -0
- package/departments/marketing/tools/clis/semrush.js +207 -0
- package/departments/marketing/tools/clis/sendgrid.js +211 -0
- package/departments/marketing/tools/clis/similarweb.js +214 -0
- package/departments/marketing/tools/clis/snov.js +237 -0
- package/departments/marketing/tools/clis/supermetrics.js +169 -0
- package/departments/marketing/tools/clis/tiktok-ads.js +190 -0
- package/departments/marketing/tools/clis/tolt.js +153 -0
- package/departments/marketing/tools/clis/trustpilot.js +276 -0
- package/departments/marketing/tools/clis/typeform.js +269 -0
- package/departments/marketing/tools/clis/wistia.js +301 -0
- package/departments/marketing/tools/clis/zapier.js +165 -0
- package/departments/marketing/tools/clis/zoominfo.js +223 -0
- package/departments/marketing/tools/composio/README.md +105 -0
- package/departments/marketing/tools/composio/marketing-tools.md +91 -0
- package/departments/marketing/tools/integrations/activecampaign.md +337 -0
- package/departments/marketing/tools/integrations/adobe-analytics.md +156 -0
- package/departments/marketing/tools/integrations/ahrefs.md +142 -0
- package/departments/marketing/tools/integrations/airops.md +128 -0
- package/departments/marketing/tools/integrations/amplitude.md +135 -0
- package/departments/marketing/tools/integrations/apollo.md +148 -0
- package/departments/marketing/tools/integrations/attentive.md +152 -0
- package/departments/marketing/tools/integrations/audiencetap.md +125 -0
- package/departments/marketing/tools/integrations/beehiiv.md +157 -0
- package/departments/marketing/tools/integrations/brevo.md +268 -0
- package/departments/marketing/tools/integrations/browserbase.md +111 -0
- package/departments/marketing/tools/integrations/buffer.md +138 -0
- package/departments/marketing/tools/integrations/calendly.md +161 -0
- package/departments/marketing/tools/integrations/clay.md +149 -0
- package/departments/marketing/tools/integrations/clearbit.md +142 -0
- package/departments/marketing/tools/integrations/close.md +191 -0
- package/departments/marketing/tools/integrations/cogny.md +153 -0
- package/departments/marketing/tools/integrations/composio.md +190 -0
- package/departments/marketing/tools/integrations/contentful.md +160 -0
- package/departments/marketing/tools/integrations/coupler.md +142 -0
- package/departments/marketing/tools/integrations/crossbeam.md +137 -0
- package/departments/marketing/tools/integrations/customer-io.md +187 -0
- package/departments/marketing/tools/integrations/dataforseo.md +165 -0
- package/departments/marketing/tools/integrations/demio.md +182 -0
- package/departments/marketing/tools/integrations/dub-co.md +160 -0
- package/departments/marketing/tools/integrations/exa.md +145 -0
- package/departments/marketing/tools/integrations/firecrawl.md +144 -0
- package/departments/marketing/tools/integrations/firehose.md +159 -0
- package/departments/marketing/tools/integrations/g2.md +179 -0
- package/departments/marketing/tools/integrations/ga4.md +126 -0
- package/departments/marketing/tools/integrations/github.md +182 -0
- package/departments/marketing/tools/integrations/gong.md +144 -0
- package/departments/marketing/tools/integrations/google-ads.md +159 -0
- package/departments/marketing/tools/integrations/google-search-console.md +147 -0
- package/departments/marketing/tools/integrations/heygen.md +126 -0
- package/departments/marketing/tools/integrations/hotjar.md +147 -0
- package/departments/marketing/tools/integrations/hubspot.md +178 -0
- package/departments/marketing/tools/integrations/hunter.md +90 -0
- package/departments/marketing/tools/integrations/hyperframes.md +180 -0
- package/departments/marketing/tools/integrations/instantly.md +104 -0
- package/departments/marketing/tools/integrations/intercom.md +292 -0
- package/departments/marketing/tools/integrations/introw.md +182 -0
- package/departments/marketing/tools/integrations/keywords-everywhere.md +207 -0
- package/departments/marketing/tools/integrations/kit.md +167 -0
- package/departments/marketing/tools/integrations/klaviyo.md +228 -0
- package/departments/marketing/tools/integrations/lemlist.md +110 -0
- package/departments/marketing/tools/integrations/linkedin-ads.md +164 -0
- package/departments/marketing/tools/integrations/livestorm.md +313 -0
- package/departments/marketing/tools/integrations/mailchimp.md +150 -0
- package/departments/marketing/tools/integrations/mention-me.md +160 -0
- package/departments/marketing/tools/integrations/meta-ads.md +147 -0
- package/departments/marketing/tools/integrations/mixpanel.md +137 -0
- package/departments/marketing/tools/integrations/nitrosend.md +113 -0
- package/departments/marketing/tools/integrations/onesignal.md +229 -0
- package/departments/marketing/tools/integrations/optimizely.md +171 -0
- package/departments/marketing/tools/integrations/outreach.md +172 -0
- package/departments/marketing/tools/integrations/paddle.md +212 -0
- package/departments/marketing/tools/integrations/partnerstack.md +222 -0
- package/departments/marketing/tools/integrations/pendo.md +208 -0
- package/departments/marketing/tools/integrations/plausible.md +177 -0
- package/departments/marketing/tools/integrations/plivo.md +140 -0
- package/departments/marketing/tools/integrations/posthog.md +151 -0
- package/departments/marketing/tools/integrations/postmark.md +234 -0
- package/departments/marketing/tools/integrations/postscript.md +126 -0
- package/departments/marketing/tools/integrations/rankparse.md +257 -0
- package/departments/marketing/tools/integrations/rb2b.md +110 -0
- package/departments/marketing/tools/integrations/resend.md +212 -0
- package/departments/marketing/tools/integrations/rewardful.md +147 -0
- package/departments/marketing/tools/integrations/salesforce.md +150 -0
- package/departments/marketing/tools/integrations/sanity.md +148 -0
- package/departments/marketing/tools/integrations/savvycal.md +181 -0
- package/departments/marketing/tools/integrations/segment.md +159 -0
- package/departments/marketing/tools/integrations/semrush.md +121 -0
- package/departments/marketing/tools/integrations/sendgrid.md +161 -0
- package/departments/marketing/tools/integrations/sequenzy.md +306 -0
- package/departments/marketing/tools/integrations/shopify.md +176 -0
- package/departments/marketing/tools/integrations/similarweb.md +150 -0
- package/departments/marketing/tools/integrations/snov.md +94 -0
- package/departments/marketing/tools/integrations/sparktoro.md +127 -0
- package/departments/marketing/tools/integrations/strapi.md +167 -0
- package/departments/marketing/tools/integrations/stripe.md +148 -0
- package/departments/marketing/tools/integrations/supermetrics.md +145 -0
- package/departments/marketing/tools/integrations/tiktok-ads.md +161 -0
- package/departments/marketing/tools/integrations/tolt.md +144 -0
- package/departments/marketing/tools/integrations/truelist.md +184 -0
- package/departments/marketing/tools/integrations/trustpilot.md +191 -0
- package/departments/marketing/tools/integrations/twilio.md +152 -0
- package/departments/marketing/tools/integrations/typeform.md +190 -0
- package/departments/marketing/tools/integrations/webflow.md +198 -0
- package/departments/marketing/tools/integrations/wistia.md +164 -0
- package/departments/marketing/tools/integrations/wordpress.md +175 -0
- package/departments/marketing/tools/integrations/zapier.md +244 -0
- package/departments/marketing/tools/integrations/zoominfo.md +191 -0
- package/departments/quality/agents/copy-director.yaml +1 -0
- package/departments/saas/SKILL.md +1 -0
- package/departments/saas/skills/churn-analysis/SKILL.md +421 -4
- package/departments/saas/skills/churn-analysis/references/cancel-flow-patterns.md +316 -0
- package/departments/saas/skills/churn-analysis/references/dunning-playbook.md +408 -0
- package/departments/saas/skills/launch-execute/SKILL.md +346 -4
- package/departments/saas/skills/onboarding-optimize/SKILL.md +218 -4
- package/departments/saas/skills/onboarding-optimize/references/experiments.md +258 -0
- package/departments/saas/skills/paywall-design/SKILL.md +256 -0
- package/departments/saas/skills/paywall-design/references/experiments.md +164 -0
- package/departments/saas/skills/pricing-strategy/SKILL.md +224 -0
- package/departments/saas/skills/pricing-strategy/references/research-methods.md +152 -0
- package/departments/saas/skills/pricing-strategy/references/tier-structure.md +232 -0
- package/departments/sales/SKILL.md +3 -0
- package/departments/sales/skills/prospecting/SKILL.md +297 -0
- package/departments/sales/skills/prospecting/references/b2b-prospecting.md +106 -0
- package/departments/sales/skills/prospecting/references/compliance.md +123 -0
- package/departments/sales/skills/prospecting/references/data-sources.md +287 -0
- package/departments/sales/skills/prospecting/references/demand-signals.md +129 -0
- package/departments/sales/skills/prospecting/references/local-prospecting.md +165 -0
- package/departments/sales/skills/prospecting/references/saas-prospecting.md +123 -0
- package/departments/sales/skills/revops/SKILL.md +379 -0
- package/departments/sales/skills/revops/references/automation-playbooks.md +290 -0
- package/departments/sales/skills/revops/references/lifecycle-definitions.md +278 -0
- package/departments/sales/skills/revops/references/routing-rules.md +203 -0
- package/departments/sales/skills/revops/references/scoring-models.md +247 -0
- package/departments/sales/skills/sales-enablement/SKILL.md +396 -0
- package/departments/sales/skills/sales-enablement/references/deck-frameworks.md +263 -0
- package/departments/sales/skills/sales-enablement/references/demo-scripts.md +355 -0
- package/departments/sales/skills/sales-enablement/references/objection-library.md +270 -0
- package/departments/sales/skills/sales-enablement/references/one-pager-templates.md +208 -0
- package/harness/codex/AGENTS.md +8 -8
- package/harness/copilot/copilot-instructions.md +8 -8
- package/harness/cursor/rules/arkaos.mdc +9 -9
- package/harness/gemini/GEMINI.md +8 -8
- package/harness/opencode/AGENTS.md +8 -8
- package/harness/zed/.rules +8 -8
- package/knowledge/agents-registry-v2.json +170 -8
- package/knowledge/commands-registry.json +693 -99
- package/knowledge/skills-manifest.json +459 -20
- package/package.json +1 -1
- package/pyproject.toml +1 -1
- package/scripts/tools/evals_import.py +183 -0
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
# Conversion Tracking Setup
|
|
2
|
+
|
|
3
|
+
How to set up conversion tracking pixels across ad platforms. This guide covers installation, event configuration, and validation — everything a marketer needs to ensure ad spend is properly attributed.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Why This Matters
|
|
8
|
+
|
|
9
|
+
Without conversion tracking:
|
|
10
|
+
- Ad platforms can't optimize for your actual goals
|
|
11
|
+
- You're flying blind on ROAS and CPA
|
|
12
|
+
- Retargeting audiences can't be built
|
|
13
|
+
- You'll waste budget on impressions that don't convert
|
|
14
|
+
|
|
15
|
+
Get tracking right before spending a dollar on ads.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Platform Pixels Overview
|
|
20
|
+
|
|
21
|
+
| Platform | Pixel/Tag Name | Events API | Key Events |
|
|
22
|
+
|----------|---------------|:----------:|------------|
|
|
23
|
+
| **Google Ads** | Google tag (gtag.js) | Enhanced Conversions | purchase, sign_up, generate_lead |
|
|
24
|
+
| **Meta** | Meta Pixel + CAPI | Conversions API | Purchase, Lead, ViewContent, AddToCart |
|
|
25
|
+
| **LinkedIn** | Insight Tag | Conversions API | conversion (URL or event-based) |
|
|
26
|
+
| **TikTok** | TikTok Pixel | Events API | Purchase, ViewContent, AddToCart, CompleteRegistration |
|
|
27
|
+
| **Twitter/X** | Twitter Pixel | - | Purchase, SignUp, Download |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Google Ads
|
|
32
|
+
|
|
33
|
+
### Install the Google tag
|
|
34
|
+
|
|
35
|
+
Add to every page, in `<head>`:
|
|
36
|
+
|
|
37
|
+
```html
|
|
38
|
+
<script async src="https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX"></script>
|
|
39
|
+
<script>
|
|
40
|
+
window.dataLayer = window.dataLayer || [];
|
|
41
|
+
function gtag(){dataLayer.push(arguments);}
|
|
42
|
+
gtag('js', new Date());
|
|
43
|
+
gtag('config', 'AW-XXXXXXXXX');
|
|
44
|
+
</script>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Replace `AW-XXXXXXXXX` with your Conversion ID from Google Ads > Tools > Conversions.
|
|
48
|
+
|
|
49
|
+
### Set up conversion actions
|
|
50
|
+
|
|
51
|
+
In Google Ads > Goals > Conversions > New conversion action:
|
|
52
|
+
|
|
53
|
+
| Conversion | Category | Value | Count |
|
|
54
|
+
|-----------|----------|-------|-------|
|
|
55
|
+
| Purchase | Purchase | Dynamic (order value) | Every |
|
|
56
|
+
| Sign up / Lead | Sign-up | Fixed ($X estimated value) | One |
|
|
57
|
+
| Demo request | Lead | Fixed ($X estimated value) | One |
|
|
58
|
+
| Free trial start | Sign-up | Fixed ($X estimated value) | One |
|
|
59
|
+
|
|
60
|
+
### Fire conversion events
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
// Purchase
|
|
64
|
+
gtag('event', 'conversion', {
|
|
65
|
+
'send_to': 'AW-XXXXXXXXX/CONVERSION_LABEL',
|
|
66
|
+
'value': 99.00,
|
|
67
|
+
'currency': 'USD',
|
|
68
|
+
'transaction_id': 'ORDER-123'
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Lead / Sign up
|
|
72
|
+
gtag('event', 'conversion', {
|
|
73
|
+
'send_to': 'AW-XXXXXXXXX/CONVERSION_LABEL',
|
|
74
|
+
'value': 50.00,
|
|
75
|
+
'currency': 'USD'
|
|
76
|
+
});
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Enhanced Conversions
|
|
80
|
+
|
|
81
|
+
Sends hashed first-party data (email, phone) to improve attribution after cookie restrictions. Enable in Google Ads > Goals > Settings > Enhanced conversions.
|
|
82
|
+
|
|
83
|
+
```javascript
|
|
84
|
+
gtag('set', 'user_data', {
|
|
85
|
+
'email': 'user@example.com', // auto-hashed by gtag
|
|
86
|
+
'phone_number': '+11234567890'
|
|
87
|
+
});
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Google Tag Manager alternative
|
|
91
|
+
|
|
92
|
+
If using GTM instead of inline gtag.js:
|
|
93
|
+
1. Install GTM container on all pages
|
|
94
|
+
2. Create Google Ads conversion tags in GTM
|
|
95
|
+
3. Set triggers for conversion events (form submissions, purchases)
|
|
96
|
+
4. Use the Data Layer to pass dynamic values (order amount, transaction ID)
|
|
97
|
+
5. Test with GTM Preview mode before publishing
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Meta (Facebook/Instagram)
|
|
102
|
+
|
|
103
|
+
### Install the Meta Pixel
|
|
104
|
+
|
|
105
|
+
Add to every page, in `<head>`:
|
|
106
|
+
|
|
107
|
+
```html
|
|
108
|
+
<script>
|
|
109
|
+
!function(f,b,e,v,n,t,s)
|
|
110
|
+
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
|
111
|
+
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
|
112
|
+
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
|
113
|
+
n.queue=[];t=b.createElement(e);t.async=!0;
|
|
114
|
+
t.src=v;s=b.getElementsByTagName(e)[0];
|
|
115
|
+
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
|
116
|
+
'https://connect.facebook.net/en_US/fbevents.js');
|
|
117
|
+
fbq('init', 'YOUR_PIXEL_ID');
|
|
118
|
+
fbq('track', 'PageView');
|
|
119
|
+
</script>
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Replace `YOUR_PIXEL_ID` from Meta Events Manager.
|
|
123
|
+
|
|
124
|
+
### Standard events
|
|
125
|
+
|
|
126
|
+
```javascript
|
|
127
|
+
// View a product or key page
|
|
128
|
+
fbq('track', 'ViewContent', {
|
|
129
|
+
content_name: 'Pro Plan',
|
|
130
|
+
content_category: 'Pricing',
|
|
131
|
+
value: 29.00,
|
|
132
|
+
currency: 'USD'
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// Lead capture (form submit, demo request)
|
|
136
|
+
fbq('track', 'Lead', {
|
|
137
|
+
content_name: 'Demo Request',
|
|
138
|
+
value: 50.00,
|
|
139
|
+
currency: 'USD'
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
// Purchase
|
|
143
|
+
fbq('track', 'Purchase', {
|
|
144
|
+
value: 99.00,
|
|
145
|
+
currency: 'USD',
|
|
146
|
+
content_type: 'product',
|
|
147
|
+
contents: [{ id: 'pro-plan', quantity: 1 }]
|
|
148
|
+
});
|
|
149
|
+
|
|
150
|
+
// Add to cart (e-commerce)
|
|
151
|
+
fbq('track', 'AddToCart', {
|
|
152
|
+
content_ids: ['SKU-123'],
|
|
153
|
+
content_type: 'product',
|
|
154
|
+
value: 49.00,
|
|
155
|
+
currency: 'USD'
|
|
156
|
+
});
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Conversions API (CAPI)
|
|
160
|
+
|
|
161
|
+
Server-side tracking that works alongside the pixel. Required for accurate tracking after iOS 14+ and cookie restrictions.
|
|
162
|
+
|
|
163
|
+
Set up via:
|
|
164
|
+
- **Direct integration** — send events from your server to Meta's API
|
|
165
|
+
- **Partner integrations** — Shopify, WooCommerce, Segment, etc. have built-in CAPI support
|
|
166
|
+
- **Conversions API Gateway** — Meta's managed solution via AWS
|
|
167
|
+
|
|
168
|
+
Key: send the same events from both pixel (browser) AND CAPI (server), with a shared `event_id` for deduplication.
|
|
169
|
+
|
|
170
|
+
### Aggregated Event Measurement
|
|
171
|
+
|
|
172
|
+
Required for iOS 14+ tracking. In Events Manager > Aggregated Event Measurement:
|
|
173
|
+
1. Verify your domain
|
|
174
|
+
2. Configure and prioritize your top 8 events in order of business importance
|
|
175
|
+
3. Purchase should typically be #1, Lead #2
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## LinkedIn
|
|
180
|
+
|
|
181
|
+
### Install the Insight Tag
|
|
182
|
+
|
|
183
|
+
Add to every page, before `</body>`:
|
|
184
|
+
|
|
185
|
+
```html
|
|
186
|
+
<script type="text/javascript">
|
|
187
|
+
_linkedin_partner_id = "YOUR_PARTNER_ID";
|
|
188
|
+
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
|
|
189
|
+
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
|
|
190
|
+
(function(l) {
|
|
191
|
+
if (!l){window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
|
|
192
|
+
window.lintrk.q=[]}
|
|
193
|
+
var s = document.getElementsByTagName("script")[0];
|
|
194
|
+
var b = document.createElement("script");
|
|
195
|
+
b.type = "text/javascript";b.async = true;
|
|
196
|
+
b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
|
|
197
|
+
s.parentNode.insertBefore(b, s);})(window.lintrk);
|
|
198
|
+
</script>
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
### Conversion tracking
|
|
202
|
+
|
|
203
|
+
LinkedIn supports two methods:
|
|
204
|
+
|
|
205
|
+
**URL-based**: Fires when someone visits a specific URL (e.g., `/thank-you`).
|
|
206
|
+
Set up in Campaign Manager > Analyze > Conversion Tracking > Create Conversion.
|
|
207
|
+
|
|
208
|
+
**Event-based**: Fire manually on specific actions:
|
|
209
|
+
|
|
210
|
+
```javascript
|
|
211
|
+
window.lintrk('track', { conversion_id: YOUR_CONVERSION_ID });
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
### LinkedIn CAPI
|
|
215
|
+
|
|
216
|
+
For server-side tracking, LinkedIn offers a Conversions API. Set up via partner integrations (Segment, Tealium) or direct API calls. Deduplicates with the Insight Tag automatically when configured correctly.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
## TikTok
|
|
221
|
+
|
|
222
|
+
### Install the TikTok Pixel
|
|
223
|
+
|
|
224
|
+
Add to every page, in `<head>`:
|
|
225
|
+
|
|
226
|
+
```html
|
|
227
|
+
<script>
|
|
228
|
+
!function (w, d, t) {
|
|
229
|
+
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];
|
|
230
|
+
ttq.methods=["page","track","identify","instances","debug","on","off",
|
|
231
|
+
"once","ready","alias","group","enableCookie","disableCookie","holdConsent",
|
|
232
|
+
"revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e)
|
|
233
|
+
{t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};
|
|
234
|
+
for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);
|
|
235
|
+
ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;
|
|
236
|
+
n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e};
|
|
237
|
+
ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",
|
|
238
|
+
o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,
|
|
239
|
+
ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},
|
|
240
|
+
ttq._o[e]=n||{};var s=document.createElement("script");
|
|
241
|
+
s.type="text/javascript",s.async=!0,s.src=r+"?sdkid="+e+"&lib="+t;
|
|
242
|
+
var a=document.getElementsByTagName("script")[0];
|
|
243
|
+
a.parentNode.insertBefore(s,a)};
|
|
244
|
+
ttq.load('YOUR_PIXEL_ID');
|
|
245
|
+
ttq.page();
|
|
246
|
+
}(window, document, 'ttq');
|
|
247
|
+
</script>
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
### Standard events
|
|
251
|
+
|
|
252
|
+
```javascript
|
|
253
|
+
// View content
|
|
254
|
+
ttq.track('ViewContent', {
|
|
255
|
+
content_id: 'pro-plan',
|
|
256
|
+
content_type: 'product',
|
|
257
|
+
content_name: 'Pro Plan',
|
|
258
|
+
value: 29.00,
|
|
259
|
+
currency: 'USD'
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
// Complete registration / sign up
|
|
263
|
+
ttq.track('CompleteRegistration', {
|
|
264
|
+
content_name: 'Free Trial'
|
|
265
|
+
});
|
|
266
|
+
|
|
267
|
+
// Purchase
|
|
268
|
+
ttq.track('Purchase', {
|
|
269
|
+
content_id: 'pro-plan',
|
|
270
|
+
content_type: 'product',
|
|
271
|
+
value: 99.00,
|
|
272
|
+
currency: 'USD',
|
|
273
|
+
quantity: 1
|
|
274
|
+
});
|
|
275
|
+
|
|
276
|
+
// Add to cart
|
|
277
|
+
ttq.track('AddToCart', {
|
|
278
|
+
content_id: 'SKU-123',
|
|
279
|
+
content_type: 'product',
|
|
280
|
+
value: 49.00,
|
|
281
|
+
currency: 'USD'
|
|
282
|
+
});
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Events API (server-side)
|
|
286
|
+
|
|
287
|
+
TikTok's Events API works like Meta's CAPI — send the same events from your server for better attribution. Use `event_id` for deduplication with browser pixel events.
|
|
288
|
+
|
|
289
|
+
### Advanced Matching
|
|
290
|
+
|
|
291
|
+
Pass hashed user data for better attribution:
|
|
292
|
+
|
|
293
|
+
```javascript
|
|
294
|
+
ttq.identify({
|
|
295
|
+
email: 'user@example.com', // auto-hashed
|
|
296
|
+
phone_number: '+11234567890'
|
|
297
|
+
});
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Validation Checklist
|
|
303
|
+
|
|
304
|
+
After installing any pixel, verify before going live:
|
|
305
|
+
|
|
306
|
+
### Browser-side checks
|
|
307
|
+
|
|
308
|
+
- [ ] Pixel fires on every page (check via browser extension)
|
|
309
|
+
- [ ] Conversion events fire at the right moment (after confirmed action, not on button click)
|
|
310
|
+
- [ ] Event parameters contain correct values (currency, amount, content IDs)
|
|
311
|
+
- [ ] No duplicate events firing on the same action
|
|
312
|
+
- [ ] Events fire on both desktop and mobile
|
|
313
|
+
|
|
314
|
+
### Platform-side checks
|
|
315
|
+
|
|
316
|
+
- [ ] Events appear in the platform's event manager/diagnostics
|
|
317
|
+
- [ ] Test conversions show correct values
|
|
318
|
+
- [ ] Event match quality is acceptable (Meta: score > 6)
|
|
319
|
+
- [ ] Server-side events are deduplicating with browser events (not double-counting)
|
|
320
|
+
|
|
321
|
+
### Debugging tools
|
|
322
|
+
|
|
323
|
+
| Platform | Tool |
|
|
324
|
+
|----------|------|
|
|
325
|
+
| Google | Google Tag Assistant, Chrome DevTools Network tab |
|
|
326
|
+
| Meta | Meta Pixel Helper (Chrome extension), Events Manager Test Events |
|
|
327
|
+
| LinkedIn | Insight Tag Validator in Campaign Manager |
|
|
328
|
+
| TikTok | TikTok Pixel Helper (Chrome extension), Events Manager |
|
|
329
|
+
| All | GTM Preview Mode (if using Google Tag Manager) |
|
|
330
|
+
|
|
331
|
+
---
|
|
332
|
+
|
|
333
|
+
## Common Mistakes
|
|
334
|
+
|
|
335
|
+
- **Firing purchase events on button click instead of confirmed payment** — always fire on the success/thank-you page or after server confirmation
|
|
336
|
+
- **Missing deduplication between pixel and server events** — without a shared `event_id`, you'll double-count conversions
|
|
337
|
+
- **Not testing on mobile** — many pixels break on mobile browsers or in-app webviews
|
|
338
|
+
- **Hardcoded test values** — remove test transaction amounts before going live
|
|
339
|
+
- **Forgetting to exclude internal traffic** — your team's visits inflate conversion data
|
|
340
|
+
- **Installing pixels without consent management** — GDPR/CCPA require user consent before firing tracking pixels in applicable regions
|
|
341
|
+
- **Pixel installed but no conversion actions created** — the pixel collects data, but the ad platform won't optimize without defined conversion actions
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## When to Use Server-Side Tracking
|
|
346
|
+
|
|
347
|
+
Browser-only tracking is increasingly unreliable due to:
|
|
348
|
+
- iOS 14+ App Tracking Transparency
|
|
349
|
+
- Third-party cookie deprecation
|
|
350
|
+
- Ad blockers (30%+ of tech audiences)
|
|
351
|
+
|
|
352
|
+
**Use server-side (CAPI/Events API) when:**
|
|
353
|
+
- Running Meta or TikTok ads (strongly recommended)
|
|
354
|
+
- Your audience is tech-savvy (higher ad blocker usage)
|
|
355
|
+
- You need accurate purchase/revenue attribution
|
|
356
|
+
- You're spending >$5K/month on any platform
|
|
357
|
+
|
|
358
|
+
**Server-side is optional when:**
|
|
359
|
+
- Running Google Ads only (Enhanced Conversions covers most gaps)
|
|
360
|
+
- Low ad spend / testing phase
|
|
361
|
+
- B2B with LinkedIn only (Insight Tag is still reliable)
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# Google Search Playbook (B2B)
|
|
2
|
+
|
|
3
|
+
Intent-first operating rules for Google Ads: where to spend first, how to structure the account, when to loosen match types, and how to keep smart bidding pointed at revenue instead of junk form-fills. For RSA generation mechanics, see [rsa-output-spec.md](rsa-output-spec.md).
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- The intent ladder
|
|
8
|
+
- Brand bidding (and the pause test)
|
|
9
|
+
- Capture before you create
|
|
10
|
+
- Account structure
|
|
11
|
+
- Keywords and match types
|
|
12
|
+
- Negative keywords
|
|
13
|
+
- The weekly search-terms ritual
|
|
14
|
+
- Bidding by conversion volume
|
|
15
|
+
- Offline conversions
|
|
16
|
+
- Quality Score and landing pages
|
|
17
|
+
- PMax for B2B
|
|
18
|
+
- Benchmarks and the weekly scorecard
|
|
19
|
+
|
|
20
|
+
## The intent ladder
|
|
21
|
+
|
|
22
|
+
Spend opens rung by rung — each tier unlocks only after the one below proves it converts to *pipeline*:
|
|
23
|
+
|
|
24
|
+
1. **Brand** — "they want you" (brand name, brand + pricing/login). Cheapest clicks, highest conversion. Always on.
|
|
25
|
+
2. **High-intent non-brand** — ready to buy ("cold email software," "best CRM for agencies"). The profit center; most budget lives here.
|
|
26
|
+
3. **Competitor** — evaluating alternatives ("[competitor] alternative/vs"). Higher CPC, lower CVR; run selectively with dedicated comparison pages.
|
|
27
|
+
4. **Problem-aware** — has the problem, isn't shopping ("how to scale outbound"). Longer payback; only after tiers 1–2 work.
|
|
28
|
+
5. **Demand-gen/awareness** — broad, Display, YouTube. Last, with spare budget only.
|
|
29
|
+
|
|
30
|
+
**Don't skip rungs.** Broad spend before high-intent proof is how B2B accounts burn budgets with nothing in the CRM.
|
|
31
|
+
|
|
32
|
+
## Brand bidding (and the pause test)
|
|
33
|
+
|
|
34
|
+
Bid on brand by default — if you don't, competitors will, and you pay in lost deals rather than clicks. The exception: if you're the only bidder and organic owns the whole SERP, test pausing brand and watch **total brand conversions (paid + organic)**, not just paid. If total holds, you were cannibalizing yourself; if it drops, turn it back on. Cap brand budget — it rarely needs much, and shared budgets let brand eat everything (see below).
|
|
35
|
+
|
|
36
|
+
## Capture before you create
|
|
37
|
+
|
|
38
|
+
Search **harvests existing demand**; it cannot create demand. If your category has near-zero search volume, say so and put the budget upstream (LinkedIn/Meta/YouTube) instead of forcing keywords nobody types. Demand creation happens on social; Search is where you catch it landing.
|
|
39
|
+
|
|
40
|
+
## Account structure
|
|
41
|
+
|
|
42
|
+
Minimum viable split — each with an **independent budget**:
|
|
43
|
+
|
|
44
|
+
- **Brand** (own budget — never shared)
|
|
45
|
+
- **Non-brand high-intent** (one campaign, themed ad groups by solution)
|
|
46
|
+
- **Competitor** (own budget and messaging — its CPC/CVR economics are different)
|
|
47
|
+
- **Remarketing** (separate from Search)
|
|
48
|
+
|
|
49
|
+
Why independent budgets: in a shared budget the cheapest, highest-converting campaign (always brand) starves the ones you actually need data from. The account looks profitable on paper and is blind everywhere that matters.
|
|
50
|
+
|
|
51
|
+
- **Themed ad groups, not SKAGs:** 5–15 closely related keywords sharing one intent, answerable by one promise. If two keywords need different landing pages or value props, split the group. 2–3 RSAs per ad group.
|
|
52
|
+
- **Consolidation rule:** a campaign that can't reach ~15–30 conversions/month can't feed smart bidding — merge it. Fewer, better-fed campaigns beat elaborate structures in low-volume B2B.
|
|
53
|
+
- **Default settings to flip on every new Search campaign:** turn OFF Search Partners and Display Network until proven; set location targeting to **"Presence"** (people physically in the target geo — the default "presence or interest" serves people merely interested in it); remember language targeting keys off the user's Google interface language, not the query language.
|
|
54
|
+
- **Don't compete with yourself:** the same keyword at the same match type in multiple ad groups splits your data and bids against your own account. Use negatives to route each query to exactly one home.
|
|
55
|
+
|
|
56
|
+
## Keywords and match types
|
|
57
|
+
|
|
58
|
+
Source keywords from how **buyers describe the problem** (sales-call language, your own search-terms report, competitor ad copy) — not how you describe the product. A keyword with 50 searches/month and clear intent beats one with 5,000 and mixed intent. Tag every keyword by intent tier.
|
|
59
|
+
|
|
60
|
+
**Match-type progression — in this order:**
|
|
61
|
+
|
|
62
|
+
1. Start high-intent terms on **Phrase + Exact** (Exact still matches close variants; Phrase is the B2B workhorse), manual CPC or Max Conversions while volume is low.
|
|
63
|
+
2. Mine the search-terms report weekly (ritual below).
|
|
64
|
+
3. Introduce **Broad only after**: 30+ conversions/month in the campaign, AND smart bidding live, AND a tight negative list. Broad without all three is a donation to Google.
|
|
65
|
+
|
|
66
|
+
## Negative keywords
|
|
67
|
+
|
|
68
|
+
Starter lists to apply at build time:
|
|
69
|
+
|
|
70
|
+
- **Universal junk:** free, cheap, jobs, salary, hiring, career, intern, student, course, tutorial, training, certification, pdf, template, reddit, wiki, login (except in brand campaigns)
|
|
71
|
+
- **Research intent:** "what is," "how to," "examples," "meaning," "definition"
|
|
72
|
+
- **Category collisions:** terms your category shares with an unrelated one (selling sales-engagement? negative "employee engagement")
|
|
73
|
+
- **Your brand as a negative in non-brand campaigns** — routes brand traffic to the brand campaign where it belongs
|
|
74
|
+
|
|
75
|
+
**Match-type mechanics gotcha:** negative broad requires ALL its words present (any order) — negative broad "free trial" does **not** block "free" alone. Negative phrase blocks in-order phrases; negative exact blocks only that exact query. Most accidental over-blocking and under-blocking traces to this.
|
|
76
|
+
|
|
77
|
+
**Don't over-negative:** every negative narrows reach, and it compounds fast at B2B volumes. Negative the clearly wrong, not the merely uncertain — an ambiguous term deserves more data before it's cut.
|
|
78
|
+
|
|
79
|
+
## The weekly search-terms ritual
|
|
80
|
+
|
|
81
|
+
Once a week per campaign, three passes:
|
|
82
|
+
|
|
83
|
+
1. **Waste:** terms with spend (3+ clicks) and zero conversions → negative the irrelevant ones.
|
|
84
|
+
2. **Winners:** converting search terms that aren't keywords yet → add as Exact/Phrase in the right ad group.
|
|
85
|
+
3. **Drift:** broad/phrase matches pulling adjacent-but-wrong meanings → tighten the match type or negative the drift.
|
|
86
|
+
|
|
87
|
+
## Bidding by conversion volume
|
|
88
|
+
|
|
89
|
+
| Conversions/month (campaign) | Strategy |
|
|
90
|
+
|---|---|
|
|
91
|
+
| 0–15 | Manual CPC or Maximize Conversions (no target) |
|
|
92
|
+
| 15–30 | Maximize Conversions |
|
|
93
|
+
| 30+ stable | Target CPA — set at or slightly above your trailing 30-day actual |
|
|
94
|
+
| Real revenue values flowing back | Target ROAS |
|
|
95
|
+
|
|
96
|
+
Rules of thumb: smart bidding needs ~30 conversions in 30 days per campaign to learn. Set tCPA near actuals — an aggressively low target chokes delivery (Google just stops bidding). Move targets in **±10–15% steps and wait 1–2 weeks**; every change restarts learning, so don't panic-edit inside the learning window. Budget mechanics: campaigns can spend up to **2× daily budget** in a day (Google balances monthly — single-day overspend is normal); a budget-capped campaign that's converting often *lowers* its CPA when you raise the budget, because constrained smart bidding underperforms.
|
|
97
|
+
|
|
98
|
+
## Offline conversions
|
|
99
|
+
|
|
100
|
+
The single highest-impact move in a B2B Google account: **import CRM outcomes** (SQL, opportunity, closed-won) back into Google via GCLID + offline conversion import or a native CRM integration, with real deal values. Until then, smart bidding optimizes to form-fills and buys you junk (see the optimize-to-quality trap in [b2b-paid-playbook.md](b2b-paid-playbook.md)). B2B clicks close in 60–180 days — in-platform conversion counts will never tell the truth on their own. Reconcile against the CRM monthly; the CRM wins.
|
|
101
|
+
|
|
102
|
+
## Quality Score and landing pages
|
|
103
|
+
|
|
104
|
+
QS (1–10, per keyword) = expected CTR + ad relevance + landing page experience. Low QS means paying more for the same position — **fix the weak component before raising the bid.** Landing page rules that move it: message match (page headline echoes the ad's promise and the query — not a generic homepage); one job and one CTA per page; speed; proof above the fold. **Form length is an intent gate:** short forms buy volume at lower quality, longer qualified forms buy fewer/better — match it to what you're feeding back as the conversion event.
|
|
105
|
+
|
|
106
|
+
## PMax for B2B
|
|
107
|
+
|
|
108
|
+
Value ranking: **brand Search > high-intent non-brand Search > remarketing > PMax > broad demand-gen.** PMax earns budget only after the cheaper, clearer wins are maxed. Never run it as the first campaign, on weak tracking, or on tiny budgets.
|
|
109
|
+
|
|
110
|
+
Guardrails when you do run it: account-level **brand exclusions** (or it cannibalizes brand Search and claims the credit); audience signals from first-party data; negative keywords from day one; offline conversions imported *before* scaling it; check the CRM quality of PMax leads by campaign — if they convert to pipeline at half the rate of Search leads, PMax is cheap-looking and expensive-in-reality. Google auto-generates a bad video if you don't supply one.
|
|
111
|
+
|
|
112
|
+
## Benchmarks and the weekly scorecard
|
|
113
|
+
|
|
114
|
+
B2B SaaS Search ranges (wide on purpose — anchor to your own first 30 days): brand CTR 8–20%, CVR 15–40%; non-brand high-intent CTR 2–6%, CVR 3–10%, CPC $8–40+, CPL $80–400+; competitor terms run higher CPC and lower CVR than non-brand.
|
|
115
|
+
|
|
116
|
+
Weekly scorecard — exactly eight numbers: spend · leads · CPL · lead→SQL rate (from CRM) · SQLs · cost per SQL · Search impression share · top wasted search terms. Diagnostic: **Search Lost IS (budget)** vs **Lost IS (rank)** tells you whether you're capped by money or by Ad Rank — different problems, different fixes. If the eight are healthy and trending right, the account is healthy.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
*Framework lineage: adapted (re-expressed and restructured) from practitioner playbooks, notably Ivan Falco's ads-skills. Benchmarks are practitioner-reported starting points — recalibrate against your own account.*
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# LinkedIn B2B Playbook
|
|
2
|
+
|
|
3
|
+
Operational rules for LinkedIn Ads: bidding, audience sizing, scaling triggers, benchmarks, and format-specific tactics. LinkedIn is the precision channel — highest-quality B2B targeting at the highest cost, so the operating discipline is about not wasting that precision.
|
|
4
|
+
|
|
5
|
+
## Contents
|
|
6
|
+
|
|
7
|
+
- Bidding progression
|
|
8
|
+
- Audience sizing rules
|
|
9
|
+
- Job functions vs. job titles
|
|
10
|
+
- Audience splitting rules
|
|
11
|
+
- Penetration-based scaling
|
|
12
|
+
- Benchmarks by funnel stage
|
|
13
|
+
- Thought leader ads (TLAs)
|
|
14
|
+
- Campaign group build order
|
|
15
|
+
- Format notes (document, conversation, CTV)
|
|
16
|
+
- Retargeting setup (non-retroactive!)
|
|
17
|
+
- Account audit shortlist
|
|
18
|
+
|
|
19
|
+
## Bidding progression
|
|
20
|
+
|
|
21
|
+
1. **Week 1:** launch on automated bidding / maximum delivery. Don't touch it — you're buying CPC data.
|
|
22
|
+
2. **Week 2+:** switch to manual CPC set **~20% below the average CPC** the automated phase produced. This reliably cuts CPC without killing delivery.
|
|
23
|
+
3. **Exceptions:** small retargeting/ABM audiences stay on automated (manual underdelivers on small pools); reset to automated for a week whenever you change objective; audiences under ~10K may never spend their full budget at any bid.
|
|
24
|
+
|
|
25
|
+
Scheduling note: LinkedIn's ad day resets at UTC midnight. Professional activity peaks weekday mornings–early afternoon in the audience's timezone; dayparting there stretches limited budgets.
|
|
26
|
+
|
|
27
|
+
## Audience sizing rules
|
|
28
|
+
|
|
29
|
+
- **Cold prospecting:** 50K–300K members. Minimum ~15K per cold campaign.
|
|
30
|
+
- **Too-narrow failure mode:** hyper-narrow audiences spike CPMs several-fold and stall delivery entirely — budget won't spend at any bid. If it's not spending, the audience is usually too small, not the bid too low.
|
|
31
|
+
- **Tiny TAM (<~30K addressable):** skip the TOF/BOF split — run one campaign that saturates the whole audience with all funnel layers.
|
|
32
|
+
- **Retargeting:** audiences of roughly 1K–5K per segment (site visitors, 50%+ video viewers) are workable; below ~300 won't deliver.
|
|
33
|
+
|
|
34
|
+
## Job functions vs. job titles
|
|
35
|
+
|
|
36
|
+
Title targeting is precise but small and expensive. **Job function + seniority** targeting typically triples the addressable audience with materially cheaper reach at similar engagement — at the cost of a weekly "negative title" exclusion pass for the first ~2 months (like negative keywords: exclude irrelevant titles as they show up in demographics).
|
|
37
|
+
|
|
38
|
+
Platform gotchas:
|
|
39
|
+
- **Job-title targeting and seniority targeting are mutually exclusive** — you can't stack them. Entry-level exclusions only work under function/seniority targeting.
|
|
40
|
+
- The **Business Development function includes many CEOs, CMOs, and managing directors.** Don't blanket-exclude BD if you sell to the C-suite — filter with seniority exclusions instead.
|
|
41
|
+
- Leave **Audience Expansion OFF** (it quietly spends a meaningful share of budget on out-of-ICP members) and **Audience Network OFF** for B2B lead gen.
|
|
42
|
+
|
|
43
|
+
## Audience splitting rules
|
|
44
|
+
|
|
45
|
+
Split priority: **intent > persona > region/company size > seniority.**
|
|
46
|
+
|
|
47
|
+
- **Region:** keep the US separate (most expensive market — grouped with cheaper regions, it eats the budget). DACH needs localized ads; UK/Canada/Australia group fine; Nordics/Netherlands run fine in English. Never group an expensive market with small ones.
|
|
48
|
+
- **Company size:** segment by employee count (not revenue — LinkedIn's revenue data is estimated). Start with two bands, not three. Left unsegmented, LinkedIn over-serves the extremes (small companies and very large ones) and underserves mid-market — splitting forces fair distribution.
|
|
49
|
+
|
|
50
|
+
## Penetration-based scaling
|
|
51
|
+
|
|
52
|
+
Audience penetration (reached ÷ audience size) is the scaling trigger, not spend:
|
|
53
|
+
|
|
54
|
+
- 30-day penetration **<25%** → room to raise budget on this audience.
|
|
55
|
+
- **25–35%** → hold; let penetration accumulate before adding spend.
|
|
56
|
+
- **~35%+** = healthy saturation → scale horizontally (new audiences), not vertically.
|
|
57
|
+
- Expect diminishing returns: doubling budget grows penetration ~50–70%, not 100%.
|
|
58
|
+
- One campaign at 35%+ penetration beats three campaigns at 12% each — consolidate before multiplying.
|
|
59
|
+
- **Spend rising but reach flat (frequency climbing)?** Either competitors outbid you or ad quality is dragging your auction price. Strong ads → raise budget/bids; weak ads → fix creative first, more money just buys the same people again.
|
|
60
|
+
|
|
61
|
+
## Benchmarks by funnel stage
|
|
62
|
+
|
|
63
|
+
Practitioner-reported B2B SaaS ranges — recalibrate on your own account. **Careful:** for engagement-objective and thought-leader campaigns, LinkedIn's reported "CTR" includes social actions; judge traffic on **click-through to landing page (CTRTLP)** specifically.
|
|
64
|
+
|
|
65
|
+
| Metric | Cold / TOF | MOF | BOF/retargeting |
|
|
66
|
+
|---|---|---|---|
|
|
67
|
+
| CTRTLP | 0.30–0.55% | 0.55–0.80% | 0.80–1.30% |
|
|
68
|
+
| CPM | $33–65 typical | — | — |
|
|
69
|
+
| CPC | $8–22+ | — | lower |
|
|
70
|
+
| Cost per lead (Lead Gen Form) | — | $50–200 | — |
|
|
71
|
+
| Cost per website form fill | — | — | $200–500 |
|
|
72
|
+
|
|
73
|
+
Other useful bars: lead-gen form fill rate >8% (below = form too long, offer weak, or audience too cold); cost per SQL should stay under ~$500 (enterprise ACVs tolerate $300–500+ CPLs; SMB needs $50–150); video view rate >40%, completion 8–15% for horizontal; expect return data to lag 3–6 months.
|
|
74
|
+
|
|
75
|
+
## Thought leader ads (TLAs)
|
|
76
|
+
|
|
77
|
+
Ads promoted from a person's profile rather than the company page — currently the platform's biggest efficiency arbitrage:
|
|
78
|
+
|
|
79
|
+
- TLAs typically deliver **~3–6× the CTR of company-page ads** at a fraction of the CPC.
|
|
80
|
+
- **Non-employee/creator TLAs often outperform employee TLAs** — partnerships with niche creators are worth 30–50% of TLA budget if available.
|
|
81
|
+
- **Organic-first pipeline:** posts that hit ~2–3% organic CTR are your TLA candidates — the audience already voted.
|
|
82
|
+
- **The 72-hour edit:** organic reach concentrates in a post's first ~3 days. Let it run organic, then edit the post to add the CTA/product mention and promote it as a TLA — you capture organic credibility first, then convert it to demand gen.
|
|
83
|
+
- Auction insight: single-image ads face the most auction competition. Document, conversation, and TLA formats often buy cheaper reach purely because fewer advertisers use them — format diversification is a *bidding* tactic, not just creative variety.
|
|
84
|
+
|
|
85
|
+
## Campaign group build order
|
|
86
|
+
|
|
87
|
+
Add groups in ROI order, funding each before the next: **1. Product value** (direct response on your core offer) → **2. Remarketing** → **3. Content** (only content that can't be consumed in-feed — it must earn the click) → **4. Social proof** (case studies, testimonials) → **5. Thought leadership** (slowest payback, add last). Group-budget optimization tends to favor cheap audiences and video — don't mix enterprise with SMB or static with video in one group.
|
|
88
|
+
|
|
89
|
+
## Format notes
|
|
90
|
+
|
|
91
|
+
- **Document ads:** always 1080×1350 portrait (4:5). 5–7 slides: hook → pain → shift → solution → differentiators → CTA. The classic mistake is making the "solution" slide generic category requirements and the "differentiator" slide a rehash — slide N must add what slide N-1 couldn't. Big standalone stat slides (one number, source small) carry these.
|
|
92
|
+
- **Conversation ads:** subject 2–4 words; 3–5 short lines per message; specific numbers beat vague benefit claims; lead with a soft CTA ("see how it works") over "book a demo"; route the primary CTA to a Lead Gen Form, not a scheduling link. Benchmarks: 35–50%+ open rate, 2–5% CTR.
|
|
93
|
+
- **CTV:** Brand Awareness objective only, auto-bid only, ~$50/day minimum, limited geos. Completion metrics are meaningless (forced view). Only worth it above roughly $15K/month total spend — below that it cannibalizes measurable-signal budget.
|
|
94
|
+
|
|
95
|
+
## Retargeting setup (non-retroactive!)
|
|
96
|
+
|
|
97
|
+
**LinkedIn retargeting audiences only start collecting from the moment you create them.** Create every retargeting audience you might ever want (site visitors, video viewers, ad engagers, lead-form openers, company page visitors) **before launch** — data you didn't capture is gone permanently.
|
|
98
|
+
|
|
99
|
+
Cross-channel: tag paid-search traffic with UTMs and build LinkedIn (and Meta) retargeting audiences from it — see the [ABM playbook](abm-playbook.md) for the mechanic.
|
|
100
|
+
|
|
101
|
+
## Account audit shortlist
|
|
102
|
+
|
|
103
|
+
The highest-frequency findings when auditing LinkedIn accounts, in order: Audience Expansion left on · Audience Network left on · audiences too small to deliver · fewer than 4 active ads per campaign · campaigns under ~10 results/week (starved — consolidate) · stale creative (3+ months old) · no retargeting audiences created · lead quality never reconciled against CRM · brand/geo budget mixing · everything on automated bidding forever.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
*Framework lineage: adapted (re-expressed and restructured) from practitioner playbooks, notably Ivan Falco's ads-skills. Benchmarks are practitioner-reported starting points — recalibrate against your own account.*
|