← Back to workspace
INTERNAL ALPHA

Connect the system.

ProMarketing prepares campaigns and brings account performance together. Platform access is configured on the server; credentials never belong in a campaign brief.

Google Ads

  1. Create a Google Cloud project for ProMarketing, enable the Google Ads API, and request the access level needed for your test or production accounts.
  2. Configure the OAuth consent screen and a web application OAuth client. Request the Google Ads scope: https://www.googleapis.com/auth/adwords.
  3. Register the callback: PUBLIC_ORIGIN/api/oauth/google/callback. For local development use http://127.0.0.1:4344/api/oauth/google/callback.
  4. Set GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET in the server’s private environment, then restart.
  5. Connect in the app. Find accounts, entering a manager ID if needed. Select an advertising account.

Current capabilities: account discovery, campaign reports, validation, and paused Search campaign creation. Campaigns use English, country presence targeting, phrase keywords and manual CPC. Campaign controls can refresh Google status and prepare reviewed enable/pause actions. Paused creation and enable/pause passed against a verified Google test account. The test campaign remains paused; production launch still requires review.

Google Ads access requirements ↗

Meta Ads

  1. Create a Meta developer app with Marketing API access. Configure Facebook Login for the appropriate business use case.
  2. Register PUBLIC_ORIGIN/api/oauth/meta/callback as the redirect. Use an HTTPS development origin if Meta requires it.
  3. Set META_CLIENT_ID and META_CLIENT_SECRET in the private server environment.
  4. Connect your account with ads_read, find accounts, select one and sync a date range.

Current capabilities: account discovery and campaign reporting. Meta leads use the network’s lead action; clicks include all reported clicks. Publishing Meta creatives and ad sets is planned. Customer accounts may require additional platform review and access approval.

AI and saved work

The AI studio uses the installed, signed-in Cursor Agent with a fresh restricted workspace for each request. It receives only the brand and campaign brief. It has no access to ad-account credentials or ad tools. Invalid output is rejected; a failed AI request is never replaced by a fake generated draft.

Local mode saves to the server’s private data/ folder and only accepts loopback connections. Hosted use requires Firebase Auth, a separate Firebase Realtime Database, an encryption key, HTTPS and deny-by-default browser database rules. See the repository README for deployment prerequisites.

Before running ads

Verify the offer, destination, conversion tracking, currency, location, dates and budget. Google daily budgets are averages, not a hard daily spending limit. ProMarketing always creates paused campaigns. Review the current ads, targeting, tracking and billing in Google Ads. Enabling through campaign controls requires explicit authorization of the displayed budget.

Performance is the ad network’s reported attribution, not confirmed customer revenue. ProAssist, ProBookable and revenue-event integrations are planned.