All skills
wix avatar

/wix-manage

@4895cc9 official
by Wix.comwix/skills33 stars
33

REST recipes to configure and manage a Wix site's business solutions — stores, bookings, payments, CMS, and more. Open the matching recipe for the exact endpoint, method, and payload before calling — never guess a Wix API, never write Wix dashboard URL from memory. Routes to: stores, bookings, get-paid, CMS, contacts, forms, media, app-installation, pricing-plans, restaurants, ricos rich-content, sites, blog, calendar, domains, events, site-properties, ecommerce, marketing, google-ads, google-business-profile, analytics, accessibility, seo, dashboard-navigation.

Use this Skill: https://skilld.dev/gh/wix/skills/wix-manage

This session only. Nothing lands on disk.

referencesgoogle-adsinstall-and-create-account.md

≈2.2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

RECIPE: Install Google Ads and Create an Account

Setting up Google Ads on a Wix site is a strict two-step prerequisite for everything else in this area: (1) install the Wix Google Ads app, then (2) create the Google Ads account. Campaigns, suggestions, analytics, and billing all fail with ACCOUNT_NOT_FOUND (or an app-not-installed error) until both are done. This is a one-time setup per site.

Base URL for all endpoints: https://www.wixapis.com/_serverless/pa-google/v1. The <AUTH> placeholder is shorthand for the Authorization header; body-bearing calls also need Content-Type: application/json.

This flow creates a billable advertising account. Creating the account and launching campaigns spends the site owner's real money. Confirm intent with the user before calling Create Account, and surface the chosen currency.


STEP 0: Check whether an account already exists (do this first)

Before installing or creating anything, check for an existing account. Get Account For Current Site returns an empty response (not an error) when none exists, so it's the safe probe.

curl -X GET 'https://www.wixapis.com/_serverless/pa-google/v1/accounts/current-site' -H 'Authorization: <AUTH>'
  • account present → setup is already done. Skip to whatever the user actually wants (create a campaign, view analytics, etc.). Do not create a second account — Create Account returns ACCOUNT_ALREADY_EXISTS.
  • Empty response {} → no account yet. Continue to STEP 1.

Example response for an existing account:

{
  "account": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "googleAccountId": "123-456-7890",
    "currency": "USD",
    "accountStatus": "ACTIVE",
    "currentBudget": { "value": "50.00", "currency": "USD" },
    "spentBudget": { "value": "12.50", "currency": "USD" },
    "paymentStatus": { "status": "PAID" }
  }
}

account.id is the Wix-internal GUID used as campaign.accountId when creating campaigns. googleAccountId is the underlying Google Ads customer ID (display only). currentBudget is remaining ad credit — a negative value means outstanding debt not yet charged.


STEP 1: Install the Wix Google Ads app

Idempotent — safe to call even if already installed (no effect). Required before Create Account.

curl -X POST 'https://www.wixapis.com/_serverless/pa-google/v1/install-if-not-installed' \
  -H 'Authorization: <AUTH>' -H 'Content-Type: application/json' -d '{}'

Returns {}. Always run this before the first Create Account on a site.


STEP 2 (optional): Offer a promotional incentive

New accounts in supported currencies can attach an incentive — a promotional credit granted after the account spends a threshold. Skip this step for unsupported currencies (the call returns no offers).

curl -X GET 'https://www.wixapis.com/_serverless/pa-google/v1/incentives?currency=USD' -H 'Authorization: <AUTH>'

Returns up to three tiers (lowOffer, mediumOffer, highOffer), each with an incentiveId, an awardAmount (credit granted), and a requiredAmount (spend needed to unlock it), plus a consolidatedTermsAndConditionsUrl. Present the tiers to the user and let them pick; carry the chosen incentiveId into STEP 3 as selectedIncentiveId. The incentive is recorded now and applied automatically once the account's budget is assigned — there is no separate apply call in this flow.


STEP 3: Create the Google Ads account

Requires currency (ISO-4217, e.g. USD). Pass selectedIncentiveId if the user picked one in STEP 2. Confirm with the user before this call — it provisions a billable account.

curl -X POST 'https://www.wixapis.com/_serverless/pa-google/v1/accounts' \
  -H 'Authorization: <AUTH>' -H 'Content-Type: application/json' \
  -d '{
    "currency": "USD",
    "selectedIncentiveId": "incentive-promo-2024-usd-500"
  }'

Response — save account.id for campaign creation:

{
  "account": {
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "googleAccountId": "123-456-7890",
    "currency": "USD",
    "accountStatus": "ACTIVE",
    "paymentStatus": { "status": "PENDING_SUBSCRIPTION" },
    "selectedIncentiveId": "incentive-promo-2024-usd-500"
  }
}

