With Google Cloud Marketplace Private Offers, you can create a custom offer for a Kubernetes app, SaaS product, or virtual machine (VM) image (alpha), for a specific customer. The offer gives your customer the ability to purchase your Google Cloud Marketplace product at a discount.
When the customer opens their offer, they are taken to a purchase page on Google Cloud Marketplace. The customer then confirms the purchase, and signs up for your product. After they sign up, they use your product as if they signed up for a plan directly through Google Cloud Marketplace.
Before you begin
- Your product must be integrated with, and listed on Google Cloud Marketplace. At least one of your pricing plans must be publicly available.
Setting up IAM roles
By default, to create offers for customers, users in your organization must have the Project Editor role. If you want to give users more granular permissions, we recommend creating a custom role by using the Cloud SDK.
To set up roles for users, you must have the Project Editor or Project Owner role.
To create the custom role, install and set up the Cloud SDK, then run the following command:
gcloud iam roles create cloudcommerceinventory.quoteCreator \ --permissions='cloudcommerceinventory.quotes.create' \ --permissions='cloudcommerceinventory.quotes.get' \ --permissions='cloudcommerceinventory.quotes.list' \ --permissions='cloudmarketplace.customPriceModels.create' \ --permissions='cloudmarketplace.customPriceModels.get' \ --title='Commerce Inventory Quote Creator' \ --description='Ability to create quotes' \ # use --project to create the role at the project level, # or --organization to create the role at the organization level --project=YOUR_PROJECT_ID --organization=YOUR_ORGANIZATION_ID
To assign the role to a user, follow the steps in the Identity and Access Management (IAM) documentation, and assign the Commerce Inventory Quote Creator role to the user.
Set up discount levels for your products
When you create a custom offer for a specific customer, you must set up a discount level that you want to offer them, based on your product's pricing plans. The discount must be on your list price on Google Cloud Marketplace.
You can set up discount levels in advance to speed up the process of creating offers, or create a new discount level while you're creating the offer.
To create discount levels:
In Partner Portal, click Private offers to open the Offers page. The direct link to the page is:
Click Set up discounts.
In the Set up discounts panel, select the product that you want to set up discounts for.
Add a discount percentage for the first discount level, and select the pricing plans that the discount applies to. For example, add a 10% discount to your Enterprise plan.
To add another discount level, click Add row and repeat the steps above.
When you have added all your discount levels, click Set up.
If you want to add more discount levels, or if you want to add discount levels for a different product, repeat these steps.
Creating an offer
You must create a new offer for each sale to a specific customer.
To start your offer, open the Offers page. The direct link to the page is:
Click Create quote.
On the Create quotes page, add customer-facing information such as the organization's name, point of contact, and so on. The details are informational, so that the customer recognizes the offer. You send the offer to the customer later.
Choose the Google Cloud Marketplace product that you want to create a offer for. Then, choose a discount level that you created earlier.
If you didn't create discount levels, or want to set up a new discount level, click Set up new discount and add a discount percentage.
If you want to show the customer their final price and hide the discount level from them, select Only show discounted price to customer.
From Purchase deadline, select an expiration date for the offer.
From the Offer duration menu, select the time for which the customer pays the quoted price. After the offer duration has passed, the customer pays the listed price for their plan, without a discount. If you want the customer to continue with a custom pricing plan, you must set up a new offer for them when the current offer duration expires.
If you don't send a new offer to the customer, they must sign up for one of the plans from your Google Cloud Marketplace listing.
Optionally, you can add notes for the customer.
Optionally, you can assign an internal ID and add notes for your team. The ID and notes are not displayed to the customer. For example, you can use the internal ID to track the customer in your customer relationship management (CRM) software.
To save an offer as a draft, click Save.
When you are ready to send the offer to the customer, click Generate URL and share the URL with the customer. Your customer will access this URL to view and accept the offer.
Sending an offer
After generating the URL for the offer, you must send the offer to the customer to view and accept. When emailing an offer, consider guiding your customer through the process:
Verify the right contact in the customer's organization to handle the offer. To accept an offer, the customer must have a Cloud Billing account and the correct IAM roles, including Billing Administrator (
roles/billing.admin) for the target Cloud Billing account OR Google Cloud organization, and Viewer (
roles/viewer) for the Google Cloud project to which they are accepting the offer. If the contact does not have an account or the correct roles, recommend that they reach out to an Organization Administrator or a Google Customer Engineer for guidance.
In your email, share the documentation on Accepting private offers, which explains the process for Google Cloud Marketplace customers.
The following example uses best practices in sending a private offer to a Google Cloud Marketplace customer:
Dear Customer Name,
Thank you for working with Your Organization Name. Below, please find the private offer for Product Name in Google Cloud Marketplace:
URL to Private Offer
Please note that you can only use this offer once.
In order to accept this offer, you must have a Cloud Billing account and specific IAM permissions to accept the offer to a Cloud Billing account and project in your organization. For details on requirements and how to accept the offer, see the Google Cloud Marketplace documentation on Accepting private offers. For additional support, you can also reach out to a Google Cloud Customer Engineer.
Please let us know if you have any questions about the offer. We look forward to working with you.