addashboard-cli 0.19.0 → 0.20.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/dist/commands/report.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.REPORT_PLATFORMS = exports.REPORT_FORMATS = exports.REPORT_LEVELS = void 0;
|
|
3
|
+
exports.REPORT_PLATFORMS = exports.REPORT_FORMATS = exports.GOOGLE_REPORT_LEVELS = exports.REPORT_LEVELS = void 0;
|
|
4
4
|
exports.runReport = runReport;
|
|
5
5
|
exports.toCsv = toCsv;
|
|
6
6
|
exports.registerReportCommand = registerReportCommand;
|
|
@@ -15,6 +15,8 @@ const apiError_1 = require("../lib/apiError");
|
|
|
15
15
|
* help に1か所だけ書く(スキルや README には書き写さない)。
|
|
16
16
|
*/
|
|
17
17
|
exports.REPORT_LEVELS = ['account', 'campaign', 'adgroup', 'ad'];
|
|
18
|
+
/** Google だけ asset(RSA の見出し・説明文ごと)を選べる */
|
|
19
|
+
exports.GOOGLE_REPORT_LEVELS = [...exports.REPORT_LEVELS, 'asset'];
|
|
18
20
|
exports.REPORT_FORMATS = ['json', 'csv'];
|
|
19
21
|
exports.REPORT_PLATFORMS = ['yda', 'smartnews', 'google', 'bytedance'];
|
|
20
22
|
/** 長い期間はサーバーの集計に時間がかかるので、既定の 15 秒より長く待つ */
|
|
@@ -176,6 +178,7 @@ const GOOGLE_HELP = `
|
|
|
176
178
|
1行=1日×--level の単位。実績のない日・単位の行は出ない(0 の行で埋めない)
|
|
177
179
|
account・campaign・adgroup Campaign テーブルの行(広告グループ×日)を合計した値
|
|
178
180
|
ad Creative テーブルの行(広告×日)
|
|
181
|
+
asset RsaAssetSnapshot の行(広告×見出し・説明文×日)。レスポンシブ検索広告(RSA)だけ
|
|
179
182
|
名前の列は、その日の行に入っている値。期間でまとめるときは ID(campaignId・adGroupId・adId)で束ねる
|
|
180
183
|
|
|
181
184
|
出力の列:
|
|
@@ -192,21 +195,33 @@ const GOOGLE_HELP = `
|
|
|
192
195
|
headlines / descriptions すべての見出し・説明文(CSV では改行でつないで1セルに入れる)
|
|
193
196
|
imageUrl / videoUrl / linkUrl
|
|
194
197
|
画像・動画・リンク先。日別の値ではなく、広告ごとに今わかっている直近の値
|
|
198
|
+
--level asset のときだけ:
|
|
199
|
+
assetId アセット ID。同じ文言は同じ ID になり、別の広告でも使われる
|
|
200
|
+
fieldType HEADLINE(見出し)/ DESCRIPTION(説明文)。見出しだけ見るときはこの列で絞る
|
|
201
|
+
assetText 見出し・説明文の文言
|
|
202
|
+
accountName は null、adName は出さない
|
|
195
203
|
|
|
196
204
|
既知の制約:
|
|
197
205
|
Google の CV は小数になることがあるが、DB には整数に丸めて保存している。そのため管理画面の値とずれることがある
|
|
198
206
|
P-MAX キャンペーンは入らない
|
|
207
|
+
--level asset の数値は「そのアセットが表示された配信の数値」。1回の表示に複数の見出しが出るので、見出しどうしを
|
|
208
|
+
足すと広告の数値より大きくなる。広告やキャンペーンの実績の代わりにしない(広告の実績は --level ad)
|
|
209
|
+
同じ見出しを広告グループごとに見るときは、adGroupId と assetId で期間をまとめる
|
|
210
|
+
--level asset の CV は、1日×広告×アセットごとに整数に丸めた値。期間で足すと丸めの差がたまり、管理画面より多くも少なくもなる
|
|
211
|
+
--level asset は RSA が配信された日だけ行が返る(RSA を配信していないアカウント・期間は 0 行)
|
|
212
|
+
過去分を取り直したアカウントは 2026-08-04 以降。他のアカウントは毎朝の同期で入った分だけで、それより前に配信があっても 0 行になる
|
|
199
213
|
--level ad の合計は、上の階層の合計と少しずれることがある。Creative は1日1回の更新で、削除した広告の分も含まない
|
|
200
214
|
配信ステータスは返さない。webgram list --platform google --resource campaigns で確認する
|
|
201
215
|
管理画面の値と明らかに違うときや、値に違和感があるときは、ユーザーに開発者への報告を勧める
|
|
202
216
|
|
|
203
217
|
値の鮮度:
|
|
204
|
-
|
|
218
|
+
account〜ad は同期のたびに直近8日分を取り直すので、直近8日の値は後から変わることがある
|
|
205
219
|
更新の頻度:account〜adgroup(Campaign テーブル)は30分ごと、ad(Creative テーブル)は1日1回
|
|
220
|
+
asset(RsaAssetSnapshot)は毎朝5時ごろに直近7日分を取り直す
|
|
206
221
|
|
|
207
222
|
比率の出し方:
|
|
208
223
|
期間の比率は合計どうしで割る(日ごとの比率を平均しない)。分母が 0 のときは計算しない
|
|
209
|
-
CTR=clicks/impressions CPC=cost/clicks CPA=cost/conversions
|
|
224
|
+
CTR=clicks/impressions CPC=cost/clicks CPA=cost/conversions CVR=conversions/clicks
|
|
210
225
|
|
|
211
226
|
上限と長い期間:
|
|
212
227
|
10万行を超えるとエラー(途中までの行は返さない)。期間を短くするか、--campaign-id か上の --level で絞る
|
|
@@ -225,6 +240,8 @@ const GOOGLE_HELP = `
|
|
|
225
240
|
webgram report google --account-id 8265446505 --format csv > ads.csv
|
|
226
241
|
# 今月のキャンペーン別(日別)
|
|
227
242
|
webgram report google --level campaign --account-id 8265446505 --from 2026-10-01 --to 2026-10-16
|
|
243
|
+
# 期間を決めたアセット別(CSV に保存して集計する)
|
|
244
|
+
webgram report google --level asset --account-id 8265446505 --from 2026-09-01 --to 2026-10-25 --format csv > assets.csv
|
|
228
245
|
`;
|
|
229
246
|
const BYTEDANCE_HELP = `
|
|
230
247
|
行の単位:
|
|
@@ -294,10 +311,10 @@ const FEEDBACK_HELP = `
|
|
|
294
311
|
`;
|
|
295
312
|
/** 媒体ごとの違い(表示名・help)。オプションと実行は共通 */
|
|
296
313
|
const PLATFORM_COMMANDS = {
|
|
297
|
-
yda: { label: 'YDA', help: YDA_HELP },
|
|
298
|
-
smartnews: { label: 'SmartNews', help: SMARTNEWS_HELP },
|
|
299
|
-
google: { label: 'Google', help: GOOGLE_HELP, accountIdHint: '(ハイフンなし。例 8265446505)' },
|
|
300
|
-
bytedance: { label: 'TikTok', help: BYTEDANCE_HELP },
|
|
314
|
+
yda: { label: 'YDA', help: YDA_HELP, levels: exports.REPORT_LEVELS },
|
|
315
|
+
smartnews: { label: 'SmartNews', help: SMARTNEWS_HELP, levels: exports.REPORT_LEVELS },
|
|
316
|
+
google: { label: 'Google', help: GOOGLE_HELP, levels: exports.GOOGLE_REPORT_LEVELS, accountIdHint: '(ハイフンなし。例 8265446505)' },
|
|
317
|
+
bytedance: { label: 'TikTok', help: BYTEDANCE_HELP, levels: exports.REPORT_LEVELS },
|
|
301
318
|
};
|
|
302
319
|
/** report コマンドを program に登録する。help の文面をテストで確かめられるよう index.ts から分けている */
|
|
303
320
|
function registerReportCommand(program) {
|
|
@@ -309,7 +326,7 @@ function registerReportCommand(program) {
|
|
|
309
326
|
}
|
|
310
327
|
return report;
|
|
311
328
|
}
|
|
312
|
-
function addPlatformCommand(report, platform, { label, help, accountIdHint = '' }) {
|
|
329
|
+
function addPlatformCommand(report, platform, { label, help, levels, accountIdHint = '' }) {
|
|
313
330
|
report
|
|
314
331
|
.command(platform)
|
|
315
332
|
.description(`${label} の日別実績を DB から返す(1行=1日×--level の単位。期間の合計や比率は返さない)`)
|
|
@@ -317,7 +334,7 @@ function addPlatformCommand(report, platform, { label, help, accountIdHint = ''
|
|
|
317
334
|
.option('--campaign-id <id>', 'キャンペーン ID で絞る')
|
|
318
335
|
.option('--from <YYYY-MM-DD>', '開始日(JST、この日を含む。既定:--to の6日前。--to も省くと昨日までの7日間)', parseYmd)
|
|
319
336
|
.option('--to <YYYY-MM-DD>', '終了日(JST、この日を含む。既定:昨日)', parseYmd)
|
|
320
|
-
.addOption(new commander_1.Option('--level <level>', '行の単位').choices(
|
|
337
|
+
.addOption(new commander_1.Option('--level <level>', '行の単位').choices(levels).default('ad'))
|
|
321
338
|
.addOption(new commander_1.Option('--format <format>', '出力形式').choices(exports.REPORT_FORMATS).default('json'))
|
|
322
339
|
.addHelpText('after', help + FEEDBACK_HELP)
|
|
323
340
|
.showHelpAfterError(`(webgram report ${platform} --help で使い方を表示)`)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -918,7 +918,7 @@ finalUrl = baseURL + paramCode + "?ad=" + paramCode + "&creative=" + …
|
|
|
918
918
|
(cli/test/unit/plannerVersion.test.ts が package.json との一致を検証するので、
|
|
919
919
|
手で書き換えて放置するとテストが落ちる)。
|
|
920
920
|
利用者が「どの版のプランナーを開いているか」を言えないと、不具合報告が噛み合わない。 */
|
|
921
|
-
const APP_VERSION = '0.
|
|
921
|
+
const APP_VERSION = '0.20.0'; /* version:sync */
|
|
922
922
|
/* 案A: embed廃止。参照データ(refs)・初期プラン・共通設定は外部JSONから起動時に読み込む。
|
|
923
923
|
同梱デフォルト: アカウント/<媒体>/index.json の先頭アカウント (refs+principal+projectName+baseArticleUrl) と サンプルプラン.json (project+campaigns)。
|
|
924
924
|
固有名詞はハードコードせず、すべて外部JSON由来にする。 */
|