Create and manage pricing plans¶
Prerequisites¶
A provider profile. See Set up a provider profile.
A published listing. See Create a new listing.
An account that allows payment for listings. See Set up Stripe to get paid for listings.
Required privileges¶
You must use the ACCOUNTADMIN role or a role that has been granted the provider privileges. See Privileges required for working with listings.
Create a pricing plan¶
Follow the steps below to create a new listing with a pricing plan.
Follow the steps for sharing data on the Snowflake Marketplace.
After you add a data product to your share, in the Access type dropdown, select Paid listing.
A Pricing section and a Trial (optional) section are added to the listing page.
In the Pricing section, select Add pricing plans.
The Create pricing plan page opens.
On the Settings page, specify a name for the plan, then select Next.
You can optionally specify a product SKU for the pricing plan.
On the Pricing details page, select a pricing model for the plan:
If you select Flat-fee, specify the access fee price and the billing frequency (monthly or annually) for the plan.
If you select Usage-based, specify the monthly access fee, the price per query, and the maximum monthly charge.
Select Next.
Review the pricing plan summary, and then select Done.
Optional: To add another pricing plan, select Add pricing plan, and then repeat the previous steps.
Select Submit for approval » Publish once approved to publish the listing. Only published listings can be offered to consumers.
If you want to create additional pricing plans for a specific listing, select the listing, select the Pricing plans tab, and then select + Create pricing plan.
Create a pricing plan manifest reference named PRICING_PLAN_1.
Note
The pricing plan name must be uppercase.
display_name: Default pricing plan display name currency: USD pricing_model: FLAT_FEE base_fee: 100.0 billing_duration_months: 1 sales_motion: SELF_SERVE comment: Comment for the pricing plan metadata: description: Pricing plan description price: $100 / unit button_text: Buy Now value_propositions: - val 1 - val 2 visibility: VISIBLE contract_type: LIMITED_TIME contract_duration_months: 12 state: PUBLISHED
Create a listing manifest reference that includes the pricing plan.
title: my_listing subtitle: Subtitle for my_listing description: Description for my_listing listing_terms: type: OFFLINE targets: regions: PUBLIC.AWS_US_EAST_1 usage_examples: - title: this is a test sql description: Simple example query: select * pricing_plans: - name: PRICING_PLAN_1 type: FILE path: pricingPlans/PRICING_PLAN_1.yaml
Stage the pricing plan and listing manifest reference files.
PUT file:///local/path/to/PRICING_PLAN_1.yaml @DB.SCHEMA.STAGE/pricingPlans/PRICING_PLAN_1 SOURCE_COMPRESSION=NONE AUTO_COMPRESS=FALSE OVERWRITE=TRUE; PUT file:///local/path/to/manifest.yaml @DB.SCHEMA.STAGE/listings/my_manifest SOURCE_COMPRESSION=NONE AUTO_COMPRESS=FALSE OVERWRITE=TRUE;
Create a listing that uses the manifest files uploaded to the stage.
CREATE EXTERNAL LISTING my_listing FROM @DB.SCHEMA.STAGE/listings/my_manifest REVIEW = TRUE PUBLISH = FALSE;
Add a pricing plan to a paid listing¶
The steps below add a pricing plan to an existing listing.
Sign in to Snowsight.
In the navigation menu, select Marketplace » Provider Studio.
In the right pane, click the Listings tab.
Select the paid listing that you want to attach a pricing plan to.
The Pricing plans tab for the listing opens.
Click + Create pricing plan.
On the Settings page, specify a name for the plan, then select Next.
You can optionally specify a product SKU for the pricing plan.
Click Next.
On the Pricing details page, select a pricing model for the plan:
If you select Flat-fee, specify the access fee price and the billing frequency (monthly or annually) for the plan.
If you select Usage-based, specify the monthly access fee, the price per query, and the maximum monthly charge.
Select Next.
Review the pricing plan summary, and then select Done.
Optional: To add another pricing plan, select Add pricing plan, and then repeat the previous steps.
Create a pricing plan manifest reference file and save it as PRICING_PLAN_1.yaml.
display_name: Default pricing plan display name currency: USD pricing_model: FLAT_FEE base_fee: 100.0 billing_duration_months: 1 sales_motion: SELF_SERVE comment: Comment for the pricing plan metadata: description: Pricing plan description price: $100 / unit button_text: Buy Now value_propositions: - val 1 - val 2 visibility: VISIBLE contract_type: LIMITED_TIME contract_duration_months: 12 state: PUBLISHED
Create a live version of your listing and download the listing manifest reference.
ALTER LISTING my_listing ADD LIVE VERSION FROM LAST; GET snow://listing/my_listing/versions/live/manifest.yml file:///Users/my_username/
Add the pricing plan to the listing manifest reference.
Note
The pricing plan name must be uppercase.
pricing_plans: - name: PRICING_PLAN_1 type: FILE path: pricingPlans/PRICING_PLAN_1.yaml
Upload the pricing plan and listing manifest reference files and commit the change.
PUT file:///Users/my_username/PRICING_PLAN_1.yaml snow://listing/my_listing/versions/live/pricingPlans AUTO_COMPRESS = false; PUT file:///Users/my_username/manifest.yml snow://listing/my_listing/versions/live AUTO_COMPRESS = false; ALTER LISTING my_listing COMMIT;
To see the pricing plan in your listing, run the SHOW PRICING PLANS command.
SHOW PRICING PLANS IN LISTING my_listing;
Edit a pricing plan¶
To edit an existing pricing plan, follow the steps below:
Note
It can take up to 10 minutes for pricing plan edits to be visible to consumers.
Sign in to Snowsight.
In the navigation menu, select Marketplace » Provider Studio.
In the right pane, select the Listings tab.
On the Listings page, select a paid listing.
Select the Pricing plans tab.
Select the
button for the pricing plan you want to edit, and then select Edit plan.Edit the pricing plan, and then click Done.
Create a live version of your listing and download the pricing plan manifest reference.
ALTER LISTING my_listing ADD LIVE VERSION FROM LAST; GET snow://listing/my_listing/versions/live/pricingPlans/PRICING_PLAN_1.yml file:///Users/my_username/
Edit the pricing plan manifest reference.
Upload the pricing plan and listing manifest reference files and commit the change.
PUT file:///Users/my_username/PRICING_PLAN_1.yaml snow://listing/my_listing/versions/live/pricingPlans AUTO_COMPRESS = false; ALTER LISTING my_listing COMMIT;
View pricing plan details¶
Sign in to Snowsight.
In the navigation menu, select Marketplace » Provider Studio.
In the right pane, select the Listings tab.
On the Listings page, select a paid listing.
Select the Pricing tab.
Select Options for the pricing plan you want to view, and then select See details.
Review the pricing plan and click Edit to edit the pricing plan, or click Close.
To see details of the pricing plan in your listing, run the SHOW PRICING PLANS command.
SHOW PRICING PLANS IN LISTING my_listing;