The currency choice is durable and drives budget minimums/maximums and manager-account selection — settle it with the user before creating. A currency Google doesn't natively support (only USD, EUR, GBP, JPY are native) still works; the account reports budgetInSupportedCurrency as the converted amount.


Managing an existing account

Link a Google Merchant Center account (for Shopping / retail PMAX)

UpdateAccount is a partial update — send only the fields you're changing. Merchant Center linking is needed before a retail Performance Max campaign can serve product ads.

curl -X PATCH 'https://www.wixapis.com/_serverless/pa-google/v1/accounts/a1b2c3d4-e5f6-7890-abcd-ef1234567890' \
  -H 'Authorization: <AUTH>' -H 'Content-Type: application/json' \
  -d '{ "account": { "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "merchantCenterAccountId": "9876543210" } }'

The response's merchantCenterAccountLinkStatus.status starts at PENDING — the Merchant Center account owner must approve the link before it becomes ENABLED.

View conversion actions

Conversion actions (Purchase, Page View, etc.) are what campaigns optimize toward. To inspect them:

curl -X GET 'https://www.wixapis.com/_serverless/pa-google/v1/accounts/current-site/conversion-actions' -H 'Authorization: <AUTH>'

Delete the account

DeleteAccount unlinks and removes the account. This is destructive and cannot be undone — always confirm with the user first, and prefer pausing campaigns over deleting the whole account when the user just wants to stop spending.

curl -X DELETE 'https://www.wixapis.com/_serverless/pa-google/v1/accounts/a1b2c3d4-e5f6-7890-abcd-ef1234567890' -H 'Authorization: <AUTH>'

Returns {}. Errors with ACCOUNT_NOT_FOUND if no account exists.


Error handling

Symptom Cause Fix
ALREADY_EXISTS / ACCOUNT_ALREADY_EXISTS on Create Account An account is already linked to this site Don't create another — use Get Account For Current Site and continue with the existing account.id
INTERNAL / CREATION_BLOCKED on Create Account Account creation is temporarily disabled platform-wide Not a caller error; surface it and retry later
ACCOUNT_NOT_FOUND on any campaign/analytics/billing call Setup wasn't completed (no account) Run this recipe: install the app, then Create Account
App-not-installed error before Create Account STEP 1 was skipped Call Install (STEP 1); it's idempotent
Get Incentives returns no offers Currency not supported for incentives Proceed to Create Account without selectedIncentiveId
NOT_FOUND / ACCOUNT_NOT_FOUND on Delete Account No account exists for the site Nothing to delete; confirm with Get Account For Current Site

References

Source: SKILL.md on GitHub

1 warning1d4 checks · Risk SAFE
  • Gen Agent Trust Hub1d

    The wix-manage skill is an extensive collection of management recipes for Wix sites, covering business solutions such as eCommerce, Bookings, SEO, and site provisioning. It utilizes official Wix REST endpoints and incorporates robust safety patterns, including mandatory user confirmation for sensitive operations and careful validation of site data before mutation.

  • Socket1d

    No alerts

  • Snyk1d

    Risk: MEDIUM · 1 issue

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 4895cc9. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated yesterday
compatibility
Requires Wix REST API access (API key or OAuth).
  • wix
  • rest-api
  • ecommerce
  • bookings
  • cms
  • contacts
  • blog
  • domains
  • restaurants
  • site-configuration
  • api-integration

README badge

README badge for wix/skills/wix-manage

REST API operations for configuring Wix business solutions including stores, bookings, CMS, contacts, domains, and ecommerce. Routes to site setup, entity management (products, services, staff), bulk administrative operations, and server-to-server integrations across Wix's business app ecosystem.

Generated from the current SKILL.md.

Do I need API credentials to use these recipes?
Yes. The skill requires Wix REST API access via either an API key or OAuth token to execute any management operations.
Can I use these recipes to display data on my site frontend?
No. These recipes are for backend REST API operations only — site configuration, entity management, and administrative tasks. They do not cover frontend development or displaying data to users.
What business domains do these recipes cover?
The skill covers stores, bookings, payments, CMS, contacts, forms, media, apps, pricing plans, restaurants, rich content, sites, blogs, calendars, domains, and site properties.
Do these recipes handle OAuth authentication with external services like Google Calendar?
Yes. The external calendar integration recipe covers OAuth-based setup with Google Calendar, Microsoft Outlook, and Apple Calendar for bidirectional event sync.

Generated from the current SKILL.md. These answers refresh after source changes.