$npx -y skills add Affitor/affiliate-skills --skill conversion-trackerSet up affiliate conversion tracking with UTM parameters and link tagging. Triggers on: "set up tracking", "create UTM links", "track my affiliate links", "tracking pixels", "click attribution", "organize my links", "UTM parameters", "tag my links", "campaign tracking", "link tra
| 1 | # Conversion Tracker |
| 2 | |
| 3 | Set up affiliate conversion tracking — generate UTM-tagged links, create link naming conventions, configure tracking pixel setup instructions, and build a tracking spreadsheet. Output is a Markdown tracking guide with a table of tagged links ready to deploy. |
| 4 | |
| 5 | ## Stage |
| 6 | |
| 7 | S6: Analytics — The difference between amateur and professional affiliates. You can't optimize what you don't measure. After deploying content (S5), you need UTM-tagged links for every platform and content piece to know exactly which channel drives conversions. |
| 8 | |
| 9 | ## When to Use |
| 10 | |
| 11 | - User is about to launch a campaign and needs tracking links |
| 12 | - User wants UTM-tagged links for different platforms |
| 13 | - User says "set up tracking", "create UTM links", "organize my affiliate links" |
| 14 | - User wants to track which content drives the most clicks and conversions |
| 15 | - User is preparing to run ads and needs consistent link tagging |
| 16 | - Chaining from S1 (product selected) → generate tracking links before creating content in S2-S5 |
| 17 | |
| 18 | ## Input Schema |
| 19 | |
| 20 | ```yaml |
| 21 | product: |
| 22 | name: string # REQUIRED — product name (e.g., "HeyGen") |
| 23 | affiliate_url: string # REQUIRED — base affiliate link |
| 24 | |
| 25 | platforms: # OPTIONAL — where content will be published |
| 26 | - string # e.g., ["linkedin", "twitter", "blog", "email", "reddit"] |
| 27 | # Default: ["blog", "twitter", "linkedin"] |
| 28 | |
| 29 | campaign_name: string # OPTIONAL — campaign identifier (e.g., "q1-2026-ai-tools") |
| 30 | # Default: auto-generated from product name + date |
| 31 | |
| 32 | tracking_tool: string # OPTIONAL — "google_analytics" | "voluum" | "clickmagick" |
| 33 | # | "manual_utm". Default: "manual_utm" |
| 34 | |
| 35 | content_types: # OPTIONAL — types of content being created |
| 36 | - string # e.g., ["blog_review", "social_post", "email", "landing_page"] |
| 37 | ``` |
| 38 | |
| 39 | **Chaining context**: If S1 was run, pull `recommended_program.affiliate_url` and `recommended_program.name`. If S2-S5 outputs exist, use them to determine platforms and content types automatically. |
| 40 | |
| 41 | ## Workflow |
| 42 | |
| 43 | ### Step 1: Gather Product and Platform Info |
| 44 | |
| 45 | Collect product name, affiliate URL, and target platforms. If not provided, default to blog + twitter + linkedin (the three most common affiliate channels). |
| 46 | |
| 47 | ### Step 2: Generate UTM-Tagged Links |
| 48 | |
| 49 | For each platform × content-type combination, create a UTM-tagged URL: |
| 50 | - `utm_source`: platform name (e.g., `linkedin`, `twitter`, `blog`) |
| 51 | - `utm_medium`: content type (e.g., `social`, `article`, `email`) |
| 52 | - `utm_campaign`: campaign name (e.g., `heygen-q1-2026`) |
| 53 | - `utm_content`: specific content identifier (e.g., `review-post`, `cta-button`, `bio-link`) |
| 54 | |
| 55 | Append UTM parameters to the affiliate URL. Handle URLs that already have query parameters (use `&` not `?`). |
| 56 | |
| 57 | ### Step 3: Create Link Naming Convention |
| 58 | |
| 59 | Establish a consistent naming scheme: |
| 60 | ``` |
| 61 | {product}-{platform}-{content_type}-{variant} |
| 62 | ``` |
| 63 | Example: `heygen-linkedin-review-v1` |
| 64 | |
| 65 | ### Step 4: Build Tracking Setup Guide |
| 66 | |
| 67 | Based on `tracking_tool`: |
| 68 | - **Google Analytics**: Event tracking setup, goal configuration, UTM report location |
| 69 | - **Voluum / ClickMagick**: Postback URL setup, conversion pixel placement |
| 70 | - **Manual UTM**: Google Sheets tracking template with columns for link, platform, clicks, conversions |
| 71 | |
| 72 | ### Step 5: Output Tracking Sheet |
| 73 | |
| 74 | Present all links in a structured table with: |
| 75 | - Link name |
| 76 | - Platform |
| 77 | - Content type |
| 78 | - Full tagged URL |
| 79 | - Notes |
| 80 | |
| 81 | ### Step 6: Self-Validation |
| 82 | |
| 83 | Before presenting output, verify: |
| 84 | |
| 85 | - [ ] UTM parameters correctly appended to all affiliate URLs |
| 86 | - [ ] No URL encoding errors in generated links |
| 87 | - [ ] Naming convention is consistent across all links |
| 88 | - [ ] All links are under URL length limits |
| 89 | - [ ] Setup guide steps match the recommended tracking tool |
| 90 | |
| 91 | If any check fails, fix the output before delivering. Do not flag the checklist to the user — just ensure the output passes. |
| 92 | |
| 93 | ## Output Schema |
| 94 | |
| 95 | ```yaml |
| 96 | output_schema_version: "1.0.0" # Semver — bump major on breaking changes |
| 97 | tracking: |
| 98 | product: string |
| 99 | campaign: string |
| 100 | total_links: number |
| 101 | |
| 102 | links: |
| 103 | - name: string # e.g., "heygen-linkedin-review-v1" |
| 104 | platform: string |
| 105 | content_type: string |
| 106 | url: string # full UTM-tagged URL |