[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides storefront analytics in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-best-practices)

[Accessibility](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-accessibility)

[Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics)

[Performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-performance)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-seo)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/faststore)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-best-practices)

[Accessibility](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-accessibility)

[Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics)

[Performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-performance)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-seo)

---

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/storefront-development)

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-best-practices)

[Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics)

Analytics

Explore how to leverage data to drive informed decisions and optimize your VTEX store performance.

Analytics involves collecting, processing, and analyzing data to identify patterns and insights that support decision-making. In ecommerce, analytics helps businesses understand user experience, optimize operations, and drive sales growth.

By tracking customer interactions on your website, such as product views and purchasing decisions, you gain insights into their needs and can tailor experiences to improve satisfaction and conversion.

To turn insights into actionable strategies, leveraging the right tools is essential. [Google Analytics (GA)](https://read.calvincode.net/reader?url=https://marketingplatform.google.com/intl/en-US%5Fus/about/analytics/), the world's most widely used web analytics tool, offers comprehensive features for data collection, analysis, and reporting to help businesses understand and optimize their online presence.

The integration with Google Analytics is available for all VTEX stores. Learn more in [Configuring Google Analytics 4 in VTEX stores](https://read.calvincode.net/reader?url=https://help.vtex.com/en/tutorial/how-to-setup-google-analytics-in-vtex-store--G2P0rmSrEiqCcmUMyUUwG).

## Implementing Google Analytics

Integrating Google Analytics with your VTEX storefront allows you to track key ecommerce metrics and customer behavior, such as product views, cart activity, and checkout behavior, directly within the VTEX platform.

To learn how to implement Google Analytics, see the section for your store's storefront solution.

### Store Framework

In [Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/store-framework), a VTEX IO app manages Google Analytics by implementing the [Google Tag Manager (GTM)](https://read.calvincode.net/reader?url=https://tagmanager.google.com/) script, setting event properties, and adding events to the `dataLayer`.

> Learn more in the guide [Configuring Analytics (Google Tag Manager)](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/store-framework-configuring-analytics-google-tag-manager).

Below are the main characteristics of Google Analytics in Store Framework:

* It's easy to handle and maintain, as everything is configured to automatically track and send data to GTM by using the native Google Tag Manager app. However, deviating from the predefined settings requires significant effort and customization, often defeating the framework's purpose.
* Provides analytics events for free when using the native Google Tag Manager app and native blocks to compose your pages. In this case, you do not need to actively manage analytics, but this convenience comes with limitations and less control over customization.
* Identifying where or when an event is triggered can be challenging, making debugging and customization more challenging. You rely on the app's predefined events and DOM interactions, which may limit visibility and control.

### FastStore

In [FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore), there is no equivalent app; instead, all management is done directly within the storefront source code.

> Learn more in the guide [Analytics on FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/analytics-overview).

Below are the main characteristics of Google Analytics in FastStore:

* You can trigger your own events, customize them with your own types, and add any properties of your choice. This flexibility empowers developers and store managers to collect data tailored to their business needs.
* You have the flexibility to implement analytics based on your business needs, but you are responsible for triggering events and ensuring their completeness. Events will not trigger automatically unless you include them, which requires careful attention from maintainers to avoid gaps in analytics.
* All analytics events can be found in the store repository. You can easily search for [sendAnalyticsEvent](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/analytics-send-analytics-event) calls to understand when and where events are triggered. Additionally, FastStore provides end-to-end (E2E) tests for [GA4 Recommended events](https://read.calvincode.net/reader?url=https://support.google.com/analytics/answer/9267735?sjid=7873480420853807302-SA), helping you identify and fix issues before they impact data collection.

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/storefront-best-practices/storefront-analytics.md)

[Accessibility« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics//docs/guides/storefront-accessibility)[PerformanceNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics//docs/guides/storefront-performance)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F112641072%3Fv%3D4%26w=64%26q=75)](https://github.com/barbara-celi)

ON THIS PAGE

[Implementing Google Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23implementing-google-analytics)

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23store-framework)[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23faststore)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/vtex-io/Storefront-Guides/storefront-best-practices/storefront-analytics.md)

Copy page

On this page

ON THIS PAGE

[Implementing Google Analytics](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23implementing-google-analytics)

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23store-framework)[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/storefront-analytics/docs/guides/storefront-analytics%23faststore)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides how to load test a store in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/master-data)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

