Free Delivery on all orders!
Shop our Spring Bedding Plants
Discover our Houseplants
Discover our Herb & Vegetable Plants
Perfect plants greenhouse
Our plant quality promise

We believe that by delivering plants directly from our glasshouses at Perfect Plants straight to your home, ensures that you will receive a healthier plant than you would find in a shop or garden centre.

Each plant is picked on site every day, quality checked and then packed up carefully in our fully postage-tested plant packaging.

All our plants have a 30-day guarantee and no-fuss returns policy.

READ MORE
Plant blog
Your Story
Pet friendly plants
We want to hear your plant stories...

We welcome all kinds of plant stories, whether they be written, recorded, or drawn. Send us your favorite plant photographs and tell us the story behind the image.

What our customers say on Trustpilot:
Just added to your wishlist:
My Wishlist
You've just added this product to the cart:
Go to cart page
// GCLID Preservation Script for Shopify Variant and Checkout URLs (function () { // 1. Store GCLID in localStorage on initial landing const urlParams = new URLSearchParams(window.location.search); const gclid = urlParams.get("gclid"); if (gclid) { localStorage.setItem("gclid", gclid); } const storedGclid = localStorage.getItem("gclid"); if (!storedGclid) return; // 2. Append GCLID to all variant links const variantLinks = document.querySelectorAll('a[href*="variant="]'); variantLinks.forEach(link => { const url = new URL(link.href); url.searchParams.set("gclid", storedGclid); link.href = url.toString(); }); // 3. Append GCLID to Add-to-Cart buttons (if they redirect to cart) const cartButtons = document.querySelectorAll('a[href^="/cart"], button[data-cart-url]'); cartButtons.forEach(button => { if (button.tagName === 'A') { const url = new URL(button.href, window.location.origin); url.searchParams.set("gclid", storedGclid); button.href = url.toString(); } else if (button.dataset.cartUrl) { const url = new URL(button.dataset.cartUrl, window.location.origin); url.searchParams.set("gclid", storedGclid); button.dataset.cartUrl = url.toString(); } }); // 4. Append GCLID to checkout links const checkoutLinks = document.querySelectorAll('a[href^="/checkout"]'); checkoutLinks.forEach(link => { const url = new URL(link.href, window.location.origin); url.searchParams.set("gclid", storedGclid); link.href = url.toString(); }); })();