StarApps Variant Image

StarApps Variant Image Logo

Built for Shopify

StarApps Variant Image

Rating

50

%

Recommended

(

1

reviews

)

Pricing

Free plan available. Free trial available.

Developer

Launched

28-Jul-17

StarApps Variant Image Logo

Built for Shopify

StarApps Variant Image

Rating

50

%

Recommended

(

1

reviews

)

Pricing

Free plan available. Free trial available.

Developer

Launched

28-Jul-17

StarApps Variant Image Logo

Built for Shopify

StarApps Variant Image

Rating

50

%

Recommended

(

1

reviews

)

Pricing

Free plan available. Free trial available.

Developer

Launched

28-Jul-17

Auto-assign multiple variant images. Clean variant image gallery. Show only relevant product images.

StarApps Variant Image Automator shows multiple variant images of the selected variant to improve UX and conversions. Assigning variant images manually is no longer needed—just organize product images by variant, & the app groups variant image sets. We preserve your theme’s variant image gallery layout. Supports multiple images per variant, advanced variant options, all varient image layouts, image variant zoom, etc. Easily migrate from Rubik, VSlide, Variant Image Wizard, or SC Product Options.

Categories:

Image gallery, Product variants

Integrations:

Show multiple variant images instantly on variant selection to boost conversion, Automatically assigns multiple images per variant with no manual image tagging, Integrates with your theme’s variant image gallery, zoom & layout - no slowdown, Supports color swatch, 3D, varient image zoom, advanced variant options, videos, Works with product images in all themes, landing page builders and custom themes

Show multiple variant images instantly on variant selection to boost conversion, Automatically assigns multiple images per variant with no manual image tagging, Integrates with your theme’s variant image gallery, zoom & layout - no slowdown, Supports color swatch, 3D, varient image zoom, advanced variant options, videos, Works with product images in all themes, landing page builders and custom themes

Languages:

English

English

Filter Reviews

Operator reports

50

%

Recommended

(

1

reviews

)
Photo of Reviewer Dan N.

Dan N.

Role:

E-commerce Manager

Category:

Fashion & Apparel

Shopify Plan:

Plus

Overall satisfaction

Neutral

Oct 16, 2024

Years of use:

1-2 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

Yes

Importance:

Critical for me to do my job

What exceeded expectations

We installed the app for some clients to show multiple images per variant. Sometimes we code this but since we found this app it is a gamechanger.

What was disappointing

Maybe a faster rate of response to our tickets. But overall, we are pretty happy with the app.

Photo of Reviewer Dan N.

Dan N.

Role:

E-commerce Manager

Category:

Fashion & Apparel

Shopify Plan:

Plus

Overall satisfaction

Neutral

Oct 16, 2024

Years of use:

1-2 years

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

Yes

Importance:

Critical for me to do my job

What exceeded expectations

We installed the app for some clients to show multiple images per variant. Sometimes we code this but since we found this app it is a gamechanger.

What was disappointing

Maybe a faster rate of response to our tickets. But overall, we are pretty happy with the app.

Related Apps

