ThanksEasy · By Sophie Calder · Updated 4 Nov 2026 · 12 min read

ThanksEasy: Thank-You Page Setup Tasks and Features

Set up the personalised message, popup offers, cross-sell blocks, delivery timeline, and the full features reference.



This page is part of the ThanksEasy guide. Start there for what the extension does, installation and the frequently asked questions.

Display a personalised thank-you message with the order number

Customers want confirmation that their order went through - a message with their order number removes doubt.

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Design: Thanks Page > Design: Top Section

  2. Set:

    • Thanks message: Position = your preferred position (above or below the order details)
    • Thanks message: Content = your message copy, using template variables:
      • {{order_id}} - inserts the order increment ID (e.g. #100000042)
      • {{order_link}} - a URL to the order detail page; use as an href value
      • {{purchase_order_id}} - PO number if set, otherwise empty (Growth and Pro plans)
      • {{tick}} - a green tick icon
      • {{email}} - an email icon
      • :) :D <3 - emoji shortcodes
  3. Save config and run php bin/magento cache:clean

Notes

  • For guest orders, {{order_link}} falls back to #<incrementId> since guests cannot log in to view the order
  • Use {{purchase_order_link}} only outside an href attribute - it renders a complete <a> element

Show a fullscreen popup offer immediately after checkout (Pro)

A fullscreen popup with a time-limited discount is the highest-visibility upsell placement ThanksEasy provides.

Fullscreen Popup Offer config

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Design: Fullscreen Popup Offer

  2. Set:

    • Enable = Yes
    • Offer: Offered product strategy - choose one:
      • Cross-sell - products linked as cross-sells to items in the order
      • BOGO - one of the products already in the order
      • Cross-sell then BOGO - cross-sells first; falls back to BOGO if none qualify
    • Discount: Type = Percent or Fixed
    • Discount: % Amount (or Fixed amount) = your discount value
    • Popup: Duration = minutes before auto-close (default 1)
    • Limits: Per customer per day = Yes to prevent repeat displays
  3. Optionally set:

    • Filter by: Product attribute - only ordered products with this attribute value trigger an offer; the Value cell next to it adapts to the attribute you pick
    • Filter-in by: Category - only ordered products in these categories trigger an offer (their cross-sells are offered). Shown when the strategy is Cross-sell or Cross-sell then BOGO
    • Filter-in by: Minimum final price - skip products below a price threshold
    • Offer text for: Cross-sell products / Offer text for: BOGO products - customise the headline using {{product_name}}, {{discount}}, {{price}}, {{countdown}}

    Product attribute filter with an attribute-aware value picker

  4. Save config

Notes

  • If no qualifying products are found (all out-of-stock, missing images, or priced at $0 after discount), the popup is suppressed rather than shown empty
  • Popup and countdown features are gated by your license plan - confirm your plan on moogento.com if these fields are greyed out
  • Filter by: Product attribute adapts its Value cell to whichever attribute you choose: dropdown, multiselect, and boolean attributes show a dropdown of that attribute's real option labels (matching is done by label, not internal ID); text-like attributes keep a plain text box with a type hint and real example values underneath. Media and image attributes never appear in the attribute picker
  • If an option you previously selected is later deleted from the attribute, the Value cell shows "Current: {value} (no longer an option)" until you choose a replacement

The page-base sections let you add a product grid or a single featured product directly on the thank-you page, each with an independent discount and countdown.

Page-base Section 1 config

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Design: Thanks Page > Design: Page-base Section 1

  2. Set:

    • Enable = Yes
    • Which: Block - choose Cross-sell products, Single product, CMS block, or HTML
    • For Cross-sell products: set attribute/category filters, product count (default 4), and whether to fill empty slots (see "How the Cross-sell products block picks products" below)
    • For Single product: enter the product SKU and choose button action (Add to Cart or View Product)
    • Discount: Type = Percent, Fixed, or None
    • Discount: Countdown timer = Yes to show a countdown clock; set Countdown time limit in minutes (default 5)
    • Limits: Per customer per day = Yes to avoid repeat discounts
  3. Optionally configure Design: Page-base Section 2 for a second independent block below Section 1

  4. Save config

Notes

  • Title fields change based on discount and countdown state - there are separate fields for: Discounts during countdown, Discounts after countdown, Discounts no countdown, and No discount
  • Use {{countdown_promo}} in the title to render the animated countdown clock (ThanksEasy Pro) or a fixed number
  • Discounts applied via ThanksEasy are time-limited: customers have the duration set in General > Time limit (hours) to complete checkout before prices revert
  • Filter by: Product attribute in each section uses the same Value cell as the popup's attribute filter, but here it limits the products offered, not the products ordered
  • In the page sections, Filter-in by: Category limits the products offered. In the popup, it limits which ordered products trigger an offer

How the Cross-sell products block picks products

With a category selected in Filter-in by: Category (for example a "Monthly Specials" category), the category is the pool of products the section offers:

  1. Cross-sells of the ordered products that are in the selected category come first
  2. Remaining slots are filled with other products from the selected category (subcategories included)

Only products from the selected category are shown, with the ones related to the order first. The Include random products? setting does not change this. If the category has no eligible products, the section falls back to the no-category behaviour below so it is not left empty.

With no category selected:

  1. Cross-sells of the ordered products come first
  2. If If empty slots: Include random products? = Yes, remaining slots are filled with other products: products from across the store (excluding poorly reviewed ones) if some cross-sells were found, or products from the first ordered product's categories if none were

In both cases, products must be enabled, visible, in stock, have an image, and pass the attribute and minimum-price filters. Products already in the order are never offered.

To make a particular product show first for a particular purchase, add it as a cross-sell on the purchased product (Catalog > Products > [product] > Related Products, Up-Sells, and Cross-Sells).

There is no separate "category" block: use Cross-sell products with Filter-in by: Category to feature a promotional category.

The category-first behaviour above needs ThanksEasy 2.9.53 or later. On 2.9.52 and earlier, the selected category only narrowed the cross-sells, and empty slots were filled with products outside the selected category.


Handle products that are already on sale

Products with an existing sale price need special handling in your ThanksEasy offers. Choose how ThanksEasy behaves when a suggested product already has a discount applied.

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Design: Thanks Page > Design: Page-base Section 1 (or Section 2)

  2. Look for the Discount: Already-discounted products dropdown (appears only when discounts are enabled)

  3. Choose one of three modes:

    • Best Price (Recommended, Default) - ThanksEasy shows the lowest price between its suggested discount and the product's current sale price. The discount badge only appears if the ThanksEasy offer genuinely beats the live price. This ensures customers always see the best available deal without confusion from stacking multiple promotions.

    • Exclude Already-Discounted Products - Products with an existing sale price are hidden from ThanksEasy suggestions entirely. Use this if you never want to offer additional incentives on items that are already discounted elsewhere.

    • Stack on Current Price (Legacy) - The ThanksEasy discount is applied on top of the product's current sale price, resulting in a lower final price. Use this only if your site explicitly supports stacking promotions and you want to advertise the cumulative savings.

  4. Save config

Notes

  • The default mode is Best Price, which changed the behavior for existing installations - products are no longer stacked with additional discounts by default.
  • Review your discount badge presentation after updating to ensure it reflects your new mode choice.
  • The discount mode setting applies independently to each page-base section (Section 1 and Section 2).

Show delivery timeline and calendar tools

Telling customers exactly when to expect their order - right on the success page - reduces "where is my order?" emails.

Order Details Section config

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Design: Thanks Page > Design: Order Details Section

  2. Set:

    • Enable = Yes
    • Show section: Shipped By Date (SBD) = Yes; set SBD: Period from order in days (default 5)
    • Show section: Delivered By Date (DBD) = Yes; set Delivered By: Period from order in days (default 14)
    • DBD tools: + Apple Calendar = Yes to add an .ics download button for the Delivered By date
    • DBD tools: + Google Calendar = Yes to add a Google Calendar link
    • DBD tools: Track/QR in Delivered By = Yes to show a tracking icon; if TrackEasy is installed, hovering reveals a QR code preview and clicking opens the TrackEasy tracking page
  3. Optionally set guide copy:

    • Show section: 'Shipped By Date (SBD)' guide = Yes and fill in Content with plain-language copy explaining your shipping process
    • Show section: 'Delivered By Date (DBD)' guide = Yes and fill in Content with delivery-estimate context
  4. Save config

Notes

  • Shipped By and Delivered By dates are estimates calculated from the order date - they are not connected to carrier APIs unless TrackEasy is also installed
  • Apple Calendar (.ics) and Google Calendar tools require a Pro plan; the Track/QR icon requires a Growth plan
  • To suppress the country name from the shipping address (useful for single-country stores), set Shipping info: Hide this 'country name'

Enable time-limited free shipping on the success page

Offer free shipping as an incentive to add another item within a short window after purchase.

How to set it up

  1. First, activate the shipping method:

    • Go to Stores > Configuration > Sales > Delivery Methods
    • Find ThanksEasy Free Shipping and set Enabled = Yes
  2. Then configure the offer:

    • Go to Stores > Configuration > Moogento > ThanksEasy > General
    • Set Discounts: Enable time-limit on free shipping? = Yes
    • Set Discounts: Time limit = number of hours the offer remains valid (default 1)
  3. Save config

Notes

  • When the time limit expires, the free shipping is automatically removed from the cart and product prices revert to normal
  • The countdown affects both the fullscreen popup offer and the page-base inline blocks simultaneously

Set up Google Analytics UTM tracking

Every product link on the success page can carry UTM parameters so you can measure which offer generates revenue.

How to set it up

  1. Go to: Stores > Configuration > Moogento > ThanksEasy > Setup: Google Analytics

  2. Set:

    • General: utm_source - identifies ThanksEasy traffic (default: thankseasy)
    • General: utm_medium - identifies the link type (default: cta)
    • Promo products: utm_campaign - campaign name for discounted product clicks (default: TX pro)
    • Non-promo products: utm_campaign - campaign name for non-discounted product clicks (default: TH reg)
  3. Save config