[How to load test a store](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store)

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/updates/release-notes)

Guides

[VTEX Platform Overview](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/vtex-platform-overview)

---

[API usage](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/api-usage)

---

[Getting started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/getting-started)

---

Integration Guides

---

[Catalog](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/catalog-integration)

---

[Checkout](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/checkout-api-overview)

---

[Master Data](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/master-data)

---

Payments

---

Orders

---

Logistics

---

B2B Suite

---

VTEX Sales App

---

UI Customization

---

Message Center

---

Pricing

---

Promotions

---

Infrastructure

[How to load test a store](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store)

---

Search

---

Storefront Permissions

---

[VTEX Activity Flow](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/activity-flow)

---

[VTEX Ads](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/vtex-ads)

---

VTEX Session

---

VTEX Shield

---

[Data Protection Plus](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/data-protection-plus)

---

Weni by VTEX

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides)

Infrastructure

[How to load test a store](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store)

How to load test a store

Load testing is the practice of determining whether a service is able to handle the expected capacity with the use of artificial load.

VTEX engineers load test the platform regularly to ensure it matches the expectations for heavy load. Therefore, you do not need to load test the VTEX platform on your own.

However, if you still feel the need to load test specific scenarios, we recommend you follow some principles in order to guarantee a safe test and meaningful results:

* [Simulate real user behavior](#simulate-real-user-behavior)
* [Ensure your test is not the bottleneck](#ensure-your-test-is-not-the-bottleneck)
* [Understand how to interpret results from the test](#understand-how-to-interpret-results-from-the-test)

These principles are especially relevant when your test includes services that integrate or interact with the VTEX platform, such as Google Tag Manager or Facebook Pixel. Below you can learn more about them, as well as [How VTEX protects the platform against traffic attacks](#how-vtex-protects-the-platform-against-traffic-attacks) and [Schedule a load test](#schedule-a-load-test).

## Simulate real user behavior

Simulating real user behavior is key to obtaining statistically meaningful results to your test. Below are some points to consider when building your load test scenario:

### Customers shop for different products

In most cases, customers browse stores going through different searches and products. Make sure your test automation is not always picking the first product on the page, or always searching for the same term in the search bar.

Instead, try to model the probability of a user picking products based on real user metrics from your store. If you do not have such data, we recommend using uniformly random variations of requests to VTEX APIs and pages.

The main reason for this is that picking the same product over and over does not test the platform’s infrastructure. It mostly tests our caching layer.

### Customers shop with different emails

When conducting load tests, ensure that you perform tests using a variety of customer emails. Each customer in your store has their own email address, so it is important to simulate purchases from multiple customers as would happen in a real-world scenario.

This realistic simulation contributes to more accurate load testing results, providing insights into how the platform performs under different user circumstances.

We recommend that you incorporate a randomized selection of email addresses when configuring your load test scenarios.

### Customers shop from different regions

Even if the load test is focused on a specific country, state, or region, customers will still shop from a range of IP addresses and locations.

Because of this, we recommend you use various source IP addresses on your test and that it spreads the load over various destination IP addresses.

Our edge services have protective measures from increased load from a single IP address or region, and they may be triggered if requests are way above the standard or even expected values. This may cause an outage in the load test, or worse, a localized outage of the store.

To make sure that you are using various destination IP addresses, use tools such as [WhatsMyDns](https://read.calvincode.net/reader?url=https://www.whatsmydns.net/%23A/). This allows you to check the domain for different regions close to your testing site. Run it multiple times so that you get different IPs for the same region as well.

### Customers shop at different times

Your customers’ activities naturally spread through intervals of time, even in the case of flash sales. A click on one client may happen seconds after one in another client. This difference is small for shopping behavior, but a big one when computing results in less than a second.

Make sure your load test is spreading requests randomly over time. Also make sure that your load test has ramp-up and ramp-down configurations. These numbers depend heavily on what you are testing. Flash sales may ramp up in around five minutes and ramp down almost as fast, while Black Week and Cyber Monday sales may have a ramp up and down spread out over hours.

Configuring a spread of requests will allow the VTEX platform to smoothly scale up the services according to the new demand for resources.

To learn more about different behaviors you may encounter in case the increase of requests is too sudden, see [How VTEX protects the platform against traffic attacks](#how-vtex-protects-the-platform-against-traffic-attacks) below.

## Ensure your test is not the bottleneck

In order to achieve the intended load, your testing infrastructure must be able to issue the rate and amount of requests that the VTEX platform will receive. Therefore, a big amount of requests requires a matching size infrastructure. See below the bottlenecks your test could face.

### Network bandwidth

Your test will issue many requests and receive many responses from VTEX. Make sure that your testing infrastructure has enough bandwidth to transmit all the necessary requests and responses.

If you are doing your test on the cloud, be careful when choosing which types of compute instances you will use, as network bandwidth is often overlooked.

### Compute capacity

Though making requests is mostly an I/O-bound operation, meaning that the bottleneck of a system would often be the bandwidth and latency of the network, you can also have systems that are not prepared to handle as many requests because of lack of CPU and RAM resources.

Remember to monitor the resource usage on your test to ensure your CPU and RAM are running below performance degradation levels. As a rule of thumb, keep CPU and RAM usage under 80%.

## Understand how to interpret results from the test

With the test simulating real user behavior, you should be able to look at the test results and understand the outcomes and necessary actions. A failed test may not mean that the platform will not handle the requested load, just as a successful test could still bring some points to consider.

### Understand the errors from the log

The main way to understand what went wrong with a test is to look at the most common errors from test runs. You can query a search engine for error messages and see the most common reasons. But remember that they may not apply to your case.

### Check if the error comes from a third-party service

Depending on how you programmed your test, you may be querying third-party resources, for images, ads, fonts, scripts, pixels, and more, in addition to VTEX’s.

Check if the requested URL matches a third-party source. If so, investigate with them on the cause of errors as well. Keep in mind that a third party can have more restrictive limits on resource usage than the VTEX platform.

## How VTEX protects the platform against traffic attacks

Load tests are not and should not be tagged as “special requests” in our platform, as that would further separate the tests from reality. Therefore, requests from load tests receive the same treatment as any other, which includes defensive measures due to increased load.

Because we’re a multi-tenant platform, we have measures that our systems take to prevent a surge of load in a single store from affecting the whole platform. Here are the most relevant measures:

### Rate Limiting

Our platform has limits of requests per IP, per Account, per API route, and per other components of a request. These limits vary throughout the day and are not disclosed by VTEX. However, you can know whether you reached the limit by analyzing the response of a given request.

A request that was rate-limited will get a response of `429 Too Many Requests` and contain a `Retry-After` header indicating when the client should try to issue another request. This is what is defined in [RFC6585](https://read.calvincode.net/reader?url=https://httpstatuses.com/429).

### Circuit Breaking

Some parts of our platform have circuit breakers. Meaning a feature that stops requests from reaching applications that are having trouble returning successful responses.

If an application is returning too many errors in a short period of time, the circuit breaker is activated and requests stop flowing to that application in hopes that less requests will give it time to recover back to healthy behavior.

A request that was handled by a circuit breaker will return a `503 Service Unavailable` response status code.

## Schedule a load test

If you wish to load test your store, contact [VTEX support](https://read.calvincode.net/reader?url=https://help.vtex.com/en/support) to let us know when to expect increased requests from your store.

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F2094877%3Fv%3D4%26w=64%26q=75)](https://github.com/georgebrindeiro)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Infrastructure/store-availability/how-to-load-test-a-store.md)

[Seller Opt-in Promotions« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store//docs/guides/seller-opt-in-promotions)[How search parameters workNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store//docs/guides/how-search-parameters-work)

Contributors

3

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F77292838%3Fv%3D4%26w=64%26q=75)](https://github.com/julia-rabello)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F2094877%3Fv%3D4%26w=64%26q=75)](https://github.com/georgebrindeiro)

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F7108339%3Fv%3D4%26w=64%26q=75)](https://github.com/brunoamui)

ON THIS PAGE

[Simulate real user behavior](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23simulate-real-user-behavior)

[Customers shop for different products](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-for-different-products)[Customers shop with different emails](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-with-different-emails)[Customers shop from different regions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-from-different-regions)[Customers shop at different times](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-at-different-times)

[Ensure your test is not the bottleneck](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23ensure-your-test-is-not-the-bottleneck)

[Network bandwidth](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23network-bandwidth)[Compute capacity](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23compute-capacity)

[Understand how to interpret results from the test](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23understand-how-to-interpret-results-from-the-test)

[Understand the errors from the log](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23understand-the-errors-from-the-log)[Check if the error comes from a third-party service](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23check-if-the-error-comes-from-a-third-party-service)

[How VTEX protects the platform against traffic attacks](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23how-vtex-protects-the-platform-against-traffic-attacks)

[Rate Limiting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23rate-limiting)[Circuit Breaking](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23circuit-breaking)

[Schedule a load test](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23schedule-a-load-test)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/guides/Infrastructure/store-availability/how-to-load-test-a-store.md)

Copy page

On this page

ON THIS PAGE

[Simulate real user behavior](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23simulate-real-user-behavior)

[Customers shop for different products](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-for-different-products)[Customers shop with different emails](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-with-different-emails)[Customers shop from different regions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-from-different-regions)[Customers shop at different times](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23customers-shop-at-different-times)

[Ensure your test is not the bottleneck](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23ensure-your-test-is-not-the-bottleneck)

[Network bandwidth](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23network-bandwidth)[Compute capacity](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23compute-capacity)

[Understand how to interpret results from the test](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23understand-how-to-interpret-results-from-the-test)

[Understand the errors from the log](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23understand-the-errors-from-the-log)[Check if the error comes from a third-party service](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23check-if-the-error-comes-from-a-third-party-service)

[How VTEX protects the platform against traffic attacks](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23how-vtex-protects-the-platform-against-traffic-attacks)

[Rate Limiting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23rate-limiting)[Circuit Breaking](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23circuit-breaking)

[Schedule a load test](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/how-to-load-test-a-store/docs/guides/how-to-load-test-a-store%23schedule-a-load-test)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] Provide a guide on guides faststore faststore api configuring graphql cache control in VTEX.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/getting-started-overview)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/styling-overview)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-overview)

[Queries](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-queries)

[Mutations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-mutations)

[Objects](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-objects)

[Inputs](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-inputs)

[Enums](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-enums)

[Scalars](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-scalars)

[Configuring GraphQL cache control for GET requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/storefront-best-practices)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/updates/release-notes)

Storefront Development

[Getting started with storefront solutions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/getting-started-with-storefront-solutions)

---

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore)

[FastStore versions and support levels](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/getting-started-faststore-versions-and-support-levels)

[Getting Started](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/getting-started-overview)

[FastStore WebOps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/webops-dashboard)

[Headless CMS](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/headless-cms-overview)

[Developer tools and references](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/developer-tools-overview)

[Styling](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/styling-overview)

[UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/components-index)

[Implementing storefront features](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/storefront-features-overview)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-overview)

[Queries](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-queries)

[Mutations](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-mutations)

[Objects](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-objects)

[Inputs](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-inputs)

[Enums](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-enums)

[Scalars](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-scalars)

[Configuring GraphQL cache control for GET requests](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control)

[FastStore SDK](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/sdk-overview)

[Developing and overriding UI components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/developing-and-overriding-components-overview)

[Extending the FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/api-extensions-overview)

[Managing URLs with redirects and rewrite paths](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/routing-managing-urls-with-redirects-and-rewrite-paths)

[Managing performance](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/managing-performance-overview)

[SEO](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/seo-overview)

[Going live](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/go-live-overview)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/troubleshooting-overview)

---

[Store Framework](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/store-framework)

---

(Legacy) CMS Portal

---

[Storefront best practices](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/storefront-best-practices)

---

[Storefront development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/storefront-development)

[FastStore](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore)

[FastStore API](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-overview)

Configuring GraphQL cache control for `GET` requests

> This is an experimental feature.

In this guide, learn how to configure caching for GraphQL `GET` requests using the `graphqlCacheControl` flag. Setting cache rules allows responses to be stored and reused for subsequent requests, reducing server load and improving store performance. For example, caching a product listing page (such as "Summer Collection") for five minutes allows the page to load faster for store visitors. The system serves cached content immediately, then updates it in the background, further ensuring a seamless user experience and minimizing additional server load.