import * as React from "react" type Props = { name: string slug: string description: string image: string developer: string categories: string pricing: string launchedAt: string dateModified: string ratingValue: number ratingCount: number faqQ1: string faqA1: string faqQ2: string faqA2: string faqQ3: string faqA3: string faqQ4: string faqA4: string faqQ5: string faqA5: string } export function SchemaMarkup(props: Props) { const { name, slug, description, image, developer, categories, pricing, launchedAt, dateModified, ratingValue, ratingCount, faqQ1, faqA1, faqQ2, faqA2, faqQ3, faqA3, faqQ4, faqA4, faqQ5, faqA5 } = props const scriptContent = ` (function () { var ORIGIN = window.location.origin; var SAT = { "Very Satisfied": 100, "Neutral": 50, "Not Satisfied": 0 }; var AGG_NOTE = "Percentage of vetted Shopify merchants and agency operators who recommend this app, based on first-party reviews collected by app store research."; function read(root, key) { if (!root) return ""; var el = root.querySelector('[data-k="' + key + '"]'); return el ? el.textContent.trim() : ""; } function iso(v) { if (!v) return null; var d = new Date(v); return isNaN(d) ? null : d.toISOString().slice(0, 10); } function notes(text) { return { "@type": "ItemList", "itemListElement": [{ "@type": "ListItem", "position": 1, "name": text }] }; } var root = document.getElementById("asr-seo-data"); if (!root) return; var NAME = read(root, "name"); var SLUG = read(root, "slug"); if (!NAME || !SLUG) return; var PAGE_URL = ORIGIN + "/shopify-app-reviews/" + SLUG; function collectReviews() { var out = []; Array.prototype.forEach.call( document.querySelectorAll(".asr-review-seo"), function (n) { var author = read(n, "author"); var pos = read(n, "positive"); var neg = read(n, "negative"); if (!author || (!pos && !neg)) return; var r = { "@type": "Review", "author": { "@type": "Person", "name": author }, "itemReviewed": { "@id": PAGE_URL + "#app" } }; var d = iso(read(n, "date")); if (d) r.datePublished = d; var s = read(n, "satisfaction"); if (s && SAT.hasOwnProperty(s)) { r.reviewRating = { "@type": "Rating", "ratingValue": String(SAT[s]), "bestRating": "100", "worstRating": "0", "alternateName": s }; } if (pos) r.positiveNotes = notes(pos); if (neg) r.negativeNotes = notes(neg); out.push(r); } ); return out; } function buildGraph(reviews) { var app = { "@type": "SoftwareApplication", "@id": PAGE_URL + "#app", "name": NAME, "url": PAGE_URL, "applicationCategory": "BusinessApplication", "operatingSystem": "Web (Shopify)" }; var v; if ((v = read(root, "description"))) app.description = v; if ((v = read(root, "image"))) app.image = v.replace(/&/g, "&"); if ((v = read(root, "developer"))) app.author = { "@type": "Organization", "name": v }; if ((v = read(root, "categories"))) app.keywords = v; if ((v = read(root, "pricing"))) { app.offers = { "@type": "Offer", "price": "0", "priceCurrency": "USD", "description": v }; } if ((v = iso(read(root, "launchedAt")))) app.datePublished = v; if ((v = iso(read(root, "dateModified")))) app.dateModified = v; if (reviews.length) app.review = reviews; var rv = read(root, "ratingValue"); var rc = parseInt(read(root, "ratingCount"), 10); if (reviews.length && rv && rc > 0) { app.aggregateRating = { "@type": "AggregateRating", "ratingValue": String(parseFloat(rv)), "bestRating": "100", "worstRating": "0", "ratingCount": String(rc), "description": AGG_NOTE }; } var graph = [app]; var faq = []; for (var i = 1; i <= 5; i++) { var q = read(root, "faqQ" + i); var a = read(root, "faqA" + i); if (q && a) { faq.push({ "@type": "Question", "name": q, "acceptedAnswer": { "@type": "Answer", "text": a } }); } } if (faq.length) { graph.push({ "@type": "FAQPage", "@id": PAGE_URL + "#faq", "mainEntity": faq }); } graph.push({ "@type": "BreadcrumbList", "@id": PAGE_URL + "#breadcrumb", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": ORIGIN + "/" }, { "@type": "ListItem", "position": 2, "name": "Shopify App Reviews", "item": ORIGIN + "/shopify-app-reviews" }, { "@type": "ListItem", "position": 3, "name": NAME, "item": PAGE_URL } ] }); return graph; } function build() { var reviews = collectReviews(); var old = document.getElementById("asr-jsonld"); if (old && old.dataset.count === String(reviews.length)) return; if (old) old.remove(); var s = document.createElement("script"); s.type = "application/ld+json"; s.id = "asr-jsonld"; s.dataset.count = String(reviews.length); s.textContent = JSON.stringify({ "@context": "https://schema.org", "@graph": buildGraph(reviews) }); document.head.appendChild(s); } if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", build); } else { build(); } [300, 900, 2000].forEach(function (ms) { setTimeout(build, ms); }); })(); ` return ( <> {/* HIDDEN DIV – provjeri da li je ID tačan */} {/* SCRIPT TAG – OBAVEZNO zatvoren */} </> ) } SchemaMarkup.defaultProps = { name: "Naziv aplikacije", slug: "slug-aplikacije", description: "", image: "", developer: "", categories: "", pricing: "", launchedAt: "", dateModified: "", ratingValue: 0, ratingCount: 0, faqQ1: "", faqA1: "", faqQ2: "", faqA2: "", faqQ3: "", faqA3: "", faqQ4: "", faqA4: "", faqQ5: "", faqA5: "" }