Marketing activities overview

Shopify merchants can use apps to create marketing activities (such as ad campaigns for Facebook or Google) from the Marketing section of the Shopify admin. You can add the marketing activity extension to your app so that merchants can use it to create and monitor promotional campaigns directly in Shopify.

The marketing activity app extension provides a form that merchants can use to create their marketing activities. You can define the form fields and other UI elements that your app serves, and based on that information the form will be rendered to the merchant in their Shopify admin. To learn more about the form's components, see the Marketing activity components reference.

After a merchant enters their information into the form in Shopify, it's sent to your app. To receive the information, your app needs to have the appropriate marketing activity endpoints.

After a merchant creates a marketing activity, your app is expected to provide engagement metrics so that the merchant can have more insight into how potential customers interact with their marketing activities.

Architecture

The marketing activity app extension is based on three components:

  1. Form builder
  2. JSON schema
  3. Interpreter

Form builder

You can use the form builder utility in your Partner Dashboard to implement a marketing activity creation workflow for your app. From there, you can configure your app extension by adding, removing, setting, and ordering components. After you've chosen the components that you want to use, you can preview the merchant experience and the payload that your app will receive from the app extension:

An example of a merchant creating a marketing activity.

After you configure the form, the form builder outputs a JSON schema resource that represents your workflow. An interpreter then reads the schema, and uses it to render the form to the merchants. To learn more about how to create a form for your app, see Create a form from your Partner Dashboard.

After a merchant fills out the form, the details of their marketing activity are submitted to your app. Your app can then synchronously create a marketing activity, and the merchant can track its status from within the Marketing section of their Shopify admin. To learn more about how to create an activity, see Create a marketing activity.

JSON schema

All components that are included in the form are configured in the JSON format. Shopify uses REST calls and structured JSON to communicate with your app.

Global Settings

Name Type Required Value
Title String The title of the app extension.
Description String The description of the app extension.
Base API path String A URL representing the base API endpoint from the app.
Tactic String The marketing tactic used by the app (see Marketing tactics).
Platform String The marketing platform used by the app (see Marketing tactics).
Ad format String A required property for apps that use the ad or retargeting tactic.
Fields Object[] A set of fields describing the UI components/settings making up the extension.

Marketing tactics

When you create a marketing activity extension, you can define the tactic, its corresponding marketing platform, and its ad format:

  • Tactic: The marketing tactic executed by your extension.
  • Platform: The marketing platform where the action is executed. Not all tactics require a platform.
  • Ad format: The format in which the ad is delivered. Not all tactics require an Ad format.

The following table describes the supported fields for the various marketing activity extension types.

Tactic Available marketing platforms Available ad formats
Ad Facebook, Instagram, Google, Bing, Snapchat Carousel ad, Link ad, Dynamic Ad
Retargeting Facebook, Instagram, Google, Bing, Pinterest Retargeting
Post Facebook, Instagram, Pinterest -
Message Facebook, SMS -
Transactional Email -
Newsletter Email -
Abandoned Cart Email -
Affiliate - -
Loyalty - -
Link - -
Storefront App - -

Interpreter

The interpreter is the layer between the JSON schema and the form's merchant-facing UI. It uses the data passed from the app to render a series of preconfigured components in the Shopify admin, with the appropriate properties and values (passed from the form builder).

Sign up for a Partner account to get started.

Sign up