Skip to main content

Claude/ChatGPT Prompt to Build a High-Converting Product Page

Generate a high-converting product detail page: gallery, trust signals, variant selectors, reviews, and cross-sells for any store and framework.

Fill in the placeholders

Edit the values, then copy your finished prompt.

Your Prompt
prompt.txt
Design a high-converting product detail page for fashion e-commerce.

Product type: clothing (multiple sizes and colors)
Average price: $45-120
Current conversion: 3.2% (industry avg is 4-5%)

**Industry Design Rules (E-Commerce Product Page):**
- Pattern: Image gallery (left) + product info (right) above fold, details/reviews/related below
- Style Priority: Visual-first, scannable, trust-heavy — user decides in <10 seconds
- Color Mood: Clean white background for product focus, brand accent for CTA only, star-yellow for reviews
- Typography: Bold for price, medium for product name, regular for descriptions, small for specs
- Key Effects: Image zoom on hover, smooth variant switching (no page reload), sticky add-to-cart on mobile scroll
- Anti-Patterns: DO NOT autoplay video. NO tiny product images. NO hiding the price. NO making "Add to Cart" secondary color. NO pop-ups blocking the product view.

Generate:
1. **Image gallery** — 5-8 per product images, thumbnails, zoom, video support, mobile swipe carousel
2. **Product info** — title, price (with compare-at price if sale), variant selectors (color/size with visual swatches)
3. **Trust signals** — reviews summary, shipping info, return policy, payment badges — all above fold
4. **Buy box** — quantity selector, Add to Cart (primary), Buy Now (secondary), wishlist heart
5. **Product details** — tabbed: Description, Specifications, Size Guide, Shipping Info
6. **Reviews section** — star distribution bar, photo reviews, verified purchase badges, sorting
7. **Cross-sells** — "Frequently bought together" bundle + "You may also like" carousel
8. **Next.js + Tailwind CSS code** for the buy box with variant selector and sticky mobile CTA

What this prompt does

This prompt generates a full product detail page architecture, not just a layout sketch. It takes your store type, product category, price point, and current conversion rate as inputs, then produces all eight sections a high-intent buyer needs to make a decision: image gallery, buy box, trust signals, tabbed details, reviews, and two cross-sell patterns. Every structural decision in the template is deliberate — the gallery-left / info-right split, the sticky mobile CTA, the constraint against hiding price or making Add to Cart secondary.

The framework parameter is what makes it actionable. You get working code for the buy box with variant switching and sticky mobile behavior, not a wireframe description. The anti-pattern list is embedded directly in the prompt, which means the model is explicitly instructed to avoid the most common conversion killers — autoplay video, tiny images, pop-ups over the product, CTA de-emphasis — rather than discovering them as an afterthought.

The template is built around a sub-10-second decision window, which is realistic for product pages. Trust signals (reviews summary, shipping, return policy, payment badges) appear above the fold by explicit instruction, not as an afterthought in the footer.

When to use it

  • You are building a new product page from scratch and want a complete component checklist before writing a line of code.
  • Your current conversion rate is known and you want to use it as context so the model can calibrate which trust and urgency elements to emphasize.
  • You are working in a specific framework (Alpine.js, React, Livewire, Vue) and need the buy box interaction logic scaffolded correctly.
  • You are auditing an existing page and want a reference architecture to compare against.
  • You need to brief a designer or developer with a concrete spec, not a vague "make it convert better" request.
  • You are launching a sale and need the compare-at price and urgency elements wired into the variant selector output.

Example output

For store_type: outdoor gear, product_type: hiking boots, avg_price: $149, current_cvr: 1.8%, image_count: 8, framework: Alpine.js:

<!-- Buy Box — Alpine.js with sticky mobile CTA -->
<div x-data="{ size: null, qty: 1, stickyVisible: false }"
     @scroll.window="stickyVisible = window.scrollY > 400">

  <!-- Variant selector: visual swatches -->
  <div class="size-grid">
    <template x-for="s in ['8','9','10','11','12']">
      <button :class="{ 'ring-2 ring-brand': size === s }"
              @click="size = s" x-text="s"></button>
    </template>
  </div>

  <!-- Primary CTA -->
  <button class="bg-brand text-white w-full py-4 text-lg font-bold"
          :disabled="!size">Add to Cart — $149</button>

  <!-- Sticky mobile CTA -->
  <div x-show="stickyVisible"
       class="fixed bottom-0 inset-x-0 bg-white border-t p-3 md:hidden">
    <button class="bg-brand text-white w-full py-3">Add to Cart</button>
  </div>
</div>

The reviews section renders a star-distribution bar with photo reviews sorted by recency, and the "Frequently bought together" section outputs a bundle component with placeholder SKU slots you populate with your actual related products.

Pro tips

  • Pass avg_price and current_cvr with real numbers, not placeholders. The model uses them as context to weight emphasis — a $149 hiking boot at 1.8% CVR will prompt it to foreground return policy and payment badges more than a $12 impulse item would. The template does not hardcode this logic, but the model responds to meaningful inputs differently than it does to dummy values like "$X" or "N%".
  • Set current_cvr honestly. Including your actual rate gives the model a concrete brief: a low-CVR page signals that trust is the likely friction point; a healthy-CVR page opens up more room to optimize for AOV via the cross-sell sections. The quality of the output brief scales with the specificity of your inputs.
  • Use framework: Livewire if your stack is Laravel. The variant switcher and quantity selector output will use wire:model bindings rather than JavaScript event listeners, which slots directly into existing Livewire components without a build step.
  • Run the image gallery section separately if you have a custom image pipeline. If you use Spatie Media Library, Cloudinary, or Imgix, re-prompt with just section 1 and your image transformation API so the gallery code matches your actual URL structure rather than generic <img src> tags.
  • Pair with a real reviews dataset before stakeholder review. The reviews section output is structurally correct but uses placeholder data. Feed it 5–10 actual reviews with star ratings and verified badges so the photo review grid renders with real content when you are showing it to a client or development team.

Frequently Asked Questions

Will this prompt generate mobile-specific code or just a responsive desktop layout?
The template explicitly calls for a sticky add-to-cart on mobile scroll and a swipe carousel for the image gallery. The buy box code output includes a fixed-bottom CTA that appears after the user scrolls past the main buy box — this is mobile-targeted behavior, not just responsive CSS. The desktop and mobile layouts are architecturally different in the output, not just fluid columns.
Can I use this for digital products or is it built around physical goods?
The template includes a Size Guide tab and shipping info, which are physical-product concepts. For digital products (courses, templates, SaaS), replace `product_type` with your digital product category and note in the prompt that there is no shipping or size variant. The variant selector will then output license tiers or format options (PDF, Figma, etc.) instead of color/size swatches. The reviews and trust signal sections transfer directly.
The prompt asks for a framework — what if I am not using a JavaScript framework at all?
Set `framework: vanilla JS` and the buy box output will use plain DOM manipulation with querySelector and addEventListener. If you are in a Blade/PHP context without a JS build step, `framework: Alpine.js` gives you the lightest option — it is a CDN script tag, not a build dependency, and the output will use x-data attributes that work in any HTML template including Laravel Blade.
Engr Mejba Ahmed

Need this built for real?

Engr Mejba Ahmed

AI Developer · Software Engineer

I'm Mejba — I design and ship production AI systems, automations, and full-stack apps. If you want this turned into a working solution for your team, let's talk.

More in E-commerce UI Prompts

Engr Mejba Ahmed

Engr Mejba Ahmed

AI assistant · trained on my work

👋

Hey there!

Quick Actions

WhatsApp Direct line to me

Chat on WhatsApp

+880 1723 741224 · Replies within the hour on working days

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

mejba.13@gmail.com

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support