The `graphqlCacheControl` flag defines how long responses should be stored and reused when caching GraphQL `GET` requests.

> `POST` requests are excluded from caching by default. This ensures that data sent in the request body, such as user input or sensitive information, is always processed in real time and not served from the cache.

## Before you begin

Make sure that your project is using the latest version of the `@faststore/cli` package. To do so, follow the instructions in [Updating the @faststore/cli package version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/project-structure-updating-the-cli-package-version).

## Instructions

Declare the `graphqlCacheControl` flag in the `experimental` section of the `discovery.config.js` file.

1. Open your FastStore project in a code editor.
2. Open the `discovery.config.js` file.
3. Under the `experimental` section, add the `graphqlCacheControl` flag:
discovery.config.js
`1
experimental: {
2
 …
3
 graphqlCacheControl: {},
4
},
`
4. Inside `graphqlCacheControl`, add the `maxAge` and `staleWhileRevalidate` properties and their values:
discovery.config.js
`1
experimental: {
2
 …
3
 graphqlCacheControl: {
4
 maxAge: 5 * 60, // 0 disables cache, 5 * 60 sets maxAge to 5 minutes.
5
 staleWhileRevalidate: 60,
6
 },
7
},
`
In the example above, the `maxAge` and `staleWhileRevalidate` properties received the following values:
| Object                   | Description                                                                                |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| maxAge: 5 \* 60          | Defines how long responses stay fresh in cache. Responses are cached for 5 minutes (300 seconds).After 5 minutes, the cache is considered stale.maxAge: 0 \- A value of 0 disables caching entirely.                                                                                |
| staleWhileRevalidate: 60 | Defines how long stale cached data can be used while new data is fetched in the background. After the initial 5 minutes (when maxAge is reached), stale cached data can still be served for up to one extra minute (60 seconds) while the system fetches fresh data in the background.This ensures users see slightly older data (for 1 minute maximum) instead of waiting for a full reload. |
This configuration creates a tiered caching system that balances immediate performance with data freshness. The table below illustrates what happens over time:
| **Object**  | **Cache state** | **Behavior**                                                                                |
| ----------- | --------------- | ------------------------------------------------------------------------------------------------- |
| 0s - 300s   | Fresh           | Serves cached responses instantly.No backend requests are made, unless it is the initial request. |
| 300s - 360s | Stale           | Serves old data while fetching updates.Fresh data is simultaneously fetched in the background.    |
| After 360s  | Expired         | Cache fully expires.Next request triggers a fresh data fetch.                                     |
5. Open a terminal and run `yarn dev` to sync the changes and [test the cache configuration](#testing-the-cache-configuration).

## Ensuring custom queries are cacheable

To ensure proper caching behavior for your custom queries, they must use the `GET` method. Queries with the `Query` suffix in their names automatically default to `GET`. To enable proper caching for custom queries, follow these steps:

1. Identify custom queries in your project that use the `POST` method.
2. Rename the queries by adding the `Query` suffix to ensure they default to `GET`. For example:
* Uncached (`POST`): `getOrderForm`
* Cached (`GET`): `getOrderFormQuery`

## Testing the cache configuration

After enabling the `graphqlCacheControl` flag in the `discovery.config.js` file and running `yarn dev` in a terminal, follow these steps to test the cache configuration:

1. Open the localhost URL available in the terminal to view the store preview (example: `http://localhost:3000/`).
2. On the store preview page, open your browser's **Developer Tools**.
3. Go to the **Network** tab and look for the **Cache-Control** column as displayed in the image below:
![{"base64":"  ","img":{"width":1919,"height":638,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":616022,"url":"https://vtexhelp.vtexassets.com/assets/docs/src/graphql-cache-control-flag-localhost___70d2f2c3fbf40846180c7c0ed11d16f0.png"}}](https://read.calvincode.net/reader?url=https://vtexhelp.vtexassets.com/assets/docs/src/graphql-cache-control-flag-localhost___70d2f2c3fbf40846180c7c0ed11d16f0.png)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

Was this helpful?

Yes

No

[Suggest Edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/faststore-api/configuring-graphql-cache-control.mdx)

[Scalars« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/schema-scalars)[FastStore SDKNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/sdk-overview)

Contributors

1

[![Photo of the contributor](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/_next/image?url=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F67270558%3Fv%3D4%26w=64%26q=75)](https://github.com/mariana-caetano)

ON THIS PAGE

[Before you begin](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23before-you-begin)

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23instructions)

[Ensuring custom queries are cacheable](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23ensuring-custom-queries-are-cacheable)

[Testing the cache configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23testing-the-cache-configuration)

Was this helpful?

 Send feedback

[Suggest edits (GitHub)](https://read.calvincode.net/reader?url=https://github.com/vtexdocs/dev-portal-content/edit/main/docs/faststore/docs/faststore-api/configuring-graphql-cache-control.mdx)

Copy page

On this page

ON THIS PAGE

[Before you begin](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23before-you-begin)

[Instructions](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23instructions)

[Ensuring custom queries are cacheable](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23ensuring-custom-queries-are-cacheable)

[Testing the cache configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/guides/faststore/faststore-api-configuring-graphql-cache-control/docs/guides/faststore/faststore-api-configuring-graphql-cache-control%23testing-the-cache-configuration)

On this page

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)


[System] You are a VTEX documentation expert. You provide accurate, detailed information about VTEX platform, APIs, apps, and Store Framework development.

[User] How do I use the VTEX store components productname app? Provide documentation and configuration details.

[Assistant]
Documentation

[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)

[GuidesLearn how to use our APIs and extend the VTEX platform.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides)

[API ReferenceExplore detailed information about our endpoints.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/api-reference)

[App DevelopmentLearn how to build cloud-based apps and integrations.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/app-development)

[Storefront DevelopmentExpress your brand identity creating unique storefronts.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/storefront-development)

[VTEX IO AppsFind pre-built solutions to grow your business.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/vtex-io-apps)

[TroubleshootingFind practical solutions to common development issues.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/troubleshooting)

[Release NotesStay up to date with our latest releases and bug fixes.](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/updates/release-notes)

VTEX IO Apps

[Basic components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/basic-components)

---

[Store Components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/store-components)

[Autocomplete Result List](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/autocompleteresults)

[Availability Subscriber](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/availabilitysubscriber)

[Back To Top Button](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/backtotopbutton)

[Image](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/image)

[Info Card](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/infocard)

[Logo](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/logo)

[Notification](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/notification)

[Product Brand](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productbrand)

[Product Description](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productdescription)

[Product Images](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productimages)

[Product Name](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productname)

[Product SKU Attributes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productskuattributes)

[Search Bar](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/searchbar)

[Share](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/share)

[Shipping Simulator](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/shippingsimulator)

[SKU Selector](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/skuselector)

---

[Advanced components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/advanced-components)

---

[B2B components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/b2b-components)

---

[B2B Suite](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.b2b-suite)

---

[Functional Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/functional-apps)

---

[Layout Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/layout-apps)

---

[Pixel Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/pixel-apps)

---

[My Account - StoreV2 version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.my-account)

---

[VTEX IO deprecated apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/vtex-io-deprecated-apps)

---

[Guides](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides)

[API Reference](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/api-reference)

[App Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/app-development)

[Storefront Development](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/storefront-development)

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/vtex-io-apps)

[Troubleshooting](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/troubleshooting)

---

[Release Notes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/updates/release-notes)

VTEX IO Apps

[Basic components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/basic-components)

---

[Store Components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/store-components)

[Autocomplete Result List](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/autocompleteresults)

[Availability Subscriber](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/availabilitysubscriber)

[Back To Top Button](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/backtotopbutton)

[Image](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/image)

[Info Card](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/infocard)

[Logo](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/logo)

[Notification](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/notification)

[Product Brand](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productbrand)

[Product Description](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productdescription)

[Product Images](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productimages)

[Product Name](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productname)

[Product SKU Attributes](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productskuattributes)

[Search Bar](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/searchbar)

[Share](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/share)

[Shipping Simulator](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/shippingsimulator)

[SKU Selector](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/skuselector)

---

[Advanced components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/advanced-components)

---

[B2B components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/b2b-components)

---

[B2B Suite](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.b2b-suite)

---

[Functional Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/functional-apps)

---

[Layout Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/layout-apps)

---

[Pixel Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/pixel-apps)

---

[My Account - StoreV2 version](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.my-account)

---

[VTEX IO deprecated apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/vtex-io-deprecated-apps)

---

[VTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/vtex-io-apps)

[Store Components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/guides/store-components)

Product Name

[vtex.store-components](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components)

Version: 3.178.5

Latest version: 3.178.5

The `product-name` block is responsible for displaying a product name along with other information about the product, such as the **SKU** or **brand**.

![{"base64":"  ","img":{"width":2100,"height":1114,"type":"png","mime":"image/png","wUnits":"px","hUnits":"px","length":410146,"url":"https://user-images.githubusercontent.com/284515/70231165-8f6b4200-1738-11ea-9f06-3583c08fc693.png"}}](https://read.calvincode.net/reader?url=https://user-images.githubusercontent.com/284515/70231165-8f6b4200-1738-11ea-9f06-3583c08fc693.png)

## Configuration

1. Import the `vtex.store-components` app to your theme's dependencies in the `manifest.json` file, as in the following example:

`1

 "dependencies": {

2

 "vtex.store-components": "3.x"

3

 }

`

1. Add the `product-name` block to any child of the `store.product` template (Product Details Page template). For example:

`1

 "store.product": {

2

 "children": [

3

 "flex-layout.row#product",

4

 ]

5

 },

6

 "flex-layout.row#product": {

7

 "children": [

8

+ "product-name"

9

 ]

10

 },

`

1. Then, declare the `product-name` block using the props stated in the [Props](#props) table. For example:

`1

 "product-name": {

2

 "props": {

3

 "showSku": true,

4

 "showBrandName": true

5

 }

6

 },

`

### Props

| Prop name            | Type             | Description                                                                                | Default value |
| -------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| classes              | CustomCSSClasses | Overrides default CSS handles. For further information, please refer to [this document](https://read.calvincode.net/reader?url=https://github.com/vtex-apps/css-handles%23usecustomclasses). Note that this is only helpful if you're using this block as a React component. | undefined     |
| displayMode          | enum             | Displays the product name (plainText) or the link to the product page (linkToProductPage).                                                                                | plainText     |
| showBrandName        | boolean          | Displays the brand name.                                                                                | false         |
| showProductReference | boolean          | Displays the product reference code.                                                                                | false         |
| showSku              | boolean          | Displays the SKU value.                                                                                | false         |
| showSponsoredBadge   | boolean          | Displays a sponsored badge above the product's name.                                                                                | false         |
| sponsoredBadgeLabel  | string           | Text of the sponsored badge if it's rendered.                                                                                | ""            |
| tag                  | string           | Defines the HTML tag of the product container. Possible values are: div, h1, h2, h3.                                                                                | div           |

## Customization

To apply CSS customizations in this and other blocks, follow the [Using CSS handles for store customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/vtex-developer-docs/docs/vtex-io-documentation-using-css-handles-for-store-customization) guide.

| CSS Handles            |
| ---------------------- |
| productBrand           |
| productNameBrandLoader |
| productNameContainer   |
| productNameLoader      |
| productNameSkuLoader   |
| productReference       |
| productSku             |
| sponsoredBadge         |

[Product Images« Previous](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productimages)[Product SKU AttributesNext »](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productskuattributes)

See also

[Vtex.store ComponentsVTEX IO Apps](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components)[VTEX App StoreVTEX IO Apps](https://read.calvincode.net/reader?url=https://apps.vtex.com/)

ON THIS PAGE

[Configuration](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productname%23configuration)

[Props](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productname%23props)

[Customization](https://read.calvincode.net/reader?url=https://developers.vtex.com/docs/apps/vtex.store-components/productname/docs/apps/vtex.store-components/productname%23customization)

Was this helpful?

[Github](https://read.calvincode.net/reader?url=https://github.com/vtex-apps)[Help Center](https://read.calvincode.net/reader?url=https://help.vtex.com/)[Community](https://read.calvincode.net/reader?url=https://community.vtex.com/?%5Fga=2.198523433.743584735.1647618303-1974737580.1645714642)[Feedback](https://read.calvincode.net/reader?url=https://docs.google.com/forms/d/e/1FAIpQLSfmnotPvPjw-SjiE7lt2Nt3RQgNUe10ixXZmuO2v9enOJReoQ/viewform?entry.1972292648=developers.vtex.com%26entry.1799503232=)