> For the complete documentation index, see [llms.txt](https://docs.globo.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.globo.io/options/integrations/theme-and-third-party-notes.md).

# Theme and third-party notes

Sticky add-to-cart bars, quickview apps, speed optimizers, subscriptions, and other apps that share your product page.

Other apps and theme features run on the same product page as the option widget. This page covers the ones that most often interact with it, and what to check for each.

## Sticky add-to-cart bars

Many themes and apps add a bar with a buy button that follows the customer down the page.

<table><thead><tr><th width="230">Risk</th><th>What to check</th></tr></thead><tbody><tr><td>The bar's button bypasses the options</td><td>Scroll down until the bar appears, then use its button. Are required options enforced? Are add-ons priced?</td></tr><tr><td>The bar covers the widget on mobile</td><td>Whether the last option is reachable on a phone</td></tr></tbody></table>

The app supports the most common patterns. If a bar's button bypasses validation, report it, as this can create orders with missing information that you cannot fulfill.

## Cart drawer apps

An app that replaces your theme's cart drawer takes over where add-on lines are displayed after a customer adds to cart.

The app recognizes the [UpCart, Monster Cart, and Kaching](/options/integrations/cart-drawer-apps.md) drawers automatically, with no setup needed on either side. All three require **Go to cart immediately after adding to cart** to be turned off, because that setting redirects the customer before the drawer can open.

Two things are worth a second look whichever app you use. Drawer upsells add a product in one click, which skips the option form. And a drawer shows less than your cart page does — no **Edit Options** button and no design preview. See [Cart drawer apps](/options/integrations/cart-drawer-apps.md).

For any other cart drawer app, test that add-on lines appear in the drawer and that their quantity boxes and Remove buttons are hidden. If they are not, [contact support](/options/help/contact-support.md) with the app's name.

## Speed and script optimization apps

Apps that defer or delay JavaScript can delay the option widget, so it appears late or, with an aggressive delay, not at all.

The app requests to be excluded from deferral by the common optimizers. If you use one and the widget is slow to appear or missing:

{% stepper %}
{% step %}

### Check the optimizer's exclusion list

Most optimizers have one. Add the app's scripts to it.
{% endstep %}

{% step %}

### Test with the optimizer turned off

This confirms whether the optimizer is the cause.
{% endstep %}

{% step %}

### Contact support if you cannot find the setting

Include the optimizer's name. See [Contact support](/options/help/contact-support.md).
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
A widget that appears half a second late can be missed by a customer who has already scrolled past it. If you use an optimizer, test your product page on a slow connection.
{% endhint %}

## Other options or swatch apps

Running two apps that both add options to a product page causes duplicated fields, conflicting validation, and two sets of prices.

Use one app. If you are migrating, [import your option sets](/options/option-sets/import-and-export.md) from the other app, test them, and then uninstall it, in that order.

## Subscription apps

A subscription turns the purchase into a recurring one, which affects how add-ons behave.

Test whether add-ons recur with the subscription or are charged once. The answer depends on the subscription app, and a one-off add-on charged every month leads to refund requests.

## Currency and market apps

Add-on prices are in your store's currency and are converted in the same way as any other price. If you use a currency switcher, check a converted add-on price on the product page and again at checkout.

Country-specific behavior is available in the app itself through [country rules](/options/option-sets/assign-to-countries.md).

## Product review and badge apps

These apps usually appear near the buy button, where the widget is. If they overlap, change the [widget placement](/options/storefront-display-and-design/widget-placement.md) or set the position with an [app block](/options/getting-started/add-the-app-block.md).

## Fulfillment and printing apps

Any app that prints or forwards order data has to include line item properties; otherwise, your options are not passed to it.

Most of these tools let you edit a template. See [Show options on orders](/options/storefront-display-and-design/show-options-on-orders.md) for the snippet, or use an [Order notes update](/options/orders/automations/update-order-notes.md) workflow, which writes the options into the order note that most tools already read.

## What to test after installing an app

After installing any app that affects the product page or the order:

{% stepper %}
{% step %}

### Open a product with options

Check that they still appear in the correct place.
{% endstep %}

{% step %}

### Try to add to cart with a required option empty

Check that adding to cart is still blocked.
{% endstep %}

{% step %}

### Add a product with an add-on

Check that the price in the cart is correct.
{% endstep %}

{% step %}

### Complete a test order

Check that the option details are stored in the order.
{% endstep %}

{% step %}

### Repeat on mobile

{% endstep %}
{% endstepper %}

This takes a few minutes and catches the problems that otherwise appear as orders you cannot fulfill.
