Snowball: Affiliate Marketing

Snowball: Affiliate Marketing Logo

Built for Shopify

Snowball: Affiliate Marketing

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $249/month

Developer

Launched

22-Dec-20

Snowball: Affiliate Marketing Logo

Built for Shopify

Snowball: Affiliate Marketing

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $249/month

Developer

Launched

22-Dec-20

Snowball: Affiliate Marketing Logo

Built for Shopify

Snowball: Affiliate Marketing

Rating

100

%

Recommended

(

2

reviews

)

Pricing

From $249/month

Developer

Launched

22-Dec-20

The word-of-mouth marketing platform. Automate your affiliate, referral, and influencer programs.

Ready to improve your customer acquisition costs? Social Snowball makes it easy to build, launch, and automate your word-of-mouth marketing programs. Whether you want to turn your customers into revenue-generating affiliates or launch a TikTok influencer program, Social Snowball is the control center that lets you configure programs, track referral sales, send commission rewards, save content, and automate it all.

Categories:

Affiliate programs, Discounts

Integrations:

Checkout, Customer accounts, Instagram, Klaviyo, Knocommerce, TikTok Shop, Tremendous, Zapier

Checkout, Customer accounts, Instagram, Klaviyo, Knocommerce, TikTok Shop, Tremendous, Zapier

Languages:

English

English

Filter Reviews

Operator reports

100

%

Recommended

(

2

reviews

)
Photo of Reviewer Isaac L.

Isaac L.

Role:

Other

Category:

Food & Drink

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Nov 24, 2024

Years of use:

Less then 1 year

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

No

Importance:

Valuable but not essential

What exceeded expectations

The best customer support. They worked beyond my expectations.

What was disappointing

Because I didn't get rid of all the codes all together and switch to smart links only, we had rampant code leaks and had to switch.

Photo of Reviewer Isaac L.

Isaac L.

Role:

Other

Category:

Food & Drink

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Nov 24, 2024

Years of use:

Less then 1 year

Relationship with this product:

I both used it and influenced the buying decisions

Still use this tool:

No

Importance:

Valuable but not essential

What exceeded expectations

The best customer support. They worked beyond my expectations.

What was disappointing

Because I didn't get rid of all the codes all together and switch to smart links only, we had rampant code leaks and had to switch.

Photo of Reviewer Patrick F.

Patrick F.

Role:

Owner

Category:

Toys & Games

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Oct 2, 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:

Valuable but not essential

What exceeded expectations

Easy to track influencers Easy to set up affiliate programs and email flows Robust feature set

What was disappointing

Not as customizable as I would have liked and a bit too expensive for the product itself. Would like to see more optionality and functionality to justify the cost of the product.

Photo of Reviewer Patrick F.

Patrick F.

Role:

Owner

Category:

Toys & Games

Shopify Plan:

Plus

Overall satisfaction

Very Satisfied

Oct 2, 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:

Valuable but not essential

What exceeded expectations

Easy to track influencers Easy to set up affiliate programs and email flows Robust feature set

What was disappointing

Not as customizable as I would have liked and a bit too expensive for the product itself. Would like to see more optionality and functionality to justify the cost of the product.

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: "" }