# Upselling with metafields

> Feature added in **Broadcast 3.4.** For earlier versions [click here](/broadcast-v4/upsell/upselling-with-tags.md)

With Broadcast, you can suggest a pairing product on any of your Product pages. This allows the customer to purchase two separate products within one product page.&#x20;

<figure><img src="/files/YdBAn1mX366icaCzADvV" alt=""><figcaption><p>Easily promote add-on products</p></figcaption></figure>

Broadcast includes an easy variant chooser for your products which have multiple variants:&#x20;

<figure><img src="/files/KW1anJIh9F3drK1w0VVH" alt=""><figcaption><p>The Broadcast Variant Chooser Drawer </p></figcaption></figure>

#### New Variant Chooser Drawer demonstration:

<figure><img src="/files/4rrp9zTZroUThoDi7W7z" alt=""><figcaption><p>Variant chooser drawer and works together with the cart drawer using layers</p></figcaption></figure>

### Cart promotions

A second chance is available to the customer in the Cart drawer. If the customer doesn't use the Product page upsell promotion, they will have another opportunity in the Cart drawer:

<figure><img src="/files/Mvo1iUajhU3ABxMvnl0o" alt=""><figcaption><p>Appears when original promotion is skipped</p></figcaption></figure>

{% hint style="success" %}
Broadcast now uses Shopify's Metafields feature to pair products with other products. A new Variant Chooser makes it easy for customers to select the right option.
{% endhint %}

## How to setup

There are three main steps when using Broadcast's upsell feature:

1. Create a product metafield with a unique namespace and key called: **`theme.upsell`**
2. Link products together in the Product setup
3. Add the Upsell block to the Product form in the Theme Editor.&#x20;

Let's begin with creating a new custom metafield:

### Metafield configuration

The first step is to define a product metafield with the namespace and key of `theme.upsell` and type **Reference** to **Product, Single product**:

Start by defining a new metafield in your Shopify Admin under Settings:

<figure><img src="/files/hc8CRXcmjpmSfjFrRBcb" alt=""><figcaption><p>Choose Metafields under Settings</p></figcaption></figure>

Click on Add definition:

<figure><img src="/files/Mh795z10TKVREgLGYkTz" alt=""><figcaption></figcaption></figure>

### The important part

Name your metafield "Upsell" and make sure you change the default namespace from `custom` to `theme`. The namespace and key should be exactly: **`theme.upsell`**:

<figure><img src="/files/5fA6WmJa81m1PBqyu9O9" alt=""><figcaption></figcaption></figure>

The **Content type**, should be **Product**, **One product**.

### Creating metafield demonstration:&#x20;

<figure><img src="/files/4ANnwWj3INucOScPH1sB" alt=""><figcaption><p>Change custom to theme in the Namespace and key = theme.upsell</p></figcaption></figure>

### Link products together

To pair products, use the **Product setup** in your **Shopify Admin:**

<figure><img src="/files/BUO7jDjdUlUztswR5hQ9" alt=""><figcaption></figcaption></figure>

Choose a product, then scroll to the **bottom** where you'll find your newly created **Upsell** option under metafields.

Here you can easily choose a product to pair with:

<figure><img src="/files/aJVuGlhFkQNmrz00tldn" alt=""><figcaption></figcaption></figure>

#### Choosing a product demonstration:

<figure><img src="/files/rSZX0qjAWlL13k3X1cJd" alt=""><figcaption></figcaption></figure>

**Save** your changes.&#x20;

### Final step, add the Upsell block in the Theme Editor

This is a quick step and is done in the Theme Editor. Navigate to a product in the Theme Editor or use the **Default product** template (or any product template):

Choose **Add block** under **Product pages:**

<figure><img src="/files/TwHsCyMipF1lNi2mZ39T" alt=""><figcaption></figcaption></figure>

Add the **Upsell** block. Add block -> Upsell:

<figure><img src="/files/cfSd28Yt1yeebsv3sZ9u" alt=""><figcaption></figcaption></figure>

**Save** your Theme Editor changes.&#x20;

#### Adding the Upsell block demonstration:

<figure><img src="/files/Tby23SKqcGdmPjbsViYL" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://broadcast.presidiocreative.com/broadcast-v4/upsell/upselling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
