> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

# GetSocialMarketingPlan

# Package: marketingPlan

# Namespace: AiPlanGeneratorService

# Method link: https://dev.wix.com/docs/api-reference/business-management/marketing/marketing-plan/marketing-plan-v1/get-social-marketing-plan.md

## Permission Scopes:
Manage Marketing Plans: SCOPE.PROMOTE.MANAGE-MARKETING-PLAN

## Introduction

Retrieves the marketing plan's current status and its activities for the requested timeframe.

Use this method to poll for completion after calling any of the generate or regenerate methods.
When no `timeframe` is provided, the default start is today and there is no upper bound:
all of the plan's activities from today onward are returned.

---

## REST API

### Schema

```
 Method: getSocialMarketingPlan
 Description: Retrieves the marketing plan's current status and its activities for the requested timeframe.  Use this method to poll for completion after calling any of the generate or regenerate methods. When no `timeframe` is provided, the default start is today and there is no upper bound: all of the plan's activities from today onward are returned.
 URL: https://www.wixapis.com/promote/marketing-plan-service/v1/marketing-plan
 Method: GET
 Method parameters:
   param name: timeframe | type: Timeframe    
        - name: startDate | type: string | description: Start of the date range (inclusive).  | validation: format date-time
        - name: endDate | type: string | description: End of the date range (inclusive).  | validation: format date-time
 Return type: GetSocialMarketingPlanResponse
  - name: status | type: PlanStatus | description: Current status of the marketing plan.  
     - enum:
     -     NEVER_CREATED: No plan has been generated for this site yet.
     -     GENERATING: The plan is currently being generated. Poll `GetSocialMarketingPlan` until status changes.
     -     ACTIVE: The plan is ready to use and activities are available.
     -     INACTIVE: The plan was automatically deactivated after a long period without engagement. An `INACTIVE` plan returns no activities. Calling `GetSocialMarketingPlan` after a long idle period can itself trigger this transition. Generating or regenerating reactivates the plan.
     -     FAILED: Generation failed. Call a generate or regenerate method to try again.
  - name: marketingActivities | type: array<SocialPlanMarketingActivity> | description: Marketing activities within the requested timeframe.  | validation: minItems 0, maxItems 100
     - name: marketingActivityId | type: string | description: Marketing activity GUID.  | read-only: true | validation: format GUID
     - name: date | type: string | description: Scheduled date of the marketing activity.  | validation: format date-time
     - name: items | type: array<Item> | description: Posts associated with this activity. Items can be of any status (`DRAFT`, `SCHEDULED`, or published). Only items whose `status` is `DRAFT` can be scheduled with `ScheduleDrafts`.  | validation: minItems 0, maxItems 10
        - ONE-OF: 
           - name: instagramPost | type: InstagramPost | description: Instagram post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
                    - name: media | type: array<Media> | description: List of media items.  
                       - name: type | type: MediaType | description: Media type.  
                                 - enum: IMAGE, VIDEO
                       - name: url | type: string | description: Media URL.  | validation: format WEB_URL
                       - name: fileId | type: string | description: Media Manager file GUID backing the media. Available only when the media is stored in the Media Manager.  | validation: maxLength 1000
              - name: caption | type: string | description: Caption for the post. Can include hashtags (for example, `#crazywildebeest`) and mentions of Instagram users (for example, `@natgeo`). Mentioned users are notified when the post is published. Supports up to 30 hashtags and 20 mentions.  | validation: maxLength 2200
              - name: postUrl | type: string | description: The post URL on Instagram.  | read-only: true 
              - name: insights | type: InstagramInsights | description: Insights from Instagram.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: engagement | type: integer | description: Number of engagements.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: plays | type: integer | description: Number of plays.  
                 - name: reach | type: integer | description: Number of accounts reached.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: saved | type: integer | description: Number of saves.  
                 - name: totalInteractions | type: integer | description: Total number of interactions.  
           - name: instagramStory | type: InstagramStory | description: Instagram story content.  
              - name: storyUrl | type: string | description: The story URL on Instagram.  | read-only: true | validation: format WEB_URL
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: InstagramStoryInsights | description: insights data from Instagram.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: reach | type: integer | description: Number of accounts reached.  
                 - name: replies | type: integer | description: Number of replies.  
           - name: facebookPost | type: FacebookPost | description: Facebook post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: link | type: string | description: The link URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: pageId | type: string | description: The page GUID to publish the post to.  
              - name: caption | type: string | description: Caption for the post.  
              - name: postUrl | type: string | description: The post URL on Facebook.  | read-only: true 
              - name: linkMetadata | type: LinkMetadata | description: Link preview metadata. Available only when the post contains a link.  
                 - name: thumbnailUrl | type: string | description: Thumbnail URL for the link preview.  
                 - name: title | type: string | description: Title for the link preview.  
                 - name: description | type: string | description: Description for the link preview.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
                 - name: impressions | type: FacebookImpressions | description: Impression counts.  
                    - name: unique | type: integer | description: Number of unique impressions.  
                    - name: total | type: integer | description: Total number of impressions.  
                 - name: interactions | type: FacebookInteractions | description: Interaction counts.  
                    - name: unique | type: integer | description: Number of unique interactions.  
                    - name: total | type: integer | description: Total number of interactions.  
                 - name: reactions | type: FacebookReactions | description: Reaction counts.  
                    - name: like | type: integer | description: Number of "like" reactions.  
                    - name: love | type: integer | description: Number of "love" reactions.  
                    - name: wow | type: integer | description: Number of "wow" reactions.  
                    - name: haha | type: integer | description: Number of "haha" reactions.  
                    - name: sad | type: integer | description: Number of "sad" reactions.  
                    - name: anger | type: integer | description: Number of "angry" reactions.  
                 - name: activity | type: FacebokActivity | description: Activity counts.  
                    - name: share | type: integer | description: Number of shares.  
                    - name: like | type: integer | description: Number of likes.  
                    - name: comment | type: integer | description: Number of comments.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: facebookReel | type: FacebookReel | description: Facebook reel content.  
              - name: pageId | type: string | description: The page GUID to publish the reel to.  
              - name: videoUrl | type: string | description: The video URL.  
              - name: description | type: string | description: A description for the reel.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: facebookStory | type: FacebookStory | description: Facebook story content.  
              - name: pageId | type: string | description: The page GUID to publish the story to.  | validation: maxLength 1024
              - name: storyUrl | type: string | description: The story URL on Facebook.  | read-only: true | validation: format WEB_URL
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
           - name: youtubeVideo | type: YouTubeVideo | description: YouTube video content.  
              - name: channelId | type: string | description: The channel GUID to publish the video to.  
              - name: videoUrl | type: string | description: The video URL.  
              - name: title | type: string | description: A title for the video.  
              - name: description | type: string | description: A description for the video.  
              - name: categoryId | type: string | description: A category for the video.  
              - name: notifySubscribers | type: boolean | description: Whether to notify channel subscribers when the video is published.  
              - name: insights | type: YoutubeInsights | description: Insights data from YouTube.  
                 - name: views | type: integer | description: Number of views.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: dislikes | type: integer | description: Number of dislikes.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: youtubeShort | type: YouTubeShort | description: YouTube short content.  
              - name: channelId | type: string | description: The channel GUID to publish the short to.  
              - name: videoUrl | type: string | description: The short URL.  
              - name: title | type: string | description: A title for the short.  
              - name: description | type: string | description: A description for the short.  
              - name: categoryId | type: string | description: A category for the short.  
              - name: notifySubscribers | type: boolean | description: Whether to notify channel subscribers when the short is published.  
              - name: insights | type: YoutubeInsights | description: Insights data from YouTube.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: linkedinPost | type: LinkedinPost | description: LinkedIn post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: link | type: string | description: The link URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: authorId | type: string | description: Author GUID of the post. Can be an organization page or a personal feed.  
              - name: caption | type: string | description: Caption for the post.  
              - name: linkMetadata | type: LinkMetadata | description: Link preview metadata. Available only when the post contains a link.  
              - name: insights | type: LinkedinPostInsights | description: Insights from LinkedIn.  
                 - name: uniqueImpressions | type: integer | description: Number of unique impressions.  
                 - name: impression | type: integer | description: Total number of impressions.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: engagement | type: float | description: Engagement rate.  
                 - name: clicks | type: integer | description: Number of clicks.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: pinterestPost | type: PinterestPost | description: Pinterest post content.  
              - name: boardId | type: string | description: The board GUID to publish the post to.  | validation: maxLength 128
              - name: title | type: string | description: The title of the post.  | validation: maxLength 100
              - name: description | type: string | description: The description of the post.  | validation: maxLength 800
              - name: link | type: string | description: The link to include in the post.  | validation: maxLength 2048
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: PinterestInsights | description: Insights from Pinterest.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: clicks | type: integer | description: Number of clicks.  
                 - name: saves | type: integer | description: Number of saves.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: reactions | type: integer | description: Number of reactions.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: gbpPost | type: GbpPost | description: Google Business Profile post content.  
              - name: locationId | type: string | description: The location GUID to publish the post to.  | validation: maxLength 128
              - name: locationAccountId | type: string | description: Account (group) GUID of the location.  | validation: maxLength 128
              - name: description | type: string | description: The description of the post.  | validation: maxLength 1500
              - name: callToAction | type: GbpPostCallToAction | description: Call to action type and URL to include in the post.  
                 - name: actionType | type: GbpPostCallToActionType | description: Type of the call to action.  
                         - enum: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP
                 - name: url | type: string | description: URL of the call to action.  | validation: maxLength 2048
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: GbpInsights | description: Insights from Google Business Profile.  
                 - name: shares | type: integer | description: Number of shares. Google Business Profile post insights aren't currently available, so this returns `-1`.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: tiktokVideo | type: TikTokVideo | description: TikTok video content.  
              - name: accountId | type: string | description: The account GUID to publish the video to.  | validation: maxLength 128
              - name: privacyLevel | type: TikTokPrivacyLevel | description: Privacy level for the video.  
                     - enum: PUBLIC_TO_EVERYONE, FOLLOWER_OF_CREATOR, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY
              - name: description | type: string | description: A description for the video.  | validation: maxLength 2200
              - name: disableComment | type: boolean | description: Whether comments are disabled for the video.  
              - name: disableDuet | type: boolean | description: Whether duets are disabled for the video.  
              - name: disableStitch | type: boolean | description: Whether stitches are disabled for the video.  
              - name: brandContentToggle | type: boolean | description: Whether the content is a paid partnership promoting a third-party business.  
              - name: brandOrganicToggle | type: boolean | description: Whether the content promotes the creator's own business.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: TikTokInsights | description: Insights from TikTok.  
                 - name: views | type: integer | description: Number of views.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: tiktokPhoto | type: TikTokPhoto | description: TikTok photo content.  
              - name: accountId | type: string | description: The account GUID to publish the photo to.  | validation: maxLength 128
              - name: privacyLevel | type: TikTokPrivacyLevel | description: Privacy level for the photo.  
              - name: title | type: string | description: A title for the photo.  | validation: maxLength 90
              - name: description | type: string | description: A description for the photo.  | validation: maxLength 4000
              - name: disableComment | type: boolean | description: Whether comments are disabled for the photo.  
              - name: autoAddMusic | type: boolean | description: Whether to automatically add music to the photo.  
              - name: brandContentToggle | type: boolean | description: Whether the content is a paid partnership promoting a third-party business.  
              - name: brandOrganicToggle | type: boolean | description: Whether the content promotes the creator's own business.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: TikTokInsights | description: Insights from TikTok.  
        - name: id | type: string | description: Item GUID.  | read-only: true | validation: format GUID
        - name: channel | type: Channel | description: Social channel the item is published to, and the account within that channel.  
           - name: name | type: ChannelName | description: Social channel the item is published to.  
                 - enum: INSTAGRAM, FACEBOOK, YOUTUBE, LINKEDIN, TWITTER, PINTEREST, GBP, TIKTOK
           - name: accountId | type: string | description: GUID of the connected account the item is published to.  
           - name: accountName | type: string | description: Display name of the connected account the item is published to.  | read-only: true 
           - name: externalItemId | type: string | description: GUID of the post on the social channel. Returned after the item is published.  | read-only: true 
           - name: externalItemUrl | type: string | description: URL of the post on the social channel. Returned after the item is published.  | read-only: true | validation: format WEB_URL
           - name: publishingTarget | type: PublishingTarget | description: Specific destination within the account, such as a Facebook page or a Pinterest board.  
              - name: id | type: string | description: GUID of the publishing target.  | validation: maxLength 128
              - name: displayName | type: string | description: Display name of the publishing target.  | validation: maxLength 2000
              - name: pictureUrl | type: string | description: URL of the publishing target's picture.  | validation: format WEB_URL
        - name: type | type: ItemType | description: Item format. The `type` and the content set in `data` must match a combination supported by the item's `channel.name`:  - Instagram: `POST` with `instagramPost`, or `STORY` with `instagramStory`. - Facebook: `POST` with `facebookPost`, `REEL` with `facebookReel`, or `STORY` with `facebookStory`. - YouTube: `VIDEO` with `youtubeVideo`, or `SHORT` with `youtubeShort`. - LinkedIn: `POST` with `linkedinPost`. - X (Twitter): `POST` with `twitterPost`. Deprecated: No longer functional as of July 31, 2026. - Pinterest: `POST` with `pinterestPost`. - Google Business Profile: `POST` with `gbpPost`. - TikTok: `POST` with `tiktokPhoto`, or `VIDEO` with `tiktokVideo`.  
             - enum:
             -     POST: A standard post.
             -     REEL: A short-form vertical video reel.
             -     VIDEO: A video.
             -     SHORT: A short-form vertical video.
             -     STORY: A story that's available for a limited time.
        - name: status | type: Status | description: Current status of the item in its lifecycle.  | read-only: true 
             - enum:
             -     PUBLISHED: Published to the social channel.
             -     SCHEDULED: Scheduled to be published at a future date.
             -     CANCELED: Scheduling was canceled before the item was published.
             -     FAILED: Publishing failed.
             -     DELETED: Deleted.
             -     PROCESSING: Publishing is in progress.
             -     DRAFT: Saved as a draft, not yet published.
             -     IN_QUEUE: Queued for publishing as part of a bulk operation.
        - name: publishedDate | type: string | description: Date and time the item was published. Returned only after the item is published.  | read-only: true | validation: format date-time
        - name: schedulingInfo | type: SchedulingInfo | description: Scheduling info. Set to schedule the item for a future date instead of publishing it immediately.  
           - name: scheduledDate | type: string | description: Date and time the item is scheduled to be published.  | validation: format date-time
           - name: schedulingTimestamp | type: string | description: Date and time the item was scheduled.  | read-only: true | validation: format date-time
        - name: referenceId | type: string | description: Caller-defined reference that uniquely identifies the item. Can be used to prevent duplicate publishing: an attempt to publish a second item with the same `referenceId` fails. Can also be used as a UTM campaign GUID.  
        - name: siteAnalytics | type: SiteAnalytics | description: Aggregated analytics for the site, attributed to traffic from this post.  
           - name: traffic | type: integer | description: Number of site sessions attributed to this post.  
           - name: pageView | type: integer | description: Number of page views attributed to this post.  
           - name: siteBounceRate | type: float | description: Site bounce rate attributed to this post.  
           - name: revenue | type: float | description: Revenue attributed to this post.  
           - name: conversionFunnel | type: ConversionFunnel | description: Conversion funnel data attributed to this post.  
              - name: cartViewsSessions | type: integer | description: Number of sessions that viewed the cart.  
              - name: checkOutSessions | type: integer | description: Number of sessions that reached checkout.  
              - name: storeOrdersSessions | type: integer | description: Number of sessions that placed a store order.  
              - name: bookingsConfirmed | type: integer | description: Number of confirmed bookings.  
           - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
        - name: insightsSummary | type: InsightsSummary | description: Summary of the post's performance on the social channel, such as impressions and interactions.  
           - name: impressions | type: integer | description: Number of unique impressions (reach).  
           - name: interactions | type: integer | description: Number of interactions, such as likes and comments.  
           - name: updatedDate | type: string | description: Date and time the insights were last updated.  | validation: format date-time
           - name: impressionsTotal | type: integer | description: Total number of impressions.  
        - name: draftInfo | type: DraftInfo | description: Creation and update dates, returned for draft items.  
           - name: createdDate | type: string | description: Date and time the draft was created.  | read-only: true | validation: format date-time
           - name: updatedDate | type: string | description: Date and time the draft was updated.  | read-only: true | validation: format date-time
        - name: suggested | type: boolean | description: Whether the item was generated as an AI suggestion.  
        - name: external | type: boolean | description: Whether the item is a post created natively on the social channel rather than published through Wix.  
        - name: publicationError | type: PublicationErrorDetails | description: Details of why the item failed to publish. Returned only when `status` is `FAILED`.  | read-only: true 
           - name: message | type: string | description: Error message shown when publishing fails.  | read-only: true | validation: maxLength 500
        - name: siteAssetRef | type: AssetReference | description: Reference to the site content asset this post promotes (product, blog post, etc.). Mirrors marketing-plan-service's MarketingActivity.asset (named `asset` there; `site_asset_ref` here for clarity next to consumer_info). Written per-channel.  
           - name: siteAssetRefType | type: Type | description: Type of the site asset (for example, product or blog post). See `SiteAsset.Type` for the closed set of values.  
                 - enum:
                 -     BLOG_POST: A Wix Blog post.
                 -     EVENT: A Wix Events event.
                 -     STORES_PRODUCT: A Wix Stores product.
                 -     BOOKINGS_SERVICE: A Wix Bookings service.
                 -     STORES_COUPON: A Wix Stores coupon.
                 -     STORES_CATEGORY: A Wix Stores category.
           - name: id | type: string | description: GUID of the asset within its provider's data store.  | validation: maxLength 256
           - name: name | type: string | description: Display name of the asset (for example, the product title or blog post title), cached at post-creation time.  | validation: maxLength 3000
     - name: title | type: string | description: Title of the marketing activity.  | validation: maxLength 3000
     - name: description | type: string | description: Description of the marketing activity.  | validation: maxLength 3000
     - name: videoCandidates | type: array<VideoCandidate> | description: Asynchronously generated video options for this activity. Poll `GetMarketingActivityPosts` to check their status.  | validation: minItems 0, maxItems 10
        - name: executionId | type: string | description: Unique identifier of the video generation process.  | read-only: true | validation: format GUID
        - name: status | type: VideoCandidateStatus | description: Current generation status of the video candidate.  
             - enum:
             -     IN_PROGRESS: Video is currently being generated.
             -     FAILED: Generation failed. Add a new candidate to retry.
             -     READY: Video is ready. `video_url` is populated.
        - name: videoUrl | type: string | description: URL of the generated video. Returned only when `status` is `READY`.  | validation: format WEB_URL
        - name: prompt | type: string | description: Prompt used to generate the video.  | validation: maxLength 5000
        - name: sourceMediaUrl | type: string | description: URL of the source media used as input for video generation.  | validation: format WEB_URL
     - name: asset | type: AssetReference | description: Site asset this activity is grounded in.  
        - name: type | type: Type | description: Type of the site asset (for example, product or blog post). See `SiteAsset.Type` for the closed set of values.  
        - name: id | type: string | description: GUID of the asset within its provider's data store.  | validation: maxLength 256
        - name: name | type: string | description: Display name of the asset (for example, the product title or blog post title), cached at activity-generation time.  | validation: maxLength 3000
  - name: creationDate | type: string | description: Date and time the plan was first created.  | validation: format date-time
  - name: updatedDate | type: string | description: Date and time the plan was last updated.  | validation: format date-time
  - name: firstPlanGenerationDate | type: string | description:   | validation: format date-time


```

### Examples

### Get the social marketing plan
Retrieve the site's marketing plan, including its status and the list of marketing activities with their publisher items. Use the optional `timeframe` query parameter to filter activities.

```curl
curl -X GET \
'https://www.wixapis.com/promote/marketing-plan-service/v1/marketing-plan?timeframe.startDate=2026-07-01T00:00:00.000Z&timeframe.endDate=2026-07-31T23:59:59.999Z' \
-H 'Authorization: <AUTH>'
```

---

## JavaScript SDK

### Schema

```
 Method: wixClientAdmin.promoteGrowthToolsMarketingPlan.marketingPlan.getSocialMarketingPlan(options)
 Description: Retrieves the marketing plan's current status and its activities for the requested timeframe.  Use this method to poll for completion after calling any of the generate or regenerate methods. When no `timeframe` is provided, the default start is today and there is no upper bound: all of the plan's activities from today onward are returned.
 Method parameters:
   param name: options | type: GetSocialMarketingPlanOptions  none  
        - name: timeframe | type: Timeframe | description: Date range that filters which activities are returned.  
           - name: startDate | type: Date | description: Start of the date range (inclusive).  
           - name: endDate | type: Date | description: End of the date range (inclusive).  
 Return type: PROMISE<GetSocialMarketingPlanResponse>
  - name: status | type: PlanStatus | description: Current status of the marketing plan.  
     - enum:
     -     NEVER_CREATED: No plan has been generated for this site yet.
     -     GENERATING: The plan is currently being generated. Poll `GetSocialMarketingPlan` until status changes.
     -     ACTIVE: The plan is ready to use and activities are available.
     -     INACTIVE: The plan was automatically deactivated after a long period without engagement. An `INACTIVE` plan returns no activities. Calling `GetSocialMarketingPlan` after a long idle period can itself trigger this transition. Generating or regenerating reactivates the plan.
     -     FAILED: Generation failed. Call a generate or regenerate method to try again.
  - name: marketingActivities | type: array<SocialPlanMarketingActivity> | description: Marketing activities within the requested timeframe.  | validation: minItems 0, maxItems 100
     - name: marketingActivityId | type: string | description: Marketing activity GUID.  | read-only: true | validation: format GUID
     - name: date | type: Date | description: Scheduled date of the marketing activity.  
     - name: items | type: array<Item> | description: Posts associated with this activity. Items can be of any status (`DRAFT`, `SCHEDULED`, or published). Only items whose `status` is `DRAFT` can be scheduled with `ScheduleDrafts`.  | validation: minItems 0, maxItems 10
        - ONE-OF: 
           - name: instagramPost | type: InstagramPost | description: Instagram post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
                    - name: media | type: array<Media> | description: List of media items.  
                       - name: type | type: MediaType | description: Media type.  
                                 - enum: IMAGE, VIDEO
                       - name: url | type: string | description: Media URL.  | validation: format WEB_URL
                       - name: fileId | type: string | description: Media Manager file GUID backing the media. Available only when the media is stored in the Media Manager.  | validation: maxLength 1000
              - name: caption | type: string | description: Caption for the post. Can include hashtags (for example, `#crazywildebeest`) and mentions of Instagram users (for example, `@natgeo`). Mentioned users are notified when the post is published. Supports up to 30 hashtags and 20 mentions.  | validation: maxLength 2200
              - name: postUrl | type: string | description: The post URL on Instagram.  | read-only: true 
              - name: insights | type: InstagramInsights | description: Insights from Instagram.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: engagement | type: integer | description: Number of engagements.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: plays | type: integer | description: Number of plays.  
                 - name: reach | type: integer | description: Number of accounts reached.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: saved | type: integer | description: Number of saves.  
                 - name: totalInteractions | type: integer | description: Total number of interactions.  
           - name: instagramStory | type: InstagramStory | description: Instagram story content.  
              - name: storyUrl | type: string | description: The story URL on Instagram.  | read-only: true | validation: format WEB_URL
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: InstagramStoryInsights | description: insights data from Instagram.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: reach | type: integer | description: Number of accounts reached.  
                 - name: replies | type: integer | description: Number of replies.  
           - name: facebookPost | type: FacebookPost | description: Facebook post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: link | type: string | description: The link URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: pageId | type: string | description: The page GUID to publish the post to.  
              - name: caption | type: string | description: Caption for the post.  
              - name: postUrl | type: string | description: The post URL on Facebook.  | read-only: true 
              - name: linkMetadata | type: LinkMetadata | description: Link preview metadata. Available only when the post contains a link.  
                 - name: thumbnailUrl | type: string | description: Thumbnail URL for the link preview.  
                 - name: title | type: string | description: Title for the link preview.  
                 - name: description | type: string | description: Description for the link preview.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
                 - name: impressions | type: FacebookImpressions | description: Impression counts.  
                    - name: unique | type: integer | description: Number of unique impressions.  
                    - name: total | type: integer | description: Total number of impressions.  
                 - name: interactions | type: FacebookInteractions | description: Interaction counts.  
                    - name: unique | type: integer | description: Number of unique interactions.  
                    - name: total | type: integer | description: Total number of interactions.  
                 - name: reactions | type: FacebookReactions | description: Reaction counts.  
                    - name: like | type: integer | description: Number of "like" reactions.  
                    - name: love | type: integer | description: Number of "love" reactions.  
                    - name: wow | type: integer | description: Number of "wow" reactions.  
                    - name: haha | type: integer | description: Number of "haha" reactions.  
                    - name: sad | type: integer | description: Number of "sad" reactions.  
                    - name: anger | type: integer | description: Number of "angry" reactions.  
                 - name: activity | type: FacebokActivity | description: Activity counts.  
                    - name: share | type: integer | description: Number of shares.  
                    - name: like | type: integer | description: Number of likes.  
                    - name: comment | type: integer | description: Number of comments.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: facebookReel | type: FacebookReel | description: Facebook reel content.  
              - name: pageId | type: string | description: The page GUID to publish the reel to.  
              - name: videoUrl | type: string | description: The video URL.  
              - name: description | type: string | description: A description for the reel.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: facebookStory | type: FacebookStory | description: Facebook story content.  
              - name: pageId | type: string | description: The page GUID to publish the story to.  | validation: maxLength 1024
              - name: storyUrl | type: string | description: The story URL on Facebook.  | read-only: true | validation: format WEB_URL
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: FacebookInsights | description: Insights from Facebook.  
           - name: youtubeVideo | type: YouTubeVideo | description: YouTube video content.  
              - name: channelId | type: string | description: The channel GUID to publish the video to.  
              - name: videoUrl | type: string | description: The video URL.  
              - name: title | type: string | description: A title for the video.  
              - name: description | type: string | description: A description for the video.  
              - name: categoryId | type: string | description: A category for the video.  
              - name: notifySubscribers | type: boolean | description: Whether to notify channel subscribers when the video is published.  
              - name: insights | type: YoutubeInsights | description: Insights data from YouTube.  
                 - name: views | type: integer | description: Number of views.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: dislikes | type: integer | description: Number of dislikes.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: youtubeShort | type: YouTubeShort | description: YouTube short content.  
              - name: channelId | type: string | description: The channel GUID to publish the short to.  
              - name: videoUrl | type: string | description: The short URL.  
              - name: title | type: string | description: A title for the short.  
              - name: description | type: string | description: A description for the short.  
              - name: categoryId | type: string | description: A category for the short.  
              - name: notifySubscribers | type: boolean | description: Whether to notify channel subscribers when the short is published.  
              - name: insights | type: YoutubeInsights | description: Insights data from YouTube.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
           - name: linkedinPost | type: LinkedinPost | description: LinkedIn post content.  
              - ONE-OF: 
                 - name: imageUrl | type: string | description: The image URL.  
                 - name: videoUrl | type: string | description: The video URL.  
                 - name: link | type: string | description: The link URL.  
                 - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: authorId | type: string | description: Author GUID of the post. Can be an organization page or a personal feed.  
              - name: caption | type: string | description: Caption for the post.  
              - name: linkMetadata | type: LinkMetadata | description: Link preview metadata. Available only when the post contains a link.  
              - name: insights | type: LinkedinPostInsights | description: Insights from LinkedIn.  
                 - name: uniqueImpressions | type: integer | description: Number of unique impressions.  
                 - name: impression | type: integer | description: Total number of impressions.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: engagement | type: float | description: Engagement rate.  
                 - name: clicks | type: integer | description: Number of clicks.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: pinterestPost | type: PinterestPost | description: Pinterest post content.  
              - name: boardId | type: string | description: The board GUID to publish the post to.  | validation: maxLength 128
              - name: title | type: string | description: The title of the post.  | validation: maxLength 100
              - name: description | type: string | description: The description of the post.  | validation: maxLength 800
              - name: link | type: string | description: The link to include in the post.  | validation: maxLength 2048
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: PinterestInsights | description: Insights from Pinterest.  
                 - name: impressions | type: integer | description: Number of impressions.  
                 - name: clicks | type: integer | description: Number of clicks.  
                 - name: saves | type: integer | description: Number of saves.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: reactions | type: integer | description: Number of reactions.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: gbpPost | type: GbpPost | description: Google Business Profile post content.  
              - name: locationId | type: string | description: The location GUID to publish the post to.  | validation: maxLength 128
              - name: locationAccountId | type: string | description: Account (group) GUID of the location.  | validation: maxLength 128
              - name: description | type: string | description: The description of the post.  | validation: maxLength 1500
              - name: callToAction | type: GbpPostCallToAction | description: Call to action type and URL to include in the post.  
                 - name: actionType | type: GbpPostCallToActionType | description: Type of the call to action.  
                         - enum: BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP
                 - name: url | type: string | description: URL of the call to action.  | validation: maxLength 2048
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: GbpInsights | description: Insights from Google Business Profile.  
                 - name: shares | type: integer | description: Number of shares. Google Business Profile post insights aren't currently available, so this returns `-1`.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: tiktokVideo | type: TikTokVideo | description: TikTok video content.  
              - name: accountId | type: string | description: The account GUID to publish the video to.  | validation: maxLength 128
              - name: privacyLevel | type: TikTokPrivacyLevel | description: Privacy level for the video.  
                     - enum: PUBLIC_TO_EVERYONE, FOLLOWER_OF_CREATOR, MUTUAL_FOLLOW_FRIENDS, SELF_ONLY
              - name: description | type: string | description: A description for the video.  | validation: maxLength 2200
              - name: disableComment | type: boolean | description: Whether comments are disabled for the video.  
              - name: disableDuet | type: boolean | description: Whether duets are disabled for the video.  
              - name: disableStitch | type: boolean | description: Whether stitches are disabled for the video.  
              - name: brandContentToggle | type: boolean | description: Whether the content is a paid partnership promoting a third-party business.  
              - name: brandOrganicToggle | type: boolean | description: Whether the content promotes the creator's own business.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: TikTokInsights | description: Insights from TikTok.  
                 - name: views | type: integer | description: Number of views.  
                 - name: likes | type: integer | description: Number of likes.  
                 - name: comments | type: integer | description: Number of comments.  
                 - name: shares | type: integer | description: Number of shares.  
                 - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: tiktokPhoto | type: TikTokPhoto | description: TikTok photo content.  
              - name: accountId | type: string | description: The account GUID to publish the photo to.  | validation: maxLength 128
              - name: privacyLevel | type: TikTokPrivacyLevel | description: Privacy level for the photo.  
              - name: title | type: string | description: A title for the photo.  | validation: maxLength 90
              - name: description | type: string | description: A description for the photo.  | validation: maxLength 4000
              - name: disableComment | type: boolean | description: Whether comments are disabled for the photo.  
              - name: autoAddMusic | type: boolean | description: Whether to automatically add music to the photo.  
              - name: brandContentToggle | type: boolean | description: Whether the content is a paid partnership promoting a third-party business.  
              - name: brandOrganicToggle | type: boolean | description: Whether the content promotes the creator's own business.  
              - name: mediaWrapper | type: MediaWrapper | description: The media list.  
              - name: insights | type: TikTokInsights | description: Insights from TikTok.  
        - name: _id | type: string | description: Item GUID.  | read-only: true | validation: format GUID
        - name: channel | type: Channel | description: Social channel the item is published to, and the account within that channel.  
           - name: name | type: ChannelName | description: Social channel the item is published to.  
                 - enum: INSTAGRAM, FACEBOOK, YOUTUBE, LINKEDIN, TWITTER, PINTEREST, GBP, TIKTOK
           - name: accountId | type: string | description: GUID of the connected account the item is published to.  
           - name: accountName | type: string | description: Display name of the connected account the item is published to.  | read-only: true 
           - name: externalItemId | type: string | description: GUID of the post on the social channel. Returned after the item is published.  | read-only: true 
           - name: externalItemUrl | type: string | description: URL of the post on the social channel. Returned after the item is published.  | read-only: true | validation: format WEB_URL
           - name: publishingTarget | type: PublishingTarget | description: Specific destination within the account, such as a Facebook page or a Pinterest board.  
              - name: _id | type: string | description: GUID of the publishing target.  | validation: maxLength 128
              - name: displayName | type: string | description: Display name of the publishing target.  | validation: maxLength 2000
              - name: pictureUrl | type: string | description: URL of the publishing target's picture.  | validation: format WEB_URL
        - name: type | type: ItemType | description: Item format. The `type` and the content set in `data` must match a combination supported by the item's `channel.name`:  - Instagram: `POST` with `instagramPost`, or `STORY` with `instagramStory`. - Facebook: `POST` with `facebookPost`, `REEL` with `facebookReel`, or `STORY` with `facebookStory`. - YouTube: `VIDEO` with `youtubeVideo`, or `SHORT` with `youtubeShort`. - LinkedIn: `POST` with `linkedinPost`. - X (Twitter): `POST` with `twitterPost`. Deprecated: No longer functional as of July 31, 2026. - Pinterest: `POST` with `pinterestPost`. - Google Business Profile: `POST` with `gbpPost`. - TikTok: `POST` with `tiktokPhoto`, or `VIDEO` with `tiktokVideo`.  
             - enum:
             -     POST: A standard post.
             -     REEL: A short-form vertical video reel.
             -     VIDEO: A video.
             -     SHORT: A short-form vertical video.
             -     STORY: A story that's available for a limited time.
        - name: status | type: Status | description: Current status of the item in its lifecycle.  | read-only: true 
             - enum:
             -     PUBLISHED: Published to the social channel.
             -     SCHEDULED: Scheduled to be published at a future date.
             -     CANCELED: Scheduling was canceled before the item was published.
             -     FAILED: Publishing failed.
             -     DELETED: Deleted.
             -     PROCESSING: Publishing is in progress.
             -     DRAFT: Saved as a draft, not yet published.
             -     IN_QUEUE: Queued for publishing as part of a bulk operation.
        - name: publishedDate | type: Date | description: Date and time the item was published. Returned only after the item is published.  | read-only: true 
        - name: schedulingInfo | type: SchedulingInfo | description: Scheduling info. Set to schedule the item for a future date instead of publishing it immediately.  
           - name: scheduledDate | type: Date | description: Date and time the item is scheduled to be published.  
           - name: schedulingTimestamp | type: Date | description: Date and time the item was scheduled.  | read-only: true 
        - name: referenceId | type: string | description: Caller-defined reference that uniquely identifies the item. Can be used to prevent duplicate publishing: an attempt to publish a second item with the same `referenceId` fails. Can also be used as a UTM campaign GUID.  
        - name: siteAnalytics | type: SiteAnalytics | description: Aggregated analytics for the site, attributed to traffic from this post.  
           - name: traffic | type: integer | description: Number of site sessions attributed to this post.  
           - name: pageView | type: integer | description: Number of page views attributed to this post.  
           - name: siteBounceRate | type: float | description: Site bounce rate attributed to this post.  
           - name: revenue | type: float | description: Revenue attributed to this post.  
           - name: conversionFunnel | type: ConversionFunnel | description: Conversion funnel data attributed to this post.  
              - name: cartViewsSessions | type: integer | description: Number of sessions that viewed the cart.  
              - name: checkOutSessions | type: integer | description: Number of sessions that reached checkout.  
              - name: storeOrdersSessions | type: integer | description: Number of sessions that placed a store order.  
              - name: bookingsConfirmed | type: integer | description: Number of confirmed bookings.  
           - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
        - name: insightsSummary | type: InsightsSummary | description: Summary of the post's performance on the social channel, such as impressions and interactions.  
           - name: impressions | type: integer | description: Number of unique impressions (reach).  
           - name: interactions | type: integer | description: Number of interactions, such as likes and comments.  
           - name: _updatedDate | type: Date | description: Date and time the insights were last updated.  
           - name: impressionsTotal | type: integer | description: Total number of impressions.  
        - name: draftInfo | type: DraftInfo | description: Creation and update dates, returned for draft items.  
           - name: _createdDate | type: Date | description: Date and time the draft was created.  | read-only: true 
           - name: _updatedDate | type: Date | description: Date and time the draft was updated.  | read-only: true 
        - name: suggested | type: boolean | description: Whether the item was generated as an AI suggestion.  
        - name: external | type: boolean | description: Whether the item is a post created natively on the social channel rather than published through Wix.  
        - name: publicationError | type: PublicationErrorDetails | description: Details of why the item failed to publish. Returned only when `status` is `FAILED`.  | read-only: true 
           - name: message | type: string | description: Error message shown when publishing fails.  | read-only: true | validation: maxLength 500
        - name: siteAssetRef | type: AssetReference | description: Reference to the site content asset this post promotes (product, blog post, etc.). Mirrors marketing-plan-service's MarketingActivity.asset (named `asset` there; `site_asset_ref` here for clarity next to consumer_info). Written per-channel.  
           - name: siteAssetRefType | type: Type | description: Type of the site asset (for example, product or blog post). See `SiteAsset.Type` for the closed set of values.  
                 - enum:
                 -     BLOG_POST: A Wix Blog post.
                 -     EVENT: A Wix Events event.
                 -     STORES_PRODUCT: A Wix Stores product.
                 -     BOOKINGS_SERVICE: A Wix Bookings service.
                 -     STORES_COUPON: A Wix Stores coupon.
                 -     STORES_CATEGORY: A Wix Stores category.
           - name: _id | type: string | description: GUID of the asset within its provider's data store.  | validation: maxLength 256
           - name: name | type: string | description: Display name of the asset (for example, the product title or blog post title), cached at post-creation time.  | validation: maxLength 3000
     - name: title | type: string | description: Title of the marketing activity.  | validation: maxLength 3000
     - name: description | type: string | description: Description of the marketing activity.  | validation: maxLength 3000
     - name: videoCandidates | type: array<VideoCandidate> | description: Asynchronously generated video options for this activity. Poll `GetMarketingActivityPosts` to check their status.  | validation: minItems 0, maxItems 10
        - name: executionId | type: string | description: Unique identifier of the video generation process.  | read-only: true | validation: format GUID
        - name: status | type: VideoCandidateStatus | description: Current generation status of the video candidate.  
             - enum:
             -     IN_PROGRESS: Video is currently being generated.
             -     FAILED: Generation failed. Add a new candidate to retry.
             -     READY: Video is ready. `video_url` is populated.
        - name: videoUrl | type: string | description: URL of the generated video. Returned only when `status` is `READY`.  | validation: format WEB_URL
        - name: prompt | type: string | description: Prompt used to generate the video.  | validation: maxLength 5000
        - name: sourceMediaUrl | type: string | description: URL of the source media used as input for video generation.  | validation: format WEB_URL
     - name: asset | type: AssetReference | description: Site asset this activity is grounded in.  
        - name: type | type: Type | description: Type of the site asset (for example, product or blog post). See `SiteAsset.Type` for the closed set of values.  
        - name: _id | type: string | description: GUID of the asset within its provider's data store.  | validation: maxLength 256
        - name: name | type: string | description: Display name of the asset (for example, the product title or blog post title), cached at activity-generation time.  | validation: maxLength 3000
  - name: creationDate | type: Date | description: Date and time the plan was first created.  
  - name: _updatedDate | type: Date | description: Date and time the plan was last updated.  
  - name: firstPlanGenerationDate | type: Date | description:   


```

### Examples

### Get the social marketing plan
```javascript
import { marketingPlan } from "@wix/promote-growth-tools-marketing-plan";

const options = {
  timeframe: {
    startDate: new Date("2026-07-01T00:00:00.000Z"),
    endDate: new Date("2026-07-31T23:59:59.999Z"),
  },
};

async function getSocialMarketingPlan() {
  const response = await marketingPlan.getSocialMarketingPlan(options);
}

/* Promise resolves to:
 * {
 *   "status": "ACTIVE",
 *   "marketingActivities": [
 *     {
 *       "marketingActivityId": "b3f9d2e1-7a4c-4d68-9f02-1c5e8a6b4d30",
 *       "date": "2026-07-08T09:00:00.000Z",
 *       "title": "Summer collection launch",
 *       "description": "Announce the new handmade ceramic mugs summer collection with a 20% launch discount.",
 *       "asset": {
 *         "type": "STORES_PRODUCT",
 *         "id": "f1e4c0a2-9b87-4d31-a6e5-2c8b7f0d1a93",
 *         "name": "Handmade Ceramic Mug"
 *       },
 *       "items": [
 *         {
 *           "_id": "834dc801-3e5c-416a-bd14-b130a95d100e",
 *           "channel": {
 *             "name": "INSTAGRAM",
 *             "accountId": "17841405822304914"
 *           },
 *           "type": "POST",
 *           "status": "DRAFT",
 *           "instagramPost": {
 *             "mediaWrapper": {
 *               "media": [
 *                 {
 *                   "type": "IMAGE",
 *                   "url": "https://static.wixstatic.com/media/cf2434_4b3a2d8eb7f54bc89c0d4524430a2af3~mv2.jpg"
 *                 }
 *               ]
 *             },
 *             "caption": "Summer collection just dropped! Shop the look now. #summerstyle #newarrivals"
 *           },
 *           "draftInfo": {
 *             "_createdDate": "2026-06-20T07:20:56.561Z",
 *             "_updatedDate": "2026-06-20T07:20:56.561Z"
 *           },
 *           "suggested": true,
 *           "external": false
 *         }
 *       ]
 *     }
 *   ],
 *   "creationDate": "2026-06-20T07:20:56.561Z",
 *   "updatedDate": "2026-06-20T07:20:56.561Z"
 * }
 */

```

### getSocialMarketingPlan (self-hosted)
Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md).

```javascript
import { createClient } from '@wix/sdk';
import { marketingPlan } from '@wix/promote-growth-tools-marketing-plan';
// Import the auth strategy for the relevant access type
// Import the relevant host module if needed

const myWixClient = createClient ({
  modules: { marketingPlan },
  // Include the auth strategy and host as relevant
});


async function getSocialMarketingPlan(options) {
  const response = await myWixClient.marketingPlan.getSocialMarketingPlan(options);
};
```

---