> ## Documentation Index
> Fetch the complete documentation index at: https://beacon.shiptoall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Offers

<Note>Shopify Checkout features are only accessible for Shopify Plus stores. Ensure your store meets this requirement before proceeding.</Note>

<Warning>Due to Shopify limitations, offers and discounts can currently only be shown on the checkout page.</Warning>

#### How Offers Work

Offers allow merchants to create tailored product recommendations and discounts during checkout.

Based on the products in a customer’s cart, merchants can configure multiple conditions to suggest complementary items or apply specific discounts, enhancing personalization and increasing conversion opportunities.

#### Create a offer

<Card title="Shiptoall -> Offers">
  Let's create a single offer to test your setup.

  <Steps>
    <Step title="Click the 'Create Offer' Button">
      * Enter a name for your offer (for example, **"Summer Shirt Offer"**).
    </Step>

    <Step title="Add Priority to the Offer">
      * Set the priority level for this offer to determine its display order if multiple offers are applicable
        <Info>For products with multiple applicable offers, the app automatically picks the offer with the highest priority. If two offers share the same priority, the most recent one is used.</Info>
    </Step>

    <Step title="Create Offer conditions ( Optional but recommended )">
      <Tip>Only add conditions if you want to limit when this **offer** is triggered. Multiple conditions can be added. See the properties section for each detailed condition.</Tip>
    </Step>

    <Step title="Create Offer Discounts ( Optional )">
      * Click on the 'Use shiptoall discount function' button to create a discount for this offer.
      * Enter the discount amount, either as a flat value or a percentage, and generate a random discount code.
        <Tip>Only add conditions if you want to limit when this **offer** is triggered. Multiple conditions can be added. See the properties section for each detailed condition.</Tip>
    </Step>

    <Step title="Add Products to Recommend">
      * Click on the 'Browse Product' button to select products you want to recommend as part of this offer.
    </Step>
  </Steps>

  <Accordion title="Additional settings">
    <ResponseField name="Allow adding multiple quantities">
      Enable this option to let customers select more than one quantity of a product.
    </ResponseField>

    <ResponseField name="Avoid products if its already in cart">
      Enable this option to prevent products that are already in the cart or part of the order from being displayed in offers.
    </ResponseField>

    <ResponseField name="Randomise the order of offer products">
      By default, offer products are displayed in the order they were added. Enable this option to shuffle the product order each time it is shown.
    </ResponseField>

    <ResponseField name="Discount Combination">
      <Note>We recommend enabling discount combinations (**Order discounts,Product discounts,Shipping discounts**) so that multiple Shiptoall offers can be applied to the same order. This also allows Shiptoall discounts to stack with other Shopify discounts you may have.</Note>
    </ResponseField>
  </Accordion>
</Card>

#### Properties

<ResponseField name="Conditions" type="Event Conditions">
  <ResponseField name="Product Tags">
    Filter shipping events based on specific product tags present in the cart.

    Comma-separated multiple values accepted (e.g., tag1, tag2, tag3)
  </ResponseField>

  <ResponseField name="Product Vendor">
    Restrict shipping events to products from selected vendors.
    Multiple vendors can be selected.
  </ResponseField>

  <ResponseField name="Product Title">
    Trigger shipping events for products with matching titles.

    Comma-separated multiple values accepted (e.g., title1, title2, title3)
  </ResponseField>

  <ResponseField name="Product Sku">
    Trigger shipping events based on products with specified SKUs.

    Comma-separated multiple values accepted (e.g., sku1, sku2, sku3)
  </ResponseField>

  <ResponseField name="Product Collections">
    Limit shipping events to products within certain collections. Multiple collections can be selected.
  </ResponseField>

  <ResponseField name="Product Type">
    Filter shipping events by product type. Multiple product types can be selected.
  </ResponseField>

  <ResponseField name="Product Properties">
    Use custom product properties to determine event eligibility. Property key and value pairs are required
  </ResponseField>

  <ResponseField name="Product Quantity">
    Trigger shipping events based on the total quantity of products in the cart.
  </ResponseField>

  <ResponseField name="Product Price">
    Trigger shipping events based on the price of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Total">
    Trigger shipping events based on the total price of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Weight">
    Trigger shipping events by the  total weight of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Volume">
    Restrict shipping events based on the combined volume of products.
  </ResponseField>

  <ResponseField name="Product Length">
    Restrict shipping events based on combined product length of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Width">
    Restrict shipping events based on combined product width of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Height">
    Restrict shipping events based on combined product height of unique products in the cart.
  </ResponseField>

  <ResponseField name="Product Packing">
    Trigger shipping events depending on product packing method.
  </ResponseField>

  <ResponseField name="Product Custom Ship">
    Trigger event depending on custom shipping attributes set on products.
  </ResponseField>

  <ResponseField name="Product Pieces">
    Trigger shipping events based on product with additional pieces.
  </ResponseField>

  <ResponseField name="Cart Quantity">
    Filter shipping events by the total quantity of items in the cart.
  </ResponseField>

  <ResponseField name="Cart Total">
    Trigger shipping events based on the total cart value.
  </ResponseField>

  <ResponseField name="Cart Weight">
    Trigger shipping events for carts based on combined weight.
  </ResponseField>

  <ResponseField name="Cart Volume">
    Trigger shipping events based on the total volume of the cart.
  </ResponseField>

  <ResponseField name="Cart Length">
    Trigger shipping events based on the total length of items in the cart.
  </ResponseField>

  <ResponseField name="Cart Width">
    Trigger shipping events based on the total width of items in the cart.
  </ResponseField>

  <ResponseField name="Cart Height">
    Filter shipping events by the total height of items in the cart.
  </ResponseField>
</ResponseField>
