CertSafari
    Snowflake SnowPro Advanced: Administrator (ADA-C02)· Lessons

    Domain 5 · Lesson 22/24

    Snowflake Listings: Publish, Fulfil Requests, Monitor Usage and Native Apps

    Implement and manage the Snowflake Marketplace

    9 min read
    3.5% of exam
    6 sources
    Published 5 Oct 2026
    Docs as of 4 Oct 2026

    What you will be able to do

    • Create and publish free and paid private listings with the correct roles and privileges
    • Tell unpublishing a listing apart from deleting it
    • Fulfil consumer requests for limited trials and for manual remote-region fulfilment
    • Choose the right usage view for monitoring listing consumption
    • List the publishing steps for a Native App listing

    1.Create and publish a listing

    You can create free or paid listings to share directly with specific consumers. For example, a private listing can fulfil a request that came from a limited trial. Each task needs specific privileges, and the rule that trips people up is about ownership. The role that attaches a share or application package to a listing and publishes it must be the role that owns that share or package. Share ownership cannot be transferred. If a different role creates the listing, grant MODIFY on the listing to the role that owns the share.

    Privileges required for each listing task
    TaskRequired roles and privileges
    Create a data listingGlobal CREATE LISTING; CREATE SHARE; OWNERSHIP (or sufficient grants) on the shared objects
    Create a Native App listingGlobal CREATE LISTING; OWNERSHIP on the application package
    Modify or configure a listingOWNERSHIP on the listing, or MODIFY on the listing
    Publish a listingOWNERSHIP on the listing; publishing role owns the share or application package; approved provider profile
    Publish a paid listingEverything needed to publish a listing, plus a Stripe Express account

    In Provider Studio, select Create Listing » Specified Consumers and give the listing a title. Select Add data product. If you choose database objects, Snowflake creates a secure share for them; you can also pick an existing share. Set the Access type to Free or Paid, then add the consumers' organization and account names. If a consumer account is in a different region, Snowflake turns on auto-fulfillment and you choose a refresh interval and a warehouse. Then add a description and legal terms, plus optional attributes, data dictionary entries, business needs and Quick Start examples. For a paid listing, also create a pricing plan, either Usage-based or Flat fee, and an offer, either Self-serve or Sales-led. If you leave without publishing, Snowflake saves the listing as a draft.

    Checkpoint 1 of 6· Check yourself

    Role SHARE_ADMIN owns a share. Role LISTING_ADMIN created the listing that will carry it. What should you do so the share can be attached and the listing published?

    Checkpoint 2 of 6· Exam question

    Your company is preparing to offer data to outside customers. Select TWO of the following situations in which the provider account must first set up a provider profile.(Select 2)

    Sources1

    2.Modify, unpublish or delete a listing

    Changing a published listing needs OWNERSHIP or MODIFY on it. Unpublishing and deleting are often confused. Unpublishing hides the listing from the Snowflake Marketplace: open the listing in Provider Studio, choose Unpublish from the vertical ellipsis menu, and confirm. The status changes from Live to Unpublished. Consumers who already got the listing can still use the data product. A listing that was auto-fulfilled to other regions also stays replicated there. Deleting a listing removes the listing and access for every consumer using it.

    Checkpoint 3 of 6· Check yourself

    A provider must immediately cut off every consumer of a listing, not just hide it. What should they do?

    Sources2

    3.Manage listing requests

    Consumer requests come from two situations. In the first, a consumer tries a limited trial of a paid listing and then asks for the full product. In the second, you offer a free listing with manual fulfilment, and a consumer in a remote region asks for it. Snowflake emails you about each request. In Provider Studio, open the listing and select Consumer Requests to see the requester's region, company, contact details and message.

    A trial request is handled outside the original listing. You can contact the consumer and agree payment terms, then prepare the data product and publish a private listing to that consumer. A remote-region request involves replication. Manual fulfilment is needed when Cross-Cloud Auto-Fulfillment is not an option, for example because the product contains objects that auto-fulfillment does not support. You set up accounts in the remote regions, inside the same organization, and replicate the product there. You only need to replicate to a region once a consumer there requests it. Next, sign in to the remote account with the role that owns the share and select Associate Selected Data. Then choose Fulfill Request. Approving and fulfilling requests needs OWNERSHIP or MODIFY on the listing. After you associate shares for a region, later consumers in that region get the product straight away.

    Checkpoint 4 of 6· Match them up

    Match each request type to how you fulfil it.

    Tap a term, then the definition that fits it.

    Sources3

    4.Monitor listing and data sharing usage

    Providers watch listing usage through views in SNOWFLAKE.DATA_SHARING_USAGE. LISTING_CONSUMPTION_DAILY shows weekly and monthly usage trends, regional adoption and engaged customers. Its data can be up to 2 days behind and is kept for 365 days. LISTING_TELEMETRY_DAILY and LISTING_EVENTS_DAILY cover the funnel. They show discovery, meaning unique account views by region. They show conversion, meaning the view-to-get and get-to-install rates. They show retention, meaning uninstall trends and cancellations of paid listings. Uninstall events are currently only reported for paid listings. For finer detail, LISTING_ACCESS_HISTORY records the objects that queries touched. The documented query below counts accesses and distinct consumer accounts for each application object.

    Counting accesses and distinct consumers for each app object in LISTING_ACCESS_HISTORYsql
    SELECT APPLICATION_PACKAGE_NAME,
           f.value:"objectName"::string AS object_name,
           f.value:"objectDomain"::string AS object_type,
           COUNT(DISTINCT QUERY_TOKEN) AS access_count,
           COUNT(DISTINCT CONSUMER_ACCOUNT_NAME) AS user_count
    FROM SNOWFLAKE.DATA_SHARING_USAGE.LISTING_ACCESS_HISTORY,
         LATERAL FLATTEN(input => APPLICATION_OBJECTS_ACCESSED) f
    WHERE IS_APPLICATION = TRUE
    GROUP BY APPLICATION_PACKAGE_NAME, object_name, object_type
    ORDER BY access_count DESC;

    Checkpoint 5 of 6· Check yourself

    A product manager wants monthly usage trends and regional adoption for a listing over the past year. Which view fits, and what limit should they expect?

    Sources4

    5.Manage Native App listings

    A Native App goes to consumers through a listing, just like data. The listing carries an application package instead of a share. Creating it needs the global CREATE LISTING privilege and OWNERSHIP on the application package. First, set the default release directive, which points to the version or patch you are publishing. With release channels, set it on the default release channel. Next, if the app will go to accounts outside your organization, run the automated security scan, which the package must pass. Then create the listing, add a pricing plan if you want to charge, submit it for approval, and publish. Only listings published to the Snowflake Marketplace need approval. A provider profile is not needed for private listings.

    Checkpoint 6 of 6· Put it in order

    Put the steps for publishing an application package in order.

    1. 1.Submit your listing for approval
    2. 2.Create a listing
    3. 3.Set the default release directive
    4. 4.Initiate the automated security scan
    5. 5.Publish your listing

    Sources51

    Exam traps

    Each one states something that sounds right. Open it to see what is actually true.

    1. 1.Unpublishing a listing revokes access for consumers who already have it.Why is that wrong?

      Unpublishing only hides the listing. Existing consumers keep access unless you remove them from the share or delete the listing.

      Covered in Modify, unpublish or delete a listing

    2. 2.When the listing role and the share-owning role differ, transfer the share's OWNERSHIP to the listing role.Why is that wrong?

      Share ownership cannot be transferred. Grant MODIFY on the listing to the role that owns the share.

      Covered in Create and publish a listing

    3. 3.Every Native App listing needs a security scan, including one shared only inside your organization.Why is that wrong?

      The automated security scan is required when you publish to an account outside your organization.

      Covered in Manage Native App listings

    Sources

    Every claim above is drawn from one of these pages, quoted as it was written on the date shown.

    1. 1.
      “You can create free or paid listings to share directly with specific consumers.”
      ↩︎ Create and publish a listing
      “If you select one or more database objects, Snowflake creates a secure share with those objects.”
      ↩︎ Create and publish a listing
      “Snowflake enables auto-fulfillment to replicate data to the remote region after a consumer gets your listing.”
      ↩︎ Create and publish a listing
      “You can choose either Usage-based or Flat fee.”
      ↩︎ Create and publish a listing
      “If you exit without publishing, the listing is saved as a draft.”
      ↩︎ Create and publish a listing
      “Global CREATE LISTING; OWNERSHIP on the application package”
      ↩︎ Manage Native App listings
      “grant the MODIFY privilege on the listing to the role that owns the share or application package”
      ↩︎ Checkpoint
    2. 2.
      “existing consumers can still access the data product associated with the listing unless you also remove them from the share”
      ↩︎ Modify, unpublish or delete a listing
      “To hide a listing from the Snowflake Marketplace without deleting it, you can unpublish the listing.”
      ↩︎ Exam trap 1
      “To remove a listing and access to the listing for all consumers using the listing, delete the listing.”
      ↩︎ Checkpoint
    3. 3.
      “You offer a limited trial of a paid listing and consumers request the full data product after a trial.”
      ↩︎ Manage listing requests
      “The remote accounts must be part of the same organization as the account you published the listing from.”
      ↩︎ Manage listing requests
      “You do not need to replicate the data to a region until a consumer in that region requests it.”
      ↩︎ Manage listing requests
      “you must use a role that has been granted or inherits the OWNERSHIP or MODIFY privilege on the listing”
      ↩︎ Manage listing requests
      “Fulfill the data product request by publishing a private listing to the consumer.”
      ↩︎ Checkpoint
    4. 4.
      “Use LISTING_CONSUMPTION_DAILY to track weekly and monthly usage trends, regional adoption patterns, and engaged customers.”
      ↩︎ Monitor listing and data sharing usage
      “Conversion: view-to-get rate, get-to-install rate, overall funnel conversion.”
      ↩︎ Monitor listing and data sharing usage
      “Data has up to a 2-day latency and is retained for 365 days.”
      ↩︎ Checkpoint
    5. 5.
      “Submit your listing for approval. You only need to approve listings published to the Snowflake Marketplace.”
      ↩︎ Manage Native App listings
      “To publish a listing for an application package to an account outside of your organization, your application package must pass an automated security scan.”
      ↩︎ Exam trap 3
      “you must specify the default release directive that points to the version or patch of the app you are publishing”
      ↩︎ Checkpoint

    Also cited

    Ready to test yourself?

    Practise the 13 questions on this subdomain.

    Spotted a mistake, or was something unclear? Tell us.