Skip to content

usood/marketing-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

marketing-cli

Marketing CLI: Google Ads, GA4, GSC, LinkedIn, Reddit, X, YouTube, Meta from your terminal. Zero runtime dependencies — just Bun.

  • Google Ads — campaigns, budgets, assets, search terms, wasted spend, geo targeting, keyword research
  • GA4 Analytics — reports, realtime, LLM referral traffic, top pages, sources, conversions
  • Google Search Console — performance, URL inspection, indexing requests, quick wins, CTR opportunities
  • LinkedIn — OAuth login, publish posts, view traffic, draft posts
  • Reddit — search, opportunities, browse subreddits, draft comments
  • X / Twitter — compose tweets, track traffic, draft threads
  • YouTube — search videos, get stats, read comments, track traffic
  • Meta Ads — OAuth login, campaigns, insights
  • Image Generation — generate images via OpenRouter (Gemini)
  • Campaign Planning — generate PMax campaign plans as JSON

Install

Requires Bun v1.1+.

git clone https://github.com/usood/marketing-cli.git
cd marketing-cli
bun install
bun run build

Symlink the binary for global access:

ln -sf "$(pwd)/dist/marketing-cli" /usr/local/bin/marketing-cli

Or run directly without building:

bun run src/index.ts --help

Quick Start

1. Set up Google Cloud OAuth

Create OAuth credentials at Google Cloud Console:

  • Create an OAuth 2.0 Client ID (Desktop app)
  • Set redirect URI to http://localhost:8910
  • Enable these APIs: Google Ads, Analytics Data, Search Console, YouTube Data, Indexing

2. Login

marketing-cli auth login \
  --client-id YOUR_OAUTH_CLIENT_ID \
  --client-secret YOUR_OAUTH_CLIENT_SECRET \
  --developer-token YOUR_GOOGLE_ADS_DEV_TOKEN \
  --customer-id YOUR_CUSTOMER_ID \
  --login-customer-id YOUR_MCC_ID

3. Set defaults

marketing-cli auth set-defaults \
  --ga-property properties/123456789 \
  --gsc-site https://example.com \
  --openrouter-api-key sk-or-...

4. Start using

# Google Ads
marketing-cli ads performance --date-range last_7d
marketing-cli ads campaigns list
marketing-cli ads wasted-spend --threshold 200
marketing-cli ads keywords ideas --seed "ai seo"

# GA4
marketing-cli analytics realtime
marketing-cli analytics llm-referrals
marketing-cli analytics top-pages --limit 10

# Search Console
marketing-cli gsc top-keywords --limit 20
marketing-cli gsc quick-wins
marketing-cli gsc request-indexing https://example.com/new-page

# Social
marketing-cli reddit search "AI SEO" --subreddit SEO
marketing-cli linkedin draft-post "AI visibility trends"
marketing-cli twitter draft-post "zero-click search" --type thread

# Image generation
marketing-cli image generate "a modern dashboard UI" --output dashboard.png

Authentication

Google (Ads, GA4, GSC, YouTube)

Single OAuth flow covers all Google services. Credentials are saved to ~/.marketing-cli/config.json.

marketing-cli auth login --client-id ... --client-secret ... --developer-token ... --customer-id ...
marketing-cli auth status
marketing-cli auth logout

LinkedIn

Requires a LinkedIn Developer App with "Share on LinkedIn" and "Sign In with LinkedIn using OpenID Connect" products.

marketing-cli linkedin login --client-id YOUR_ID --client-secret YOUR_SECRET

Meta Ads

Requires a Meta Developer App with the Marketing API product.

marketing-cli meta login --app-id YOUR_ID --app-secret YOUR_SECRET --ad-account-id act_XXX

OpenRouter (Image Generation)

Get an API key from OpenRouter.

marketing-cli auth set-defaults --openrouter-api-key sk-or-...

Commands

Command Description
auth Google OAuth login, status, logout, set-defaults
ads Google Ads campaigns, budgets, assets, performance, keywords, geo targeting
analytics GA4 reports, realtime, LLM referrals, top pages, sources, conversions
gsc Search Console performance, inspection, indexing, quick wins, CTR opportunities
linkedin LinkedIn OAuth, post, traffic, draft-post
reddit Search, opportunities, subreddit browsing, draft comments
twitter X compose, traffic tracking, draft posts/threads
youtube Search, video details, comments, traffic
meta Meta Ads OAuth, campaigns, insights
image Generate images via OpenRouter
plan Generate PMax campaign plan JSON

Run marketing-cli --help for the full command reference.

Configuration

Config is stored at ~/.marketing-cli/config.json. Override with:

export MARKETING_CLI_CONFIG_PATH=/path/to/config.json

Global Flags

Flag Description
--format json|table|raw Output format (default: json)
--date-range R last_7d, last_30d, last_90d, or YYYY-MM-DD:YYYY-MM-DD
--verbose Debug HTTP requests
--help Show help

License

MIT

About

Marketing CLI: Google Ads, GA4, GSC, LinkedIn, Reddit, X, YouTube, Meta from your terminal. Zero dependencies.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors