Aliexpress : The Bundle Deal Problem

Tired of AliExpress forcing you into “Bundle Deals” when you just want to buy a single item? This free userscript intercepts those sneaky links and redirects you straight to the actual product page.

The Bundle Deal Problem

AliExpress has been increasingly pushing shoppers toward “Bundle Deals” — grouped offers that look attractive but prevent you from purchasing a single item at its regular price. When you click on a product from search results, you land on an intermediate page that pressures you into adding more items to your cart.

Here’s what a bundle link looks like:

aliexpress.com/ssr/300000512/BundleDeals2?productIds=1005008154245742...

Instead of the direct product link:

aliexpress.com/item/1005008154245742.html

This dark pattern wastes your time and tricks you into spending more than you intended. Let’s fix that.

The Solution: AliExpress Bundle Bypass

This userscript automatically detects Bundle Deal links and converts them into direct product page links. No more hunting for workarounds — the script handles everything silently in the background.

Features

  • Instant redirect — If you land on a Bundle page, you’re immediately redirected to the actual product
  • Link rewriting — Bundle links in search results are converted in real-time as the page loads
  • Click interception — Even if a link wasn’t converted, clicks are caught and redirected
  • Debug panel — A visual overlay shows how many links were detected and fixed
  • Visual indicators — Converted links get a green outline for confirmation

Installation Guide

The script works with any userscript manager extension. Follow the instructions for your browser below.

🟡 Google Chrome

  1. Install Tampermonkey from the Chrome Web Store
  2. Click the Tampermonkey icon in your browser toolbar
  3. Select “Create a new script…”
  4. Delete the default template code
  5. Paste the script code (see below)
  6. Press Ctrl+S (or Cmd+S on Mac) to save
  7. Refresh AliExpress — the debug panel should appear in the top-right corner

🟠 Mozilla Firefox

  1. Install Violentmonkey or Greasemonkey from Firefox Add-ons
  2. Click the extension icon in your toolbar
  3. Click the “+” button to create a new script
  4. Paste the script code
  5. Save with Ctrl+S
  6. Navigate to AliExpress and test it out

🔵 Microsoft Edge

  1. Install Tampermonkey for Edge from the Microsoft Edge Add-ons store
  2. Click the Tampermonkey icon
  3. Select “Create a new script…”
  4. Paste the code and save

🦁 Brave Browser

Brave is Chromium-based, so the process is identical to Chrome. Install Tampermonkey from the Chrome Web Store — it’s fully compatible with Brave.

🍎 Safari (macOS)

Safari requires a paid extension for userscripts. Your options are:

The Script

Copy the entire code below and paste it into your userscript manager:

// ==UserScript==
// @name         AliExpress Bundle Bypass
// @namespace    https://github.com/user/aliexpress-bundle-bypass
// @version      3.1.0
// @description  Bypass bundle deals and go directly to product pages
// @author       Community
// @match        *://*.aliexpress.com/*
// @match        *://*.aliexpress.ru/*
// @match        *://*.aliexpress.us/*
// @grant        GM_addStyle
// @run-at       document-end
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    const processedLinks = new WeakSet();
    let isScanning = false;
    let scanTimeout = null;
    let scannedCount = 0;
    let foundCount = 0;
    let convertedCount = 0;

    // Debug panel
    function createDebugPanel() {
        const panel = document.createElement('div');
        panel.id = 'bundle-bypass-debug';
        panel.innerHTML = `
            <div style="
                position: fixed;
                top: 10px;
                right: 10px;
                background: #1a1a2e;
                color: #0f0;
                font-family: monospace;
                font-size: 12px;
                padding: 10px 15px;
                border-radius: 8px;
                z-index: 999999;
                max-width: 350px;
                box-shadow: 0 4px 20px rgba(0,255,0,0.3);
                border: 1px solid #0f0;
            ">
                <div style="font-weight: bold; margin-bottom: 8px; color: #0ff;">
                    ⚡ BUNDLE BYPASS v3.1
                </div>
                <div id="bb-status">Active ✓</div>
                <div id="bb-stats" style="margin-top: 8px;">
                    Scanned: <span id="bb-scanned">0</span> |
                    Bundles: <span id="bb-found">0</span> |
                    Fixed: <span id="bb-converted">0</span>
                </div>
                <button id="bb-close" style="position: absolute; top: 5px; right: 10px; background: none; border: none; color: #f00; cursor: pointer;">✕</button>
            </div>
        `;
        return panel;
    }

    function updateStats() {
        const el1 = document.getElementById('bb-scanned');
        const el2 = document.getElementById('bb-found');
        const el3 = document.getElementById('bb-converted');
        if (el1) el1.textContent = scannedCount;
        if (el2) el2.textContent = foundCount;
        if (el3) el3.textContent = convertedCount;
    }

    // Redirect if already on a bundle page
    const currentUrl = window.location.href;
    if (currentUrl.includes('BundleDeals')) {
        const match = currentUrl.match(/productIds=(\d+)/);
        if (match) {
            window.location.replace(`https://www.aliexpress.com/item/${match[1]}.html`);
            return;
        }
    }

    function extractProductId(url) {
        let match = url.match(/productIds=(\d+)/);
        if (match) return match[1];
        match = url.match(/x_object_id[%3A:]+(\d+)/i);
        if (match) return match[1];
        return null;
    }

    function scanLinks() {
        if (isScanning) return;
        isScanning = true;

        document.querySelectorAll('a[href*="BundleDeals"]').forEach(link => {
            if (processedLinks.has(link)) return;
            processedLinks.add(link);
            scannedCount++;

            const productId = extractProductId(link.href);
            if (productId) {
                foundCount++;
                link.dataset.originalBundle = link.href;
                link.href = `https://www.aliexpress.com/item/${productId}.html`;
                link.classList.add('bb-converted');
                convertedCount++;
            }
        });

        updateStats();
        isScanning = false;
    }

    function debouncedScan() {
        if (scanTimeout) clearTimeout(scanTimeout);
        scanTimeout = setTimeout(scanLinks, 200);
    }

    // Click interceptor as fallback
    document.addEventListener('click', function(e) {
        const link = e.target.closest('a');
        if (!link || !link.href.includes('BundleDeals')) return;

        const productId = extractProductId(link.href);
        if (productId) {
            e.preventDefault();
            e.stopPropagation();
            const url = `https://www.aliexpress.com/item/${productId}.html`;
            link.target === '_blank' ? window.open(url, '_blank') : window.location.href = url;
        }
    }, true);

    // Mutation observer for dynamically loaded content
    const observer = new MutationObserver(mutations => {
        if (mutations.some(m => m.target.closest('#bundle-bypass-debug'))) return;
        debouncedScan();
    });

    // Inject CSS for visual feedback
    const style = document.createElement('style');
    style.textContent = `
        a.bb-converted { outline: 3px solid #0f0 !important; outline-offset: 2px !important; }
        a[href*="BundleDeals"]:not(.bb-converted) { outline: 3px dashed #ff0 !important; }
    `;
    document.head.appendChild(style);

    // Initialize
    function init() {
        document.body.appendChild(createDebugPanel());
        document.getElementById('bb-close').onclick = () => 
            document.getElementById('bundle-bypass-debug').remove();
        scanLinks();
        observer.observe(document.body, { childList: true, subtree: true });
        let polls = 0;
        const id = setInterval(() => { scanLinks(); if (++polls >= 5) clearInterval(id); }, 2000);
    }

    document.readyState === 'loading' 
        ? document.addEventListener('DOMContentLoaded', init) 
        : init();
})();

How to Use

Once installed, the script runs automatically on all AliExpress pages. You’ll notice:

  • A debug panel in the top-right corner showing real-time statistics
  • A green outline around links that have been successfully converted
  • A yellow dashed outline around Bundle links that haven’t been processed yet (rare)

You can close the debug panel by clicking the red button. The script will continue running in the background.

Troubleshooting

The debug panel doesn’t appear

  • Make sure the script is enabled in your userscript manager
  • Hard refresh the page with Ctrl+Shift+R (or Cmd+Shift+R on Mac)
  • Check that the script is set to run on aliexpress.com

Counters stay at 0

This is normal if the current page doesn’t contain any Bundle links. Try searching for a product to see the script in action — Bundle Deals typically appear in search results.

The script stopped working

AliExpress frequently updates their website. If the script breaks, open DevTools (F12), inspect a product card link, and check if they still use the BundleDeals pattern in URLs. If the format changed, the script will need to be updated.

Disabling the Debug Panel

If you find the overlay distracting after confirming the script works, you can disable it permanently:

  1. Open the script in your userscript manager
  2. Find the init() function near the bottom
  3. Delete or comment out this line: document.body.appendChild(createDebugPanel());
  4. Save the script

How It Works

The script uses three layers of protection to ensure Bundle links are bypassed:

  1. Instant redirect — If you’re already on a Bundle page, it extracts the product ID and redirects immediately
  2. DOM scanning — It scans all links on the page and rewrites Bundle URLs to direct product URLs
  3. Click interception — As a fallback, it captures clicks on Bundle links and redirects them

A MutationObserver watches for dynamically loaded content (infinite scroll, lazy loading) and processes new links as they appear.


Contributing

Found a bug or want to improve the script? Feel free to fork, modify, and share. If AliExpress changes their URL patterns, the key function to update is extractProductId().


Tested on Chrome 120+, Firefox 121+, Edge 120+, Brave 1.61+, and Safari 17+. Last updated: January 2025. Licensed under MIT.

Leave a Reply

Your email address will not be published. Required fields are marked *