@koda-sl/baker-cli 0.386.0-dev.8b1f99042 → 0.387.0-dev.907d5a285
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 +41 -1
- package/dist/{chunk-CHJOTJTZ.js → chunk-JHKW6IDX.js} +4 -4
- package/dist/{chunk-CHJOTJTZ.js.map → chunk-JHKW6IDX.js.map} +1 -1
- package/dist/{chunk-VLUGGVJL.js → chunk-JTZXQRXI.js} +10 -2
- package/dist/chunk-JTZXQRXI.js.map +1 -0
- package/dist/{chunk-XHC4LMK4.js → chunk-WWCLT3RG.js} +5 -5
- package/dist/cli.js +7715 -5763
- package/dist/cli.js.map +1 -1
- package/dist/engine/index.js +1 -1
- package/dist/{output-NMQXZF3Z.js → output-VQSTVRH7.js} +2 -2
- package/dist/{shared-J7DQZ2ED.js → shared-AVM74EX7.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-VLUGGVJL.js.map +0 -1
- /package/dist/{chunk-XHC4LMK4.js.map → chunk-WWCLT3RG.js.map} +0 -0
- /package/dist/{output-NMQXZF3Z.js.map → output-VQSTVRH7.js.map} +0 -0
- /package/dist/{shared-J7DQZ2ED.js.map → shared-AVM74EX7.js.map} +0 -0
package/README.md
CHANGED
|
@@ -157,7 +157,7 @@ Use `--output` to change format:
|
|
|
157
157
|
|
|
158
158
|
### Ad Platforms (`baker ads`)
|
|
159
159
|
|
|
160
|
-
Multi-platform ad commands. Google, Meta, and LinkedIn support both reads and **staged writes** (create/update campaigns, ad sets/ad groups, ads, creatives, audiences — applied on chat publish); X (Twitter) is read + analytics. TikTok is coming.
|
|
160
|
+
Multi-platform ad commands. Google, Meta, and LinkedIn support both reads and **staged writes** (create/update campaigns, ad sets/ad groups, ads, creatives, audiences — applied on chat publish); X (Twitter) is read + analytics; ChatGPT Ads is read + analytics + staged writes. TikTok is coming.
|
|
161
161
|
|
|
162
162
|
---
|
|
163
163
|
|
|
@@ -863,6 +863,41 @@ baker ads x targeting-constants --constant tv_shows --locale en-US
|
|
|
863
863
|
|
|
864
864
|
---
|
|
865
865
|
|
|
866
|
+
### ChatGPT Ads (`baker ads chatgpt`)
|
|
867
|
+
|
|
868
|
+
Read the company's ChatGPT Ads account (OpenAI's ads inside ChatGPT conversations) and how it performs, and stage changes to it that apply when the chat is published. The company connects one account in the dashboard (Brain → Integrations → ChatGPT Ads) with an API key from its Ads Manager; the key stays in Baker and never reaches the CLI, so there is no account id to pass.
|
|
869
|
+
|
|
870
|
+
| Subcommand | What it returns |
|
|
871
|
+
|---|---|
|
|
872
|
+
| `account` | Name, currency, timezone, status, and the brand and account reviews that decide whether anything serves |
|
|
873
|
+
| `campaigns` | Campaigns: objective, daily or lifetime budget (currency units), schedule, locations, platforms, serving issues |
|
|
874
|
+
| `ad-groups` | Ad groups (`--campaign-id`): bid strategy, max bid, context hints, serving issues |
|
|
875
|
+
| `ads` | Ads (`--ad-group-id`): the card's copy, image, destination, review outcome, serving issues |
|
|
876
|
+
| `conversions` | Pixels (with the pixel id a landing page installs) and conversions, with the campaigns using each |
|
|
877
|
+
| `insights` | Impressions, clicks, spend, CTR, CPC, CPM, conversions, CPA, ROAS — per `--level account\|campaign\|ad_group\|ad`, over `--days N` or `--since/--until`, `--granularity`, `--segment country\|device\|platform\|product` |
|
|
878
|
+
| `campaigns create\|update\|pause\|resume` | Stage a campaign change: objective, daily or lifetime budget (currency units), schedule, countries, platforms, status, the conversions it measures (`--conversion-event-ids`) |
|
|
879
|
+
| `ad-groups create\|update\|pause\|resume` | Stage an ad group change: context hints, bid strategy, max bid, status |
|
|
880
|
+
| `ads create\|update\|pause\|resume` | Stage a chat card: title, body, landing page, image, status |
|
|
881
|
+
| `account update` | Stage the advertiser's brand name or icon (`--favicon-url`) |
|
|
882
|
+
| `conversions create` | Stage a conversion — a standard event (`lead_created`, `order_created`, …) or a custom one by name — counted from the account's pixel |
|
|
883
|
+
| `conversions events` | What the pixel delivered in the last ~15 minutes — proof a site sends the event |
|
|
884
|
+
| `draft` | Review the staged changes as a tree; `show`, `amend`, `remove`, `clear`. After a publish, what applied and what failed |
|
|
885
|
+
|
|
886
|
+
`--full` on the list commands returns ChatGPT Ads' own objects. ChatGPT Ads refuses some metric and breakdown combinations (CPA, conversion rate and sales cannot be broken down; conversions come daily or as one total); `insights` refuses them first and says why.
|
|
887
|
+
|
|
888
|
+
Writes need `BAKER_CHAT_ID`: they stage on the chat and reach ChatGPT Ads only when it is published. New entities are created paused unless `--status active`.
|
|
889
|
+
|
|
890
|
+
```bash
|
|
891
|
+
baker ads chatgpt account
|
|
892
|
+
baker ads chatgpt insights --days 30 --granularity daily --level account
|
|
893
|
+
baker ads chatgpt insights --campaign-id cmpn_123 --level ad --sort spend
|
|
894
|
+
baker ads chatgpt campaigns create --name "Spring push" --objective clicks --daily-budget 20 --countries ES
|
|
895
|
+
baker ads chatgpt ad-groups create --campaign-id chatgpt_temp_ab12 --name "Rooftop owners" --context-hints "solar panels for my house" --max-bid 2.50
|
|
896
|
+
baker ads chatgpt draft
|
|
897
|
+
```
|
|
898
|
+
|
|
899
|
+
---
|
|
900
|
+
|
|
866
901
|
### Meta Ads (`baker ads meta`)
|
|
867
902
|
|
|
868
903
|
Meta Marketing API (Facebook + Instagram). Connect via OAuth in the dashboard, pick which ad accounts to scope to, then call from the CLI. Account ID via `--account-id act_123` or `BAKER_META_AD_ACCOUNT_ID` env var.
|
|
@@ -954,6 +989,11 @@ Chain a full ad from scratch with `meta_temp_*` refs (each create returns one):
|
|
|
954
989
|
# 1. (optional) upload creative media from the Baker library → publishes an image hash
|
|
955
990
|
baker ads meta media upload --account-id act_123 --kind image --image-id <bakerImageId> # → meta_temp_img
|
|
956
991
|
|
|
992
|
+
# For on-ad leads, choose a Page with this account in promotingAccountIds and hasPageAccessToken: true
|
|
993
|
+
baker ads meta lead-forms create --account-id act_123 --page-id 555 --name "Free audit" \
|
|
994
|
+
--questions FULL_NAME,EMAIL,PHONE --privacy-policy-url https://example.com/privacy \
|
|
995
|
+
--follow-up-url https://example.com # → meta_temp_form
|
|
996
|
+
|
|
957
997
|
# 2. campaign → ad set → creative → ad
|
|
958
998
|
baker ads meta campaigns create --account-id act_123 --name "Q3 Prospecting" --objective OUTCOME_LEADS --daily-budget 50 # → meta_temp_camp
|
|
959
999
|
baker ads meta adsets create --account-id act_123 --campaign meta_temp_camp --name "US 25-54" \
|
|
@@ -20,9 +20,9 @@ import {
|
|
|
20
20
|
shouldEscalate
|
|
21
21
|
} from "./chunk-HJEMOSPH.js";
|
|
22
22
|
|
|
23
|
-
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/
|
|
23
|
+
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/509a695c9237c6e3727f1f1f99169917f329e3ff3f7877be290b684e24bf153d/node_modules/safe-stable-stringify/index.js
|
|
24
24
|
var require_safe_stable_stringify = __commonJS({
|
|
25
|
-
"../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/
|
|
25
|
+
"../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/509a695c9237c6e3727f1f1f99169917f329e3ff3f7877be290b684e24bf153d/node_modules/safe-stable-stringify/index.js"(exports, module) {
|
|
26
26
|
"use strict";
|
|
27
27
|
var { hasOwnProperty } = Object.prototype;
|
|
28
28
|
var stringify = configure2();
|
|
@@ -1123,7 +1123,7 @@ function resolveAdaptFormats(params) {
|
|
|
1123
1123
|
return params.formats ?? [];
|
|
1124
1124
|
}
|
|
1125
1125
|
|
|
1126
|
-
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/
|
|
1126
|
+
// ../../.pnpm-store/v10/links/@/safe-stable-stringify/2.5.0/509a695c9237c6e3727f1f1f99169917f329e3ff3f7877be290b684e24bf153d/node_modules/safe-stable-stringify/esm/wrapper.js
|
|
1127
1127
|
var import__ = __toESM(require_safe_stable_stringify(), 1);
|
|
1128
1128
|
var configure = import__.default.configure;
|
|
1129
1129
|
var wrapper_default = import__.default;
|
|
@@ -9986,4 +9986,4 @@ export {
|
|
|
9986
9986
|
defaultRegistry,
|
|
9987
9987
|
createEngineFromEnv
|
|
9988
9988
|
};
|
|
9989
|
-
//# sourceMappingURL=chunk-
|
|
9989
|
+
//# sourceMappingURL=chunk-JHKW6IDX.js.map
|