Magento Marketing Tools — Related Products, Upsells, Cross-Sells and Email Reminders
In this tutorial, you'll learn Magento marketing tools: setting up product relations (related products, up-sells, cross-sells), email reminders for abandoned carts and wishlists, managing product reviews, URL rewrites for SEO, search terms, and analyzing marketing reports.
What You'll Learn
- Setting up related products, up-sells, and cross-sells per product
- Configuring the "Customers who bought this also bought" rule
- Creating email reminder rules for abandoned carts and wishlists
- Managing product reviews with moderation and rich snippets
- Creating custom URL rewrites for SEO
- Analyzing search terms and configuring search synonyms
- Using marketing reports to track performance
Why It Matters
Marketing is how you convert browsers into buyers. Related products increase average order value. Abandoned cart emails recover lost revenue. Product reviews build trust and improve SEO. URL rewrites prevent broken links when products change. Understanding Magento's built-in marketing tools lets you run sophisticated promotions without expensive third-party extensions.
Real-World Use
An electronics store sees 60% of shoppers abandon their cart. An abandoned cart email sent 1 hour after abandonment recovers 12% of those carts, adding $15,000 per month. On product pages, cross-sells suggest batteries and cables (adds $8 per order). Up-sells suggest the premium model (adds $25 per order). Product reviews with rich snippets improve click-through rate from search results by 18%. URL rewrites ensure old product links redirect correctly after a catalog restructure.
Learning Path
flowchart LR A["Content Management"] --> B["Marketing Tools
You are here"]:::current B --> C["Theme Development"] C --> D["Layout XML & Templates"] classDef current fill:#38bdf8,color:#0f172a,stroke-width:2px
Product Relations
Magento provides three types of product-to-product relations. Each appears in a different place on the storefront and serves a different purpose.
Related Products appear on the product page. They are items the customer might be interested in alongside the current product. The customer can select related products and add them to the cart together with the main product.
Up-Sells appear on the product page, typically above the add-to-cart button. They encourage the customer to buy a higher-end version of the product they are viewing.
Cross-Sells appear in the shopping cart page. They suggest additional items the customer might want to add before checking out.
Setting Product Relations
Open a product in edit mode. Each relation has its own section.
Related Products:
Product: Canon EOS R6 Camera
Related Products tab > Add Related Products
Search: "Canon RF 24-105 lens"
Search: "SanDisk 128GB SD card"
Search: "Camera bag"
Check: Select these products
Rule: (optional) Check "Use Related Products Rule" for dynamic relations
This configuration appears on the frontend as:
Product: Canon EOS R6 Camera
Related Products:
- Canon RF 24-105 lens (+ Add to Cart checkbox)
- SanDisk 128GB SD card (+ Add to Cart checkbox)
- Camera bag (+ Add to Cart checkbox)
Up-Sells:
Product: Canon EOS R6 Camera
Up-Sells tab > Add Up-Sells
Search: "Canon EOS R5 Camera" (higher-end model)
Search: "Canon EOS R3 Camera" (professional model)
Cross-Sells:
Product: Canon EOS R6 Camera
Cross-Sells tab > Add Cross-Sells
Search: "Camera cleaning kit"
Search: "Extra battery pack"
Search: "Camera strap"
Dynamic Relations Rule
In addition to manually selected products, Magento can automatically show related products based on purchase history.
Products > Related Products tab
Use Related Products Rule: Yes
Configure the rule at Marketing > Promotions > Product Relations (Adobe Commerce).
The rule can use:
- Product attributes (same brand, same category)
- Purchase history (customers who bought this also bought)
- Price range similarity
Database Storage
Product relations are stored in three MySQL tables:
-- Related products
SELECT * FROM catalog_product_relation
WHERE parent_id = 123 AND relation_type = 'RELATION';
-- Up-sells
SELECT * FROM catalog_product_relation
WHERE parent_id = 123 AND relation_type = 'UP_SELL';
-- Cross-sells
SELECT * FROM catalog_product_relation
WHERE parent_id = 123 AND relation_type = 'CROSS_SELL';
Email Reminders
Email reminders are available in Adobe Commerce. They send automated emails triggered by customer behavior.
Creating an Email Reminder
- Go to Marketing > Communications > Email Reminders.
- Click Add Email Reminder.
- Configure:
Rule Information:
Name: Abandoned Cart - 1 Hour
Description: Send reminder 1 hour after cart abandonment
Status: Active
Assigned to: Website (select one or all)
From Date: 2026-01-01
To Date: 2026-12-31
Conditions (when to send):
If ALL conditions are TRUE:
Shopping Cart is Abandoned
AND Abandoned Cart Duration >= 1 hour
AND Cart Total >= 25
Actions (what to send):
Email Template: Abandoned Cart Reminder
Send Email To: Customer Email
Copy To: marketing@example.com
Send Email From: Store Email
Reminder Types
- Abandoned Cart — Customer added items but did not complete checkout
- Birthday — Customer's birthday (requires birthday attribute)
- Wishlist Shared — Customer shared their wishlist
- Product Review — Customer purchased but did not review
Sending Reminders
Reminders are queued and sent by cron:
# The cron job that processes email reminders
bin/magente cron:run --group email_reminder
Schedule the cron to run every 15 minutes for timely reminders.
Product Reviews
Product reviews let customers rate and review products. They build social proof and improve SEO with rich snippets.
Review Moderation
- Go to Marketing > User Content > Pending Reviews.
- Review each submission.
- Approve or reject.
Reviews include:
- Rating (1-5 stars, configurable per attribute)
- Summary (headline)
- Review text (detailed opinion)
- Customer name and email (hidden from public)
- Date submitted
Review Configuration
Configure reviews at:
Stores > Configuration > Catalog > Catalog
> Product Reviews
> Enable Reviews: Yes
> Allow Guest to Write Reviews: Yes/No
> Review Email Template: (optional notification)
Rich Snippets
Magento outputs structured data for product reviews:
<div itemscope itemtype="http://schema.org/Product">
<span itemprop="name">Canon EOS R6</span>
<div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
<span itemprop="ratingValue">4.5</span>
<span itemprop="reviewCount">127</span>
</div>
</div>
This markup helps Google show star ratings in search results.
URL Rewrites
URL rewrites manage the mapping between storefront URLs and Magento paths. They are essential for SEO.
Automatic Rewrites
Magento automatically creates URL rewrites when you:
- Create or rename a product (changes the URL key)
- Create or rename a category
- Change the category tree structure
These rewrites prevent broken links. The old URL automatically redirects to the new one.
Custom URL Rewrites
Create manual redirects for marketing campaigns or migrated content:
- Go to Marketing > SEO & Search > URL Rewrites.
- Click Add URL Rewrite.
- Configure:
Create URL Rewrite: Custom
Request Path: old-product-page (the URL being requested)
Target Path: products/new-product-slug (the destination)
Redirect: Permanent (301) or Temporary (302)
Description: Redirect from old product URL to new
301 (Permanent): Search engines transfer ranking from old URL to new. Use for permanent moves.
302 (Temporary): No ranking transfer. Use for seasonal redirects or A/B testing.
Viewing All Rewrites
The URL Rewrite grid shows all rewrites:
ID | Request Path | Target Path | Redirect Type | Store View
1 | old-product | new-product | 301 | Default
2 | summer-sale | /catalog/summer-collection | 301 | All
Search Terms
Search terms let you analyze what customers search for on your store.
- Go to Marketing > SEO & Search > Search Terms.
- View the search query grid:
Search Query | Count | Results
wireless headphones | 1,245 | 15
blue dress | 892 | 42
expensive | 345 | 0 (no results)
Redirecting Search Terms
If a search term returns no results, redirect it to a category or page:
- Open the search term.
- Set Redirect URL to:
Redirect URL: /catalogsearch/result/?q=wireless+earbuds
Display in Results: No
Search Synonyms (Adobe Commerce)
Create synonym groups so different search terms return the same results:
Marketing > SEO & Search > Search Synonyms
Synonym Group:
Terms: laptop, notebook, portable computer
Scope: All Store Views
A search for "notebook" now also returns products tagged "laptop."
Marketing Reports
Magento provides built-in marketing reports. Access them at Reports > Marketing.
Products in Cart: Shows which products are in active carts. Helps identify popular items.
Search Terms: Most searched terms. Use this data to create synonym groups and add missing products.
Abandoned Carts: Number and value of abandoned carts per day. Track recovery efforts.
Viewed Products: Most viewed products. Combine with low purchase rate to find items that need better presentation or pricing.
Bestsellers: Products ranked by quantity sold. Use for homepage featured sections.
Low Stock: Products approaching minimum stock levels. Prevents stockouts.
Order Total Report: Revenue by date range. Track campaign performance.
Reports > Marketing > Abandoned Carts
Date Range: Last 30 days
Filter: Subtotal > 0
Example output:
Total abandoned carts: 4,567
Total abandoned value: $182,680
Recovery rate target: 10% = $18,268 potential recovery
Common Mistakes
Not setting up product relations. Many merchants launch their store and never configure related products or cross-sells. This leaves easy revenue on the table. Always set up at least cross-sells for your top 20 selling products.
Using 302 redirects for permanent URL changes. A 302 redirect tells search engines the change is temporary, so they keep indexing the old URL. Use 301 for any permanent change. Only use 302 for truly temporary situations (seasonal campaigns).
Ignoring the pending reviews queue. Unmoderated reviews sit in the pending queue for weeks. Customers who took time to write a review feel ignored. Check the pending reviews queue weekly and approve or respond promptly.
Not analyzing search terms. Customers search for products you may not carry. Review search terms monthly to identify missing products, add synonym groups, or redirect failed searches to relevant categories. This directly improves conversion rate.
Sending too many email reminders. Sending an abandoned cart email 30 minutes after abandonment plus another at 24 hours is effective. Sending one every hour is spam. Configure reminder rules with reasonable delays and frequency limits.
Practice Questions
What is the difference between an up-sell and a cross-sell? Answer: An up-sell appears on the product page and encourages the customer to buy a higher-end or more expensive version of the current product. A cross-sell appears in the shopping cart and suggests complementary items the customer might add before checkout.
How does a 301 redirect differ from a 302 redirect in terms of SEO? Answer: A 301 redirect is permanent. Search engines transfer the ranking power (link equity) from the old URL to the new one and update their index. A 302 redirect is temporary. Search engines keep the old URL indexed and do not transfer ranking. Use 301 for permanent product URL moves.
What is the purpose of search synonyms in Magento? Answer: Search synonyms group related search terms so a search for any term in the group returns results matching all terms. For example, "laptop" and "notebook" are synonyms, so searching for "notebook" shows laptop products. This improves the search experience and reduces "no results" pages.
Challenge: Build a complete marketing Strategy for a fashion store's winter collection launch. Create: 1) Product relations: for each of 10 winter coats, add scarves as related products, premium coats as up-sells, and gloves as cross-sells, 2) An email reminder rule that sends an abandoned cart email 1 hour after abandonment with a 10% discount coupon, 3) A URL rewrite from /winter-collection to /collections/winter-2026 using a 301 redirect, 4) Analyze search terms from the last 30 days and create synonym groups for the top 10 terms, 5) Write a Magento PHP script that programmatically adds cross-sell relationships between two products using the
\Magento\Catalog\Model\ProductLink\ManagementAPI, 6) Export the marketing report data for abandoned carts and bestsellers from the past quarter using MySQL queries against thereporttables.
FAQ
Mini Project
Your task: Build a complete marketing toolkit for an electronics accessories store.
- Set up product relations for 10 products:
- For "Wireless Headphones ($79.99)": related = "Headphone Case ($19.99)", up-sell = "Premium Headphones ($149.99)", cross-sell = "USB Charger ($9.99)"
- For the remaining 9 products, create logical relations
- Create an email reminder rule:
- Abandoned carts over $30, send after 1 hour and again after 24 hours
- Template uses a {{< ilink "PHP" }} variable to include the customer's cart contents
- Manage reviews:
- Approve 3 pending reviews
- Reject 1 review with inappropriate content
- Verify rich snippet markup is present in the product page HTML
- Create URL rewrites:
- 301 redirect: /old-headphones → /wireless-headphones
- 302 redirect: /summer-sale → /summer-promotion (for the summer campaign)
- Analyze search terms from the search_query table:
- Identify the top 10 search terms
- Create 3 synonym groups
- Redirect 2 "no results" terms to relevant categories
- Write a Magento PHP function that uses
\Magento\Catalog\Model\ProductLink\Managementto add cross-sell links from a given product SKU to multiple target SKUs, and verify the relationships in the MySQLcatalog_product_relationtable.
What's Next
Now that you understand marketing tools, learn how to customize the storefront look and feel:
Continue to Lesson 21: Theme Development — Luma, blank theme, and theme.xml.
Related lessons:
- Sales Rules and Coupons — Promotions that drive email reminders
- Content Management — Widgets for marketing campaigns
- Theme Development — Customizing the storefront design
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro