ops-marketing
Centralizes marketing efforts by integrating email, ads, analytics, SEO, and social media metrics into one dashboard.
Install this skill
Security score
The ops-marketing skill was audited on May 29, 2026 and we found 220 security issues across 5 threat categories, including 18 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 27 | 1. **Preferences**: Read `${CLAUDE_PLUGIN_DATA_DIR:-$HOME/.claude/plugins/data/ops-ops-marketplace}/preferences.json` |
Template literal with variable interpolation in command context
| 32 | 2. **Daemon health**: Read `${CLAUDE_PLUGIN_DATA_DIR}/daemon-health.json` |
Template literal with variable interpolation in command context
| 48 | **Auth header**: `Authorization: Klaviyo-API-Key ${KLAVIYO_KEY}` | **Revision header**: `revision: 2024-10-15` |
Template literal with variable interpolation in command context
| 54 | | `https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,...&date_preset=last_7d` | GET | Account-level ad spend | |
Template literal with variable interpolation in command context
| 55 | | `https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,insights{...}` | GET | Campaign breakdown | |
Template literal with variable interpolation in command context
| 58 | **Auth header**: `Authorization: Bearer ${META_TOKEN}` |
Template literal with variable interpolation in command context
| 64 | | `https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport` | POST | Run custom report | |
Template literal with variable interpolation in command context
| 72 | | `https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query` | POST | Search performance data | |
Template literal with variable interpolation in command context
| 99 | ```bash |
Template literal with variable interpolation in command context
| 107 | ```bash |
Template literal with variable interpolation in command context
| 116 | ```bash |
Template literal with variable interpolation in command context
| 123 | ```bash |
Template literal with variable interpolation in command context
| 130 | ```bash |
Template literal with variable interpolation in command context
| 194 | ```bash |
Template literal with variable interpolation in command context
| 201 | ```bash |
Template literal with variable interpolation in command context
| 208 | ```bash |
Template literal with variable interpolation in command context
| 215 | ```bash |
Template literal with variable interpolation in command context
| 243 | ```bash |
Template literal with variable interpolation in command context
| 249 | ```bash |
Template literal with variable interpolation in command context
| 258 | ```bash |
Template literal with variable interpolation in command context
| 311 | ```bash |
Template literal with variable interpolation in command context
| 322 | Print: `Campaign "${CAMPAIGN_NAME}" created (ID: <ID>, status: PAUSED, budget: $<BUDGET>/day). Enable via Meta Ads Manager or add ad sets first.` |
Template literal with variable interpolation in command context
| 334 | ```bash |
Template literal with variable interpolation in command context
| 361 | Print: `Ad set ${ADSET_ID} targeting updated: ${COUNTRIES}, ages ${AGE_MIN}-${AGE_MAX}${GENDER_LABEL}.` |
Template literal with variable interpolation in command context
| 373 | ```bash |
Template literal with variable interpolation in command context
| 394 | # real Page ID — the ad account ID (with `act_` stripped) is NOT a Page ID and |
Template literal with variable interpolation in command context
| 432 | ```bash |
Template literal with variable interpolation in command context
| 442 | ```bash |
Template literal with variable interpolation in command context
| 467 | ```bash |
Template literal with variable interpolation in command context
| 501 | ```bash |
Template literal with variable interpolation in command context
| 516 | ```bash |
Template literal with variable interpolation in command context
| 545 | ```bash |
Template literal with variable interpolation in command context
| 560 | Print: `Advantage+ campaign "${CAMPAIGN_NAME}" created (ID: <ID>, status: PAUSED). Meta AI will optimize targeting and creative delivery once enabled.` |
Template literal with variable interpolation in command context
| 574 | ```bash |
Template literal with variable interpolation in command context
| 592 | ```bash |
Template literal with variable interpolation in command context
| 606 | ```bash |
Template literal with variable interpolation in command context
| 659 | ```bash |
Template literal with variable interpolation in command context
| 696 | ```bash |
Template literal with variable interpolation in command context
| 747 | ```bash |
Template literal with variable interpolation in command context
| 800 | ```bash |
Template literal with variable interpolation in command context
| 872 | ```bash |
Template literal with variable interpolation in command context
| 926 | ```bash |
Template literal with variable interpolation in command context
| 932 | ```bash |
Template literal with variable interpolation in command context
| 945 | ```bash |
Template literal with variable interpolation in command context
| 959 | ```bash |
Template literal with variable interpolation in command context
| 998 | ```bash |
Template literal with variable interpolation in command context
| 1009 | ```bash |
Template literal with variable interpolation in command context
| 1036 | - `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i |
Template literal with variable interpolation in command context
| 1041 | ```bash |
Template literal with variable interpolation in command context
| 1074 | ```bash |
Template literal with variable interpolation in command context
| 1109 | ```bash |
Template literal with variable interpolation in command context
| 1158 | ```bash |
Template literal with variable interpolation in command context
| 1194 | ```bash |
Template literal with variable interpolation in command context
| 1216 | ```bash |
Template literal with variable interpolation in command context
| 1243 | ```bash |
Template literal with variable interpolation in command context
| 1290 | ```bash |
Template literal with variable interpolation in command context
| 1359 | ```bash |
Template literal with variable interpolation in command context
| 1423 | ```bash |
Template literal with variable interpolation in command context
| 1486 | ```bash |
Template literal with variable interpolation in command context
| 1511 | ```bash |
Template literal with variable interpolation in command context
| 1528 | ```bash |
Template literal with variable interpolation in command context
| 1550 | Print: `✓ Campaign "${CAMPAIGN_NAME}" created (status: PAUSED, budget: $XX.XX/day). Enable it with: /ops:marketing google-ads campaigns enable <ID>` |
Template literal with variable interpolation in command context
| 1558 | ```bash |
Template literal with variable interpolation in command context
| 1579 | ```bash |
Template literal with variable interpolation in command context
| 1599 | ```bash |
Template literal with variable interpolation in command context
| 1612 | ```bash |
Template literal with variable interpolation in command context
| 1632 | ```bash |
Template literal with variable interpolation in command context
| 1676 | ```bash |
Template literal with variable interpolation in command context
| 1694 | ```bash |
Template literal with variable interpolation in command context
| 1712 | Print: `✓ Ad group "${AD_GROUP_NAME}" created in campaign ${CAMPAIGN_ID} (CPC bid: $X.XX)` |
Template literal with variable interpolation in command context
| 1716 | ```bash |
Template literal with variable interpolation in command context
| 1736 | ```bash |
Template literal with variable interpolation in command context
| 1755 | Print: `✓ Keyword "${KEYWORD_TEXT}" (${MATCH_TYPE}) added to ad group ${AD_GROUP_ID}` |
Template literal with variable interpolation in command context
| 1763 | ```bash |
Template literal with variable interpolation in command context
| 1778 | ```bash |
Template literal with variable interpolation in command context
| 1808 | ```bash |
Template literal with variable interpolation in command context
| 1889 | ```bash |
Template literal with variable interpolation in command context
| 1948 | ```bash |
Curl to non-GitHub URL
| 151 | GADS_ACCESS_TOKEN=$(curl -s -X POST https://oauth2.googleapis.com/token \ |
Curl to non-GitHub URL
| 195 | curl -s "https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count" \ |
Curl to non-GitHub URL
| 202 | curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10&fields[campaign]=name,status,created_at,send_time" \ |
Curl to non-GitHub URL
| 209 | curl -s "https://a.klaviyo.com/api/flows/?filter=equals(status,'live')&fields[flow]=name,status,created,trigger_type" \ |
Curl to non-GitHub URL
| 217 | curl -s "https://a.klaviyo.com/api/metrics/" \ |
Curl to non-GitHub URL
| 244 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,impressions,clicks,ctr,cpc,actions,action_values&date_preset=last_7d&level=account" \ |
Curl to non-GitHub URL
| 250 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,insights{spend,impressions,clicks,actions,action_values}&date_preset=last_7d" \ |
Curl to non-GitHub URL
| 259 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/ads?fields=name,adset_id,insights{spend,impressions,clicks,actions,action_values,ctr,cpc}&date_preset=last_7d&limit=10" \ |
Curl to non-GitHub URL
| 313 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \ |
Curl to non-GitHub URL
| 356 | curl -s -X POST "https://graph.facebook.com/v20.0/${ADSET_ID}" \ |
Curl to non-GitHub URL
| 377 | UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \ |
Curl to non-GitHub URL
| 382 | UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \ |
Curl to non-GitHub URL
| 405 | CREATIVE_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adcreatives" \ |
Curl to non-GitHub URL
| 417 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/ads" \ |
Curl to non-GitHub URL
| 433 | curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library?fields=name,status,evaluation_spec,execution_spec" \ |
Curl to non-GitHub URL
| 444 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \ |
Curl to non-GitHub URL
| 469 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \ |
Curl to non-GitHub URL
| 502 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \ |
Curl to non-GitHub URL
| 518 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \ |
Curl to non-GitHub URL
| 547 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \ |
Curl to non-GitHub URL
| 575 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
Curl to non-GitHub URL
| 593 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
Curl to non-GitHub URL
| 607 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
Curl to non-GitHub URL
| 661 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runRealtimeReport" \ |
Curl to non-GitHub URL
| 705 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1alpha/properties/${GA4_PROPERTY}:runFunnelReport" \ |
Curl to non-GitHub URL
| 752 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
Curl to non-GitHub URL
| 804 | AUDIENCES=$(curl -s "https://analyticsadmin.googleapis.com/v1alpha/properties/${GA4_PROPERTY}/audiences" \ |
Curl to non-GitHub URL
| 836 | STATUS_RESP=$(curl -s "https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}" \ |
Curl to non-GitHub URL
| 875 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runPivotReport" \ |
Curl to non-GitHub URL
| 933 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
Curl to non-GitHub URL
| 946 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
Curl to non-GitHub URL
| 960 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
Curl to non-GitHub URL
| 1000 | curl -s "https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account" \ |
Curl to non-GitHub URL
| 1004 | curl -s "https://graph.facebook.com/v18.0/${IG_ACCOUNT_ID}?fields=followers_count,media_count,profile_views" \ |
Curl to non-GitHub URL
| 1011 | curl -s "https://www.googleapis.com/youtube/v3/channels?part=statistics&mine=true" \ |
Curl to non-GitHub URL
| 1036 | - `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i |
Curl to non-GitHub URL
| 1044 | IG_ACCOUNT_ID=$(curl -s "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" \ |
Curl to non-GitHub URL
| 1076 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
Curl to non-GitHub URL
| 1089 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
Curl to non-GitHub URL
| 1111 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
Curl to non-GitHub URL
| 1129 | STATUS=$(curl -s "https://graph.facebook.com/v21.0/${CONTAINER_ID}?fields=status_code" \ |
Curl to non-GitHub URL
| 1138 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
Curl to non-GitHub URL
| 1167 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
Curl to non-GitHub URL
| 1178 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
Curl to non-GitHub URL
| 1197 | MEDIA_TYPE=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}?fields=media_type" \ |
Curl to non-GitHub URL
| 1201 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}/insights?metric=${METRICS}&period=lifetime" \ |
Curl to non-GitHub URL
| 1221 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=reach,impressions,profile_views&period=day&since=${START_DATE}&until=${END_DATE}" \ |
Curl to non-GitHub URL
| 1244 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=audience_gender_age,audience_city,audience_country&period=lifetime" \ |
Curl to non-GitHub URL
| 1810 | META_CAMPAIGNS=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,objective&filtering=[{\"field\":\"effective_status\",\"operator\":\ |
Curl to non-GitHub URL
| 1814 | KLAVIYO_CAMPAIGNS=$(curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10" \ |
Curl to non-GitHub URL
| 1892 | META_DATA=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/insights?fields=spend,actions,action_values&date_preset=last_7d&level=account" \ |
Curl to non-GitHub URL
| 1918 | GA4_DATA=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
Curl to non-GitHub URL
| 2028 | **Klaviyo:** If `KLAVIYO_PRIVATE_KEY` or Dashlane entry with `ck_*` key found, use it directly. Note: Klaviyo private keys start with `ck_` (older) or `pk_` (newer). Smoke test: `curl -s -H "Authoriza |
Curl to non-GitHub URL
| 2036 | **Google Ads:** More complex than other marketing credentials — requires 3 pieces: (1) developer token from Google Ads MCC → Tools & Settings → API Center, (2) OAuth2 client ID + secret from Google Cl |
Access to hidden dotfiles in home directory
| 1994 | grep -h 'KLAVIYO\|META_\|FACEBOOK\|GA4\|GA_MEASUREMENT\|GOOGLE_ADS' ~/.zshrc ~/.bashrc ~/.zprofile ~/.envrc 2>/dev/null | grep -v '^#' |
Access to system keychain/keyring
| 2010 | # Keychain |
External URL reference
| 43 | | `https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count` | GET | All lists + subscriber counts | |
External URL reference
| 44 | | `https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at` | GET | Recent campaigns | |
External URL reference
| 45 | | `https://a.klaviyo.com/api/flows/?filter=equals(status,'live')` | GET | Active flows | |
External URL reference
| 46 | | `https://a.klaviyo.com/api/metrics/` | GET | Available metrics | |
External URL reference
| 54 | | `https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,...&date_preset=last_7d` | GET | Account-level ad spend | |
External URL reference
| 55 | | `https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,insights{...}` | GET | Campaign breakdown | |
External URL reference
| 56 | | `https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account` | GET | Linked Instagram account | |
External URL reference
| 64 | | `https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport` | POST | Run custom report | |
External URL reference
| 72 | | `https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query` | POST | Search performance data | |
External URL reference
| 151 | GADS_ACCESS_TOKEN=$(curl -s -X POST https://oauth2.googleapis.com/token \ |
External URL reference
| 195 | curl -s "https://a.klaviyo.com/api/lists/?fields[list]=name,id,profile_count" \ |
External URL reference
| 202 | curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10&fields[campaign]=name,status,created_at,send_time" \ |
External URL reference
| 209 | curl -s "https://a.klaviyo.com/api/flows/?filter=equals(status,'live')&fields[flow]=name,status,created,trigger_type" \ |
External URL reference
| 217 | curl -s "https://a.klaviyo.com/api/metrics/" \ |
External URL reference
| 244 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/insights?fields=spend,impressions,clicks,ctr,cpc,actions,action_values&date_preset=last_7d&level=account" \ |
External URL reference
| 250 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,insights{spend,impressions,clicks,actions,action_values}&date_preset=last_7d" \ |
External URL reference
| 259 | curl -s "https://graph.facebook.com/v18.0/${META_ACCOUNT}/ads?fields=name,adset_id,insights{spend,impressions,clicks,actions,action_values,ctr,cpc}&date_preset=last_7d&limit=10" \ |
External URL reference
| 313 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \ |
External URL reference
| 356 | curl -s -X POST "https://graph.facebook.com/v20.0/${ADSET_ID}" \ |
External URL reference
| 377 | UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \ |
External URL reference
| 382 | UPLOAD_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adimages" \ |
External URL reference
| 400 | echo "Find your Page ID at https://www.facebook.com/<your-page>/about_profile_transparency" |
External URL reference
| 405 | CREATIVE_RESP=$(curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adcreatives" \ |
External URL reference
| 417 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/ads" \ |
External URL reference
| 433 | curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library?fields=name,status,evaluation_spec,execution_spec" \ |
External URL reference
| 444 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \ |
External URL reference
| 469 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/adrules_library" \ |
External URL reference
| 502 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \ |
External URL reference
| 518 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/customaudiences" \ |
External URL reference
| 547 | curl -s -X POST "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns" \ |
External URL reference
| 575 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
External URL reference
| 593 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
External URL reference
| 607 | curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
External URL reference
| 661 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runRealtimeReport" \ |
External URL reference
| 705 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1alpha/properties/${GA4_PROPERTY}:runFunnelReport" \ |
External URL reference
| 752 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
External URL reference
| 804 | AUDIENCES=$(curl -s "https://analyticsadmin.googleapis.com/v1alpha/properties/${GA4_PROPERTY}/audiences" \ |
External URL reference
| 813 | "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}/audienceExports" \ |
External URL reference
| 836 | STATUS_RESP=$(curl -s "https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}" \ |
External URL reference
| 853 | "https://analyticsdata.googleapis.com/v1beta/${EXPORT_NAME}:query" \ |
External URL reference
| 875 | RESULT=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runPivotReport" \ |
External URL reference
| 933 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
External URL reference
| 946 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
External URL reference
| 960 | curl -s -X POST "https://searchconsole.googleapis.com/webmasters/v3/sites/${GSC_SITE_ENCODED}/searchAnalytics/query" \ |
External URL reference
| 1000 | curl -s "https://graph.facebook.com/v18.0/me/accounts?fields=instagram_business_account" \ |
External URL reference
| 1004 | curl -s "https://graph.facebook.com/v18.0/${IG_ACCOUNT_ID}?fields=followers_count,media_count,profile_views" \ |
External URL reference
| 1011 | curl -s "https://www.googleapis.com/youtube/v3/channels?part=statistics&mine=true" \ |
External URL reference
| 1036 | - `IG_ACCOUNT_ID` resolved via: `curl "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" -H "Authorization: Bearer ${META_TOKEN}"` → `data[0].instagram_business_account.i |
External URL reference
| 1044 | IG_ACCOUNT_ID=$(curl -s "https://graph.facebook.com/v21.0/me/accounts?fields=instagram_business_account" \ |
External URL reference
| 1076 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
External URL reference
| 1089 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
External URL reference
| 1095 | echo "Post published (Media ID: ${MEDIA_ID}). View at https://www.instagram.com/ — may take 1-2 min to appear." |
External URL reference
| 1111 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
External URL reference
| 1129 | STATUS=$(curl -s "https://graph.facebook.com/v21.0/${CONTAINER_ID}?fields=status_code" \ |
External URL reference
| 1138 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
External URL reference
| 1167 | CONTAINER=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media" \ |
External URL reference
| 1178 | PUBLISH=$(curl -s -X POST "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/media_publish" \ |
External URL reference
| 1197 | MEDIA_TYPE=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}?fields=media_type" \ |
External URL reference
| 1201 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${MEDIA_ID}/insights?metric=${METRICS}&period=lifetime" \ |
External URL reference
| 1221 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=reach,impressions,profile_views&period=day&since=${START_DATE}&until=${END_DATE}" \ |
External URL reference
| 1244 | RESULT=$(curl -s "https://graph.facebook.com/v21.0/${IG_ACCOUNT_ID}/insights?metric=audience_gender_age,audience_city,audience_country&period=lifetime" \ |
External URL reference
| 1293 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1361 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1425 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1488 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1513 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaignBudgets:mutate" \ |
External URL reference
| 1530 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \ |
External URL reference
| 1560 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \ |
External URL reference
| 1581 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaigns:mutate" \ |
External URL reference
| 1601 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1615 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/campaignBudgets:mutate" \ |
External URL reference
| 1638 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}:generateKeywordIdeas" \ |
External URL reference
| 1678 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1697 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroups:mutate" \ |
External URL reference
| 1718 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1738 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \ |
External URL reference
| 1765 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \ |
External URL reference
| 1781 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/adGroupCriteria:mutate" \ |
External URL reference
| 1810 | META_CAMPAIGNS=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/campaigns?fields=name,status,daily_budget,lifetime_budget,objective&filtering=[{\"field\":\"effective_status\",\"operator\":\ |
External URL reference
| 1814 | KLAVIYO_CAMPAIGNS=$(curl -s "https://a.klaviyo.com/api/campaigns/?filter=equals(messages.channel,'email')&sort=-created_at&page[size]=10" \ |
External URL reference
| 1822 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1892 | META_DATA=$(curl -s "https://graph.facebook.com/v20.0/${META_ACCOUNT}/insights?fields=spend,actions,action_values&date_preset=last_7d&level=account" \ |
External URL reference
| 1904 | "https://googleads.googleapis.com/${GADS_API_VERSION}/customers/${GADS_CUSTOMER_ID}/googleAds:searchStream" \ |
External URL reference
| 1918 | GA4_DATA=$(curl -s -X POST "https://analyticsdata.googleapis.com/v1beta/properties/${GA4_PROPERTY}:runReport" \ |
External URL reference
| 2028 | **Klaviyo:** If `KLAVIYO_PRIVATE_KEY` or Dashlane entry with `ck_*` key found, use it directly. Note: Klaviyo private keys start with `ck_` (older) or `pk_` (newer). Smoke test: `curl -s -H "Authoriza |
External URL reference
| 2036 | **Google Ads:** More complex than other marketing credentials — requires 3 pieces: (1) developer token from Google Ads MCC → Tools & Settings → API Center, (2) OAuth2 client ID + secret from Google Cl |