
Influencer Marketplace Integration
- 58 installs
- 41 repo stars
- Updated March 13, 2026
- finsilabs/awesome-ecommerce-skills
Connect to influencer platforms to discover creators, distribute briefs, track deliverables, and measure ROI across Instagram, TikTok, and YouTube.
About
Uses dedicated influencer platforms for discovery, brief distribution, deliverable tracking, and affiliate links in one system. A developer uses it when managing 10+ partnerships or moving influencer campaigns in-house.
- Guidance to choose the right influencer platform (Grin, Aspire, LTK)
- Consolidates discovery, briefs, tracking, and ROI in one workflow
Influencer Marketplace Integration by the numbers
- 58 all-time installs (skills.sh)
- Ranked #541 of 853 Sales & Marketing skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/finsilabs/awesome-ecommerce-skills --skill influencer-marketplace-integrationAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 58 |
|---|---|
| repo stars | ★ 41 |
| Last updated | March 13, 2026 |
| Repository | finsilabs/awesome-ecommerce-skills ↗ |
What it does
Connect to influencer platforms to discover creators, distribute briefs, track deliverables, and measure ROI across Instagram, TikTok, and YouTube.
Files
Influencer Marketplace Integration
Overview
Influencer marketing drives discovery and purchase intent for lifestyle products. Rather than managing partnerships in spreadsheets, dedicated influencer platforms handle discovery, brief distribution, deliverable tracking, affiliate link generation, and ROI measurement in one system. Most merchants can set this up without writing any code — the main effort is choosing the right platform and structuring your campaign workflow.
When to Use This Skill
- When managing more than 10 active influencer partnerships at once
- When influencer ROI is unmeasured or attribution is anecdotal
- When building a self-service affiliate portal for creator applications
- When needing to issue unique tracking links and discount codes at scale
- When transitioning from agency-managed influencer campaigns to in-house management
Core Instructions
Step 1: Choose the right influencer platform
| Platform | Best For | Shopify Integration | Price |
|---|---|---|---|
| GRIN | Mid-market DTC brands, deep ecommerce integration | Native Shopify + WooCommerce | $999+/mo |
| Aspire | Brands wanting a managed marketplace to discover creators | Shopify App | $500+/mo |
| LTK (rewardStyle) | Fashion, beauty, lifestyle brands selling through LTK's creator network | Shopify integration | Commission-based |
| Creator.co | Small brands, self-service | Shopify plugin | $199+/mo |
| Impact | Performance-focused, affiliate + influencer combined | All platforms via tracking pixel | $500+/mo |
| Shopify Collabs (free) | Shopify merchants starting with gifting/affiliate | Native Shopify | Free |
Start with Shopify Collabs if you are on Shopify — it is free, handles gifting and commission tracking natively, and scales to 50–100 creator partnerships before you need a paid platform.
Step 2: Set up your influencer program
---
Shopify with Shopify Collabs (free)
1. Go to Shopify Admin → Apps → Shopify Collabs 2. Install and open the Collabs app 3. Go to Settings → Program Details and configure:
- Commission rate (default 10%)
- Discount code for creators (unique code per creator for their followers)
- Brand description and application questions for your creator portal
4. Go to Collabs → Creators → Discover to browse and invite creators 5. When a creator accepts, Shopify Collabs automatically:
- Generates a unique affiliate link for the creator
- Creates a unique discount code (e.g.,
JANEDOE15) - Tracks orders attributed to the creator via the discount code
6. Creators manage their links and see their commission stats in a self-service portal 7. Payouts are processed manually or via PayPal/Stripe via Shopify Collabs
For more power: upgrade to GRIN or Aspire when you need campaign briefs, content approval workflows, and advanced analytics.
---
Shopify with GRIN
1. Install GRIN from the Shopify App Store 2. Connect GRIN to your Shopify store — GRIN imports your product catalog and order history 3. Go to GRIN → Campaigns → Create Campaign and configure:
- Campaign brief (product, key messages, required hashtags, forbidden content)
- Compensation type (gifting / flat fee / commission / hybrid)
- Deliverable requirements (1 reel + 2 stories, for example)
4. Go to GRIN → Creators → Discover to search by niche, follower count, engagement rate, and audience demographics 5. Send collaboration invites directly from GRIN 6. When a creator accepts, GRIN automatically:
- Generates unique UTM tracking links
- Creates a unique Shopify discount code
- Tracks clicks, orders, and revenue from each creator
7. Review and approve content submissions in GRIN → Content 8. Process payments in GRIN → Payments (integrates with PayPal and wire transfer)
---
WooCommerce
1. Install AffiliateWP for commission tracking ($149/yr) — it handles the affiliate link and discount code generation 2. For influencer discovery: use Modash, HypeAuditor, or Upfluence as standalone discovery tools that work independently of WooCommerce 3. Configure each influencer in AffiliateWP as an affiliate:
- Go to AffiliateWP → Affiliates → Add Affiliate
- Set a custom commission rate per influencer
- Generate a unique affiliate link for each creator
4. For discount code tracking: use WooCommerce's built-in coupon system with unique codes per influencer 5. Track ROI manually by comparing coupon code revenue in WooCommerce → Analytics → Coupons
---
BigCommerce
1. Install Refersion from the BigCommerce App Marketplace — it handles affiliate + influencer tracking natively 2. Go to Refersion → Affiliates → Invite to onboard influencers 3. Refersion generates unique tracking links and discount codes automatically 4. Go to Refersion → Reports → Performance to view revenue attributed to each influencer
---
Step 3: Set up unique tracking per creator
Every influencer needs two attribution tools:
1. Unique UTM link — tracks web traffic from the influencer's post:
yourstore.com/?utm_source=instagram&utm_medium=influencer&utm_campaign=spring2026&utm_content=janedoeAll platforms above generate these automatically. For manual setup, use Google's Campaign URL Builder at ga-dev-tools.google.com/campaign-url-builder.
2. Unique discount code — tracks purchases (including those who visit via direct/organic after seeing the post):
- Format:
JANEDOE15(creator name + discount percentage) - Unlimited uses (you want their followers to use it freely)
- Per-customer limit: 1 use per customer (prevents abuse)
- Set an expiry matching your campaign end date
The discount code is more reliable than the UTM link for attribution because customers often see a post, leave the platform, and purchase days later.
Step 4: Campaign brief and deliverable workflow
Structure every campaign with a written brief:
Brief components: 1. Product to feature + shipping address for gifted product 2. Key messages and brand voice guidelines 3. Required tags (#ad, #sponsored, brand hashtag) 4. Forbidden content (competitors, claims you cannot make) 5. Post format and timeline (e.g., "1 Reel + 2 Stories, post by March 15") 6. Compensation terms (flat fee, gifting, commission rate) 7. Content approval: do you require pre-approval or just review after posting?
Most influencer platforms (GRIN, Aspire) have a built-in brief template and content submission workflow.
Step 5: Measure ROI
Track these metrics in your platform's dashboard:
| Metric | Target | Where to Find |
|---|---|---|
| Revenue per creator | Vary by tier | Platform dashboard → Creator performance |
| ROAS (revenue / campaign cost) | > 2x for macro, > 4x for micro | Platform analytics or calculate manually |
| Discount code usage | Track by creator | Shopify Analytics → Discounts, or platform dashboard |
| Content engagement | 3%+ engagement rate | Platform dashboard (if connected to social APIs) |
Calculating ROAS:
- Campaign cost = flat fee + COGS of gifted product + commission paid
- Revenue = orders attributed via UTM + orders using the discount code
Best Practices
- Prioritize micro-influencers (10k–100k followers) for ecommerce — they typically achieve 3–5x higher engagement and conversion rates than mega-influencers at a fraction of the cost
- Always use unique discount codes, not just UTM links — UTM links get lost when creators use link-in-bio tools; discount codes provide device-agnostic attribution
- Build an evergreen affiliate program alongside campaign work — always-on commission-based partnerships (via Shopify Collabs or AffiliateWP) scale without per-campaign budgeting
- Require FTC disclosure in the brief — mandate #ad or #sponsored in all posts; non-disclosure is a legal risk in the US and EU
- Repurpose top-performing organic content as paid ads — content that hits your benchmark metrics organically often performs even better as Spark Ads (TikTok) or Boosted Posts (Instagram)
Common Pitfalls
| Problem | Solution |
|---|---|
| Attribution lost because influencer changed the UTM link | Use short redirect links under your domain; the redirect is under your control even if the influencer modifies the destination |
| Paying for reach but getting no conversions | Audit audience quality before contracting — use HypeAuditor or Modash to check fake follower rates; require 3% minimum engagement rate |
| Influencer posts branded content without FTC disclosure | Include explicit disclosure requirements in the contract; non-compliance voids the payment term |
| Discount codes shared on coupon sites | Set a per-customer usage limit of 1 to prevent bulk abuse; monitor daily usage velocity for spikes |
| Campaign budget overspent on low performers | Use GRIN's or Aspire's performance clauses — partial payment on delivery, full payment after hitting minimum attributed orders |
Related Skills
- @influencer-tracking
- @affiliate-program
- @tiktok-ads-integration
- @ugc-campaign-management
- @marketing-attribution-dashboard
{
"context": "Tests whether the agent correctly generates UTM tracking links with the exact required parameters, generates discount codes following the HANDLE15 naming pattern, sets up the CampaignBrief structure with FTC compliance, and creates participant records with the correct initial status.",
"type": "weighted_checklist",
"checklist": [
{
"name": "utm_source value",
"max_score": 8,
"description": "The generated tracking links include utm_source=influencer (not a brand name or other value)"
},
{
"name": "utm_medium value",
"max_score": 6,
"description": "The generated tracking links include utm_medium=social"
},
{
"name": "utm_campaign format",
"max_score": 8,
"description": "The utm_campaign parameter is the campaign name lowercased with spaces replaced by dashes (e.g., 'spring-glow')"
},
{
"name": "utm_content per creator",
"max_score": 8,
"description": "The utm_content parameter uses the creator's Instagram handle (or falls back to their ID), making each tracking link unique"
},
{
"name": "discount code format",
"max_score": 10,
"description": "Discount codes follow the HANDLE15 pattern — the Instagram handle uppercased (without @) followed by '15' (e.g., GLOWWITHSARAH15)"
},
{
"name": "five unique discount codes",
"max_score": 8,
"description": "All 5 participants have distinct discount codes based on their individual Instagram handles"
},
{
"name": "participant initial status",
"max_score": 8,
"description": "Each participant record has status set to 'briefed' (not 'active', 'pending', or any other value)"
},
{
"name": "compensationDue field",
"max_score": 6,
"description": "Each participant record includes a compensationDue field set to 500"
},
{
"name": "FTC disclosure in brief",
"max_score": 10,
"description": "The brief or brief-summary includes a requirement for #ad or #sponsored disclosure on all posts"
},
{
"name": "mandatoryTags in brief",
"max_score": 6,
"description": "The CampaignBrief structure includes a mandatoryTags field (as an array)"
},
{
"name": "forbiddenContent in brief",
"max_score": 6,
"description": "The CampaignBrief structure includes a forbiddenContent field (as an array)"
},
{
"name": "compensationType field",
"max_score": 6,
"description": "The brief uses one of the valid compensationType values: 'gifting', 'flat-fee', 'commission', or 'hybrid'"
},
{
"name": "participants.json generated",
"max_score": 10,
"description": "A participants.json file is present with an array of 5 objects, one per creator"
}
]
}
Influencer Campaign Onboarding System
Problem/Feature Description
A direct-to-consumer skincare brand is running its first fully in-house influencer campaign — "Spring Glow" — after parting ways with their influencer agency. They have a list of 5 creators they want to onboard, and they need a system that generates the campaign brief structure, issues each creator a unique tracking link and discount code, and creates a participant record for each.
The brand's store lives at https://glowbrand.com. Campaign name is "Spring Glow". They want to use Instagram handles as the basis for identifying each creator's tracking artifacts wherever possible. The campaign runs from April 1 to April 30, 2026. Compensation is $500 flat per creator. Key messages are "lightweight formula", "dermatologist tested", and "suitable for all skin types". They require #ad and #sponsored disclosure on all posts.
The 5 creators to onboard are:
| Instagram handle | TikTok handle | |
|---|---|---|
| @glowwithsarah | @glowwithsarah_tt | sarah@example.com |
| @beautybypriya | @beautypriya | priya@example.com |
| @skincaredave | @skincare_dave | dave@example.com |
| @radiantrose | @radiant.rose | rose@example.com |
| @thefacemaven | @facemaven | maven@example.com |
Output Specification
Produce a TypeScript file called campaign-onboarding.ts that:
1. Defines the campaign data structures (campaign and brief) 2. Contains a function that generates the tracking link and discount code for a given creator, using https://glowbrand.com as the store URL 3. Produces a JSON output file called participants.json with an array of 5 participant objects, one per creator, capturing their identity, their unique tracking artifacts, and their campaign onboarding state
Run the TypeScript file (using ts-node or npx ts-node) to actually generate participants.json, or alternatively write it as a plain .js file and run with Node.
Also produce a brief-summary.md file documenting the campaign brief — including the compensation structure, required disclosures, and key messages.
{
"context": "Tests whether the agent uses the correct InfluencerProfile data model structure with the right field types, platform-specific metric shapes, and exact tier classification thresholds as defined in the skill.",
"type": "weighted_checklist",
"checklist": [
{
"name": "handle field type",
"max_score": 8,
"description": "The handle field is typed as a Record with exactly the keys 'instagram', 'tiktok', and 'youtube', each mapping to string or undefined"
},
{
"name": "niche as array",
"max_score": 6,
"description": "The niche field is typed as string[] (an array), not a single string"
},
{
"name": "four tier values",
"max_score": 8,
"description": "The tier field uses exactly the four string literal values: 'nano', 'micro', 'macro', 'mega'"
},
{
"name": "nano threshold",
"max_score": 8,
"description": "The tier classification function returns 'nano' for follower counts below 10,000"
},
{
"name": "micro threshold",
"max_score": 8,
"description": "The tier classification function returns 'micro' for follower counts from 10,000 up to (but not including) 100,000"
},
{
"name": "macro threshold",
"max_score": 8,
"description": "The tier classification function returns 'macro' for follower counts from 100,000 up to (but not including) 1,000,000"
},
{
"name": "per-platform metrics",
"max_score": 10,
"description": "Instagram and TikTok metrics include both engagementRate and avgViews; YouTube metrics use subscribers (not followers) and avgViews (no engagementRate field)"
},
{
"name": "status values",
"max_score": 8,
"description": "The status field uses exactly five string literal values: 'prospect', 'contacted', 'active', 'paused', 'blacklisted'"
},
{
"name": "demographics shape",
"max_score": 8,
"description": "The demographics field contains topCountry (string), ageRange (string), and genderSplit (Record<string, number>)"
},
{
"name": "tags field present",
"max_score": 6,
"description": "The profile includes a tags field typed as string[]"
},
{
"name": "notes field present",
"max_score": 6,
"description": "The profile includes a notes field typed as string"
},
{
"name": "four demo influencers",
"max_score": 16,
"description": "The demo or sample section includes at least 4 influencer instances, each in a different tier (nano, micro, macro, mega)"
}
]
}
Influencer CRM TypeScript Module
Problem/Feature Description
A lifestyle e-commerce startup is moving their influencer relationships out of a Google Sheet and into a proper system. They have about 80 creators across Instagram, TikTok, and YouTube — some are tiny accounts with under 5,000 followers, others have audiences pushing two million. The team needs a TypeScript module that defines how influencer data is stored and categorized so it can be used across their new backend.
The head of partnerships wants the system to correctly bucket each creator into a tier category based on their combined following. She also needs to track per-platform metrics separately since engagement benchmarks differ across Instagram, TikTok, and YouTube. Each creator should also have a lifecycle status so the team can filter by who they've already reached out to, who is currently active, and who should never be contacted again.
Output Specification
Produce a TypeScript file called influencer-crm.ts that contains:
- A complete TypeScript interface or type for an influencer profile with all the relevant fields the partnerships team would need
- A function that accepts a total follower count and returns the appropriate influencer tier category
- A short demo block (can use a comment or
console.log) that shows at least 4 sample influencers instantiated with the type, each in a different tier, with realistic data across platforms
Also produce a design-notes.md file (max 200 words) explaining the key design decisions made — particularly around how tiers are defined and what per-platform metrics are tracked.
{
"context": "Tests whether the agent computes ROI metrics correctly (ROAS, CPO, top performers), surfaces micro-influencer preference for ecommerce with evidence from the data, includes benchmark KPI guidance, discount code attribution rationale, and performance-based payment term recommendations.",
"type": "weighted_checklist",
"checklist": [
{
"name": "ROAS calculation",
"max_score": 8,
"description": "The roi-report.json includes a ROAS field calculated as totalRevenue divided by totalSpend"
},
{
"name": "CPO calculation",
"max_score": 8,
"description": "The roi-report.json includes a CPO (cost per order) field calculated as totalSpend divided by totalOrders"
},
{
"name": "totalSpend correct",
"max_score": 6,
"description": "The roi-report.json totalSpend sums all compensationPaid values (correct value: 14480)"
},
{
"name": "totalRevenue correct",
"max_score": 6,
"description": "The roi-report.json totalRevenue sums all revenue values from deliverable metrics (correct value: 15800)"
},
{
"name": "top performers ranked",
"max_score": 8,
"description": "The roi-report.json includes a topPerformers array sorted by revenue descending, showing at least the top 3 performers"
},
{
"name": "combined metrics structure",
"max_score": 8,
"description": "The data structures in roi-analysis.ts track both social metrics (views, likes, comments, shares) AND commerce metrics (clicks, orders, revenue) as separate concerns or combined in a metrics object"
},
{
"name": "micro-influencer recommendation",
"max_score": 10,
"description": "The strategy-recommendation.md explicitly recommends prioritizing micro-influencers (10k–100k) for ecommerce, not mega or macro influencers"
},
{
"name": "engagement/conversion evidence",
"max_score": 8,
"description": "The recommendation references the higher engagement or conversion rates of micro-influencers compared to mega-influencers (using the sample data or general guidance)"
},
{
"name": "discount code attribution",
"max_score": 8,
"description": "The strategy-recommendation.md mentions using unique discount codes per creator as the most reliable attribution method (not just UTM links)"
},
{
"name": "UTM link risk",
"max_score": 6,
"description": "The strategy-recommendation.md mentions the risk of UTM link modification by influencers and recommends short links or discount codes as mitigation"
},
{
"name": "performance-based payment",
"max_score": 8,
"description": "The strategy-recommendation.md recommends a partial-payment-on-delivery with full-payment-after-hitting-minimum-orders structure (or equivalent performance clause)"
},
{
"name": "benchmark KPIs",
"max_score": 8,
"description": "The strategy-recommendation.md recommends setting minimum acceptable KPIs (such as minimum ROAS, CPV, or engagement rate) before campaigns start"
},
{
"name": "roi-report.json generated",
"max_score": 8,
"description": "A roi-report.json file is present with at minimum totalSpend, totalRevenue, roas, cpo, and topPerformers fields"
}
]
}
Influencer Campaign ROI Analysis Tool
Problem/Feature Description
A health supplements brand ran their "Immunity Boost" campaign across 8 influencers last quarter. Now the head of growth wants to understand whether the campaign delivered value, who the top performers were, and whether budget should be shifted for the next campaign. The team has raw post-campaign data (spend per influencer, social metrics, orders, and revenue driven via discount codes) and needs a TypeScript module that computes the standard ROI metrics and surfaces actionable recommendations.
The growth team has been burned before by influencers with huge followings who drove almost no sales — they now want systematic guidance on how to select creators for the next round, including which audience size ranges tend to perform best for e-commerce.
Output Specification
Produce a TypeScript file called roi-analysis.ts that:
1. Defines the data structures for campaign participants and their deliverable metrics (social + commerce) 2. Implements a function that computes campaign-level ROI given an array of participant data, returning the key metrics needed to evaluate whether the campaign paid off and who drove the most value 3. Takes the sample data below and runs the analysis, outputting a roi-report.json with the computed metrics
Also produce a strategy-recommendation.md (max 300 words) with recommendations for the next campaign, including which influencer tier to prioritize and why, how to prevent attribution loss, and how to structure payment terms to protect against low performers.
Input Data
The following sample data represents the Immunity Boost campaign results. Extract and use it as input to your analysis:
{
"campaignName": "Immunity Boost",
"participants": [
{
"id": "p1", "handle": "@vitaldave", "tier": "mega",
"compensationPaid": 8000,
"deliverable": { "views": 1200000, "likes": 18000, "comments": 420, "shares": 890, "clicks": 340, "orders": 28, "revenue": 1120 }
},
{
"id": "p2", "handle": "@healthymia", "tier": "macro",
"compensationPaid": 2000,
"deliverable": { "views": 280000, "likes": 12400, "comments": 880, "shares": 1200, "clicks": 920, "orders": 74, "revenue": 2960 }
},
{
"id": "p3", "handle": "@wellnessjordan", "tier": "micro",
"compensationPaid": 500,
"deliverable": { "views": 62000, "likes": 4100, "comments": 510, "shares": 380, "clicks": 740, "orders": 62, "revenue": 2480 }
},
{
"id": "p4", "handle": "@boostwithalex", "tier": "micro",
"compensationPaid": 400,
"deliverable": { "views": 44000, "likes": 3200, "comments": 390, "shares": 290, "clicks": 610, "orders": 55, "revenue": 2200 }
},
{
"id": "p5", "handle": "@immunetips", "tier": "micro",
"compensationPaid": 450,
"deliverable": { "views": 51000, "likes": 3600, "comments": 440, "shares": 310, "clicks": 680, "orders": 58, "revenue": 2320 }
},
{
"id": "p6", "handle": "@nanonourish", "tier": "nano",
"compensationPaid": 150,
"deliverable": { "views": 7800, "likes": 920, "comments": 180, "shares": 95, "clicks": 210, "orders": 19, "revenue": 760 }
},
{
"id": "p7", "handle": "@fitfuelcoach", "tier": "macro",
"compensationPaid": 2500,
"deliverable": { "views": 310000, "likes": 9800, "comments": 560, "shares": 780, "clicks": 480, "orders": 38, "revenue": 1520 }
},
{
"id": "p8", "handle": "@dailyvitals", "tier": "micro",
"compensationPaid": 480,
"deliverable": { "views": 58000, "likes": 3900, "comments": 470, "shares": 330, "clicks": 700, "orders": 61, "revenue": 2440 }
}
]
}{
"name": "finsi/influencer-marketplace-integration",
"version": "0.1.0",
"summary": "Connect to influencer networks to discover creators, manage campaign briefs, track deliverables, and measure ROI across Instagram, TikTok, and YouTube",
"skills": {
"influencer-marketplace-integration": {
"path": "SKILL.md"
}
}
}