Notes

  • UTM settings are global (not per store view)
  • Changes only apply to links generated for new orders - existing cached pages are not affected

Features reference

Confetti animation

  • Plays a falling-confetti animation on page load to celebrate the purchase
  • Toggle at: Stores > Configuration > Moogento > ThanksEasy > Design: Thanks Page > Design: General > Show: Confetti
  • Config path: moogento_thankseasy/moo/general_show_animation
  • Works on Luma, Porto, and Hyvä themes

Page background

  • Supports three modes: Full (single image or built-in ThanksEasy design), Tiled (repeating pattern), and Color (solid hex colour)
  • Custom image upload available for both full and tiled modes; accepted formats: PNG, GIF, JPG, JPEG
  • Config path: moogento_thankseasy/moo/general_background_yn
  • On Hyvä, background mode values are stored as strings (full, tiled, color) - do not re-save this field from a non-Hyvä admin session if the value has been customised for Hyvä compatibility

Custom CSS

  • Paste arbitrary CSS into Design: Thanks Page > Design: General > Custom CSS to override colours, fonts, or layout without editing template files
  • Config path: moogento_thankseasy/moo/general_custom_css
  • The config field includes examples for changing countdown timer colours and background-image behaviour

Offer price floor and quantity cap

  • Minimum offered price (% of current price) - set a floor as a percentage of the product's current price to prevent offers that are too aggressive (e.g. 50 blocks offers below half price). Set to 0 to disable. Config path: moogento_thankseasy/general/min_price_floor_pct
  • Maximum quantity per ThanksEasy offer - caps how many units are included in a single offer (default 1). Raise only for qty-multiplier promotions. Config path: moogento_thankseasy/general/max_offered_qty
  • Both fields are under Stores > Configuration > Moogento > ThanksEasy > General

Attribute-aware product filtering

  • Filter by any product attribute in the Fullscreen Popup Offer, Page-base Section 1, and Page-base Section 2 groups. In the page sections it limits the products offered; in the popup it limits which ordered products trigger an offer
  • The Value cell adapts automatically to the attribute you select: dropdown, multiselect, and boolean attributes show a dropdown of that attribute's real option labels; text-like attributes keep a text box with a type hint and example values underneath
  • Media and image attributes never appear in the attribute picker
  • If a previously selected option is later deleted from the attribute, the field shows "Current: {value} (no longer an option)" so you know to pick a replacement
  • Config paths: moogento_thankseasy/popup/attribute_filter, moogento_thankseasy/moo/base1_attribute_filter, moogento_thankseasy/moo/base2_attribute_filter

Guest account creation prompt (Pro)

  • Shows a dismissible card on the success page inviting guest customers to create an account
  • Uses Magento's built-in checkout/account/delegateCreate flow - no custom data collection
  • Configurable: position (top/bottom), headline, sub-copy, up to three benefit bullet points, button label, and dismiss link label
  • Config path: moogento_thankseasy/accountprompt/*
  • Requires a Pro plan license; only renders for guest customers

Instant Buy button labels

  • The buy button label differs based on whether Instant Purchase is available for the customer
  • Buy button label: Instant Buy - shown when Instant Purchase is enabled (e.g. "Instant Purchase", "Buy Now")
  • Buy button label: Add to Cart - shown when Instant Purchase is not available (e.g. "Add to Cart", "Get It!")
  • Config path: moogento_thankseasy/general/button_text and moogento_thankseasy/general/button_text_not_instant

Live preview

  • Enter any order increment ID in Design: Preview > Preview order id to load the thank-you page for that order without navigating through checkout
  • Useful for checking layout and copy changes before customers see them

Advanced configuration

TrackEasy integration

What it does

When TrackEasy is installed and enabled, ThanksEasy embeds a tracking link and optionally a QR code directly in the Delivered By tile. Customers can scan the QR code on mobile to open the TrackEasy tracking page without having to search their email for a tracking link.

Setup

  1. Install and enable the TrackEasy module (sold separately)
  2. In ThanksEasy config, go to Design: Thanks Page > Design: Order Details Section
  3. Set Show section: Tracking = Yes
  4. Set Include: TrackEasy QR code = Yes to add the QR code alongside the tracking link
  5. Set DBD tools: Track/QR in Delivered By = Yes to show the tracking icon on the Delivered By tile

Notes

  • If TrackEasy is not installed, the tracking icon falls back to Magento's standard order-tracking/guest-form link
  • QR codes are generated from an external image service, so the store needs outbound HTTPS to display them
  • When ShipperHQ is installed alongside TrackEasy with the ShipperHQ bridge enabled, the Delivered By date is sourced from the ShipperHQ selected delivery date automatically - no additional ThanksEasy configuration is needed

Swissup Sold Together integration

ThanksEasy can render a Sold Together block (from Swissup's Sold Together extension) as the content for a page-base section. This is configured by selecting the Sold Together block type when setting up Section 1 or Section 2 - no additional settings are required beyond having the Swissup module installed and configured with product associations.


Other pages in this guide