| name | capi-config-setup |
| description | Use when the user provides a GitHub URL for the common_push_capi workflow and wants to set up CAPI configuration interactively. Triggers on phrases like "CAPIèšå®", "CAPI config", "CAPIã¯ãŒã¯ãããŒãèšå®", "ã³ã³ããŒãžã§ã³APIèšå®", "åºåã³ã³ããŒãžã§ã³éä¿¡èšå®", or when a GitHub URL containing "common_push_capi" is mentioned. Guides the user through an interactive Q&A to generate a complete params.yml for their brand(s). |
CAPI Config Setup
GitHubäžã® common_push_capi ã¯ãŒã¯ãããŒã«å¯Ÿãã察話çã«ãã©ã³ãããšã® config/params.yml ãçæããã
Workflow
Step 0: ãªããžããªååŸ
ãŠãŒã¶ãŒãGitHub URLãæç€ºããã:
- URLãããªããžããªãã¯ããŒã³ãŸãã¯ãã¡ã€ã«ãååŸãã
config/params.yml ãš README.md ãèªã¿èŸŒã
- çŸåšã®èšå®å
å®¹ãææ¡ãã
git clone <github_url> /tmp/common_push_capi
ããURLãåå¥ãã¡ã€ã«ããã£ã¬ã¯ããªã®å Žå㯠gh ã³ãã³ãã WebFetch ã§ååŸããã
Step 1: 察話çãã¢ãªã³ã°
以äžã®æ
å ±ã 1åãã€é çªã« ãŠãŒã¶ãŒã«è³ªåãããAskUserQuestion ããŒã«ã䜿ããéžæè¢ãæç€ºããã
1-1. ãã©ãããã©ãŒã éžæ
ã©ã®åºåãã©ãããã©ãŒã ã«éä¿¡ããŸããïŒ
â facebook / yahoo / line / tiktok / google_store_sales / google_enhanced_web / pinterest / snapchat
è€æ°éžæå¯ãè€æ°éžæãããå Žåã¯ãã©ã³ãããšã«1ãšã³ããªãã€äœæããã
1-2. ãã©ã³ãåºæ¬æ
å ±
ãã©ãããã©ãŒã ããšã«:
- brand_name: ãã©ã³ãèå¥åïŒããŒãã«åã«äœ¿ãããã®ã§è±æ°å_ã®ã¿ïŒ
- connector: TDã®Result Exportã³ãã¯ã¿å
1-3. ããŒã¿ãœãŒã¹èšå®
JS-SDK ã®ããŒã¿ã¯ãããŸããïŒ
â ã¯ã (hourly + daily) / ããã (dailyã®ã¿)
js_enabled: true ã®å Žå â log_db, log_tbl ã質å
- å
šãã©ã³ãå
±éã§
purchase_db, purchase_tbl ã質å
1-4. ããŒãã«ã¹ããŒã確èªãšã«ã©ã èªåææ¡
DBåã»ããŒãã«åã確å®ãããããŠãŒã¶ãŒã«èš±å¯ãåŸãäžã§ 以äžã®ã³ãã³ããå®è¡ãã:
tdx describe {db}.{table}
tdx query -e presto "SELECT * FROM {db}.{table} ORDER BY time DESC LIMIT 10" -f table
ååŸããçµæããã以äžã®ãããã³ã°å¯Ÿè±¡ã«ã©ã ã AI ãèªåæšå®ããŠææ¡ ãã:
æšå®ããžãã¯ïŒã«ã©ã åãšãµã³ãã«å€ã®äž¡æ¹ãã倿ïŒ:
| èšå®é
ç® | ã«ã©ã åã®ãã³ã | ãµã³ãã«å€ã®ãã³ã |
|---|
col_order_id / pcol_order_id | transaction, order, receipt, tran ãå«ã | è±æ°åã®äžæãªå€ |
col_email / pcol_email | email, mail, address ãå«ã | @ãå«ãæååããŸãã¯ããã·ã¥å€(64æåhex) |
col_amount / pcol_amount | amount, price, revenue, sales, value ãå«ã | æ°å€ |
col_member_id / pcol_member_id | user, member, customer, cid, uid ãå«ã | IDãããå€ |
col_phone | phone, tel ãå«ã | é»è©±çªå·åœ¢åŒãŸãã¯ããã·ã¥å€ |
col_country | country, region, geo ãå«ã | åœã³ãŒã (JP, USç) |
col_user_agent | ua, user_agent, td_user_agent ãå«ã | ãã©ãŠã¶UAæåå |
col_ip | ip, td_ip, remote_addr ãå«ã | IPã¢ãã¬ã¹åœ¢åŒ |
col_url | url, path, page, td_path, td_url ãå«ã | URLæåå |
col_fbc | fbc, click_id ãå«ã | fb.1.ã§å§ãŸãæåå |
col_fbp | fbp, pixel ãå«ã | fb.1.ã§å§ãŸãæåå |
pcol_time | time, timestamp, created, date ãå«ã | UNIXã¿ã€ã ã¹ã¿ã³ããŸãã¯æ¥ææåå |
ææ¡ãã©ãŒããã:
ããŒãã«: {db}.{table} ã®ã¹ããŒãã確èªããŸããã
ã«ã©ã äžèЧ:
- column_a (varchar)
- column_b (bigint)
- ...
ãµã³ãã«ããŒã¿ããã以äžã®ã«ã©ã ãããã³ã°ãææ¡ããŸã:
col_order_id â transactionid (çç±: "transaction"ãå«ã¿ãå€ãäžæãªID圢åŒ)
col_email â hashed_email (çç±: 64æåã®hexå€ã§ããã·ã¥æžã¿ã¡ã¢ããšæšå®)
col_amount â amount (çç±: æ°å€ã§å£²äžéé¡ãšæšå®)
...
col_phone â (該åœãªã) â "" ã«èšå®
ãã®ææ¡ã§ããããã§ããïŒä¿®æ£ãããã°æå®ããŠãã ããã
éèŠ:
- ææ¡ã¯ãããŸã§æšå®ã§ããããŠãŒã¶ãŒã®ä¿®æ£ã»äžæžããåžžã«åãä»ãã
- æšå®ã«èªä¿¡ããªãå Žåã¯è€æ°ã®åè£ãæç€ºãããŠãŒã¶ãŒã«éžæããŠããã
- 該åœã«ã©ã ãèŠã€ãããªãå Žåã¯
"" (NULLåºå) ãææ¡ãã
- 賌買ããŒãã«ãJS-SDKããŒãã«ãäŒå¡ãã¹ã¿ããŒãã«ããããã«å¯ŸããŠå®è¡ãã
1-5. ã¡ã¢ãèšå®
ã¹ããŒã確èªçµæãããšã«:
- ã¡ã¢ãã«ã©ã ãèŠã€ãã£ãå Žå â
has_email: true ãææ¡
- èŠã€ãããªãå Žå â
has_email: false ãææ¡ããäŒå¡ãã¹ã¿ã®æ
å ±ã質å
- äŒå¡ãã¹ã¿ã
tdx describe ã§ã¹ããŒã確èªããmember_id_col, member_email_col ãææ¡
1-6. ãã£ã«ã¿æ¡ä»¶
ãµã³ãã«ããŒã¿ãåèã«ããã£ã«ã¿æ¡ä»¶ãææ¡ãã:
cnv_conditions: ãªãŒããŒIDã« undefined ã空æåãæ··åšããŠããå Žå â "transactionid != '' AND transactionid NOT IN ('undefined')" ãææ¡
purchase_conditions: é垞㯠"1=1"ãç¹æ®ãªæ¡ä»¶ãããã°ãµã³ãã«ããŒã¿ããæšå®
1-7. ãã©ãããã©ãŒã åºæèšå®
- Yahoo â
yahoo_ydn_conv_io, yahoo_ydn_conv_label
- Google (Store Sales / Enhanced Web) â
google_conversion_action_id
- ãã®ä» â 該åœãã©ã¡ãŒã¿ã¯
"" ãèªåèšå®
1-8. å
±éèšå®
äžéããŒãã«ã»ãã°ã®åºåå
DBã¯ïŒ
â ããã©ã«ã: capi_database
é貚ã³ãŒãã¯ïŒ
â ããã©ã«ã: JPY
Step 2: params.yml çæ
åéããæ
å ±ãã config/params.yml ãçæããã
ã«ãŒã«:
- ååšããªãã«ã©ã ã¯å¿
ã
"" (空æå) ã«ãã
- ãã©ãããã©ãŒã ã«é¢ä¿ãªããã©ã¡ãŒã¿ã
"" ã§å¿
ãå«ããïŒå
šãã©ã³ããåãããŒæ§é ãæã€ããšïŒ
- ã³ã¡ã³ãã§åã»ã¯ã·ã§ã³ã説æãã
- èšå®äŸã®ã³ã¡ã³ãã¢ãŠãããããã©ã³ãã¯åé€ããå®éã®ãã©ã³ãèšå®ã®ã¿åºåãã
Step 3: 確èªã»ä¿®æ£
çæãã params.yml ããŠãŒã¶ãŒã«æç€ºããä¿®æ£ç¹ããªãã確èªããã
ä¿®æ£ãããã°å¯Ÿå¿ããæçµç¢ºèªåŸã«ãã¡ã€ã«ãæžãåºãã
Step 4: ãããã€ã¬ã€ã
cd common_push_capi
tdx wf push
tdx wf run daily_push_capi
ãã¢ãªã³ã°ã®ã³ã
- ã¹ããŒã確èªãç©æ¥µçã«è¡ã: DBã»ããŒãã«åã確å®ãããå¿
ã
tdx describe ãš ãµã³ãã«ã¯ãšãªãå®è¡ããŠææ¡ã®ç²ŸåºŠãäžãã
- ææ¡ã¯ä¿®æ£åæã§æç€ºãã: ããã®ææ¡ã§ããããã§ããïŒä¿®æ£ãããã°æå®ããŠãã ããããšå¿
ã確èªãã
- 1åã®è³ªåã§å€ããèããããªã: 3ã4é
ç®ãã€ã°ã«ãŒãã³ã°ããŠè³ªåãã
- ããã©ã«ãå€ãæç€ºãã: ãŠãŒã¶ãŒãè¿·ããªãããã«å
žåçãªå€ã瀺ã
- éžæè¢ã§çµã蟌ã: èªç±å
¥åããéžæè¢ãåªå
ãã
- è€æ°ãã©ã³ãã®å Žå: 1ãã©ã³ãç®ã詳现ã«èšå®ãã2ãã©ã³ãç®ä»¥éã¯å·®åã®ã¿è³ªåãã
Edge Cases
- ãŠãŒã¶ãŒã GitHub URL ã§ã¯ãªãããŒã«ã«ãã¹ãæå®ããå Žå â ãã®ãã¹ã®
config/params.yml ãçŽæ¥ç·šéãã
- æ¢åã® params.yml ã«è¿œèšãããå Žå â æ¢åã®ãã©ã³ãèšå®ãä¿æãã€ã€æ°èŠãã©ã³ãã远å
tdx describe ãæš©éãšã©ãŒã§å€±æããå Žå â ãŠãŒã¶ãŒã«ã«ã©ã åãæåã§å
¥åããŠããã
- åããã©ã³ããè€æ°ãã©ãããã©ãŒã ã«éä¿¡ãããå Žå â brand_name ã
{brand}_{platform} ã®åœ¢åŒã§åºå¥ãã