# Insert Affiliate Documentation > Insert Affiliate is a SaaS platform for adding affiliate and referral marketing to mobile apps (iOS, Android, React Native, Flutter, Unity, Java, JavaScript). App developers can add, track and reward affiliates for in-app purchase and subscription sales, using deep linking and purchase verification through RevenueCat, Adapty, AppHud, Iaptic, direct App Store / Play Store, Stripe, AppsFlyer and Branch. This documentation covers integration, attribution, commissions, payouts and the affiliate marketplace. --- # Welcome & Overview Source: https://docs.insertaffiliate.com > Insert Affiliate is a SaaS platform that simplifies affiliate marketing for mobile apps. Track referrals, verify purchases, and reward affiliates for in-app purchase sales. # Welcome to Insert Affiliate Insert Affiliate is a complete affiliate marketing platform for mobile apps. Track which affiliates drive in-app purchases, verify transactions automatically, and manage commission payments — all from one dashboard. ## Product Tour A quick walkthrough of the platform, from the dashboard to attribution, payouts, and the marketplace, hosted by our founder Michael. ## What Insert Affiliate Does Insert Affiliate connects three critical pieces of your affiliate program: 1. **Attribution** - Know which affiliate referred each user 2. **Verification** - Confirm legitimate in-app purchases automatically 3. **Commission Management** - Calculate and track what you owe affiliates The result: a fully automated affiliate program that increases revenue while reducing manual work. --- ## Quick Start Ready to integrate? Choose your path: ### New to Insert Affiliate? Start here for the fastest path to your first tracked purchase: **[Quick Start (5 Minutes) →](/quick-start)** Get Insert Affiliate working with a test affiliate in just 5 minutes. ### Want to Understand the Full Picture? Learn about all integration options and choose what's best for your app: **[Integration Overview →](/integration-overview)** Understand the three integration steps and compare platform options. --- ## How It Works ### Step 1: Registration [Select a package](https://insertaffiliate.com/#pricing) and create your account to access the [dashboard](https://app.insertaffiliate.com/). ### Step 2: Integration Integrate Insert Affiliate with your app through three components: **Deep Linking Platform** Track which affiliate referred each user through deep links: **Recommended:** [Insert Links](/insert-links) for the simplest setup with no third-party required. **Purchase Verification Platform** Verify in-app purchases and notify Insert Affiliate when sales occur: **Recommended:** [RevenueCat](/revenuecat) for the easiest integration and best developer experience. **Web Transactions (Optional)** If you sell subscriptions via the web, integrate with [Stripe](/stripe-web-transactions) or [RevenueCat Web Billing](/revenuecat-web-billing). ### Step 3: Testing Test your integration thoroughly before launch: **[Testing & Sandbox Mode →](/testing-sandbox)** Learn how to create test affiliates and verify your integration works correctly. ### Step 4: Launch Create real affiliates and start tracking sales. Enable [Affiliate Self-Signup](/create-affiliate-affiliate-self-signup) to let affiliates join without your manual intervention. --- ## Popular Guides ### For First-Time Users - [Quick Start (5 Minutes)](/quick-start) - Fastest path to validation - [Integration Overview](/integration-overview) - Understand all options - [Creating Your First Affiliate](/create-affiliate) - Add affiliates manually ### For Integration - [Insert Links Setup](/insert-links) - Our built-in deep linking (recommended) - [RevenueCat Setup](/revenuecat) - Purchase verification (recommended) - [Testing & Sandbox Mode](/testing-sandbox) - Verify before launch ### For Managing Affiliates - [Affiliate Self-Signup](/create-affiliate-affiliate-self-signup) - Let affiliates join automatically - [Setting Commission Rates](/affiliate-commission) - Configure what affiliates earn - [Paying Affiliates](/paying-affiliates) - Process commission payments - [Affiliate Social Posts](/social-posts) - View affiliate promotional content ### For Troubleshooting - [Common Issues & Solutions](/troubleshooting) - Debug integration problems - [Short Codes](/short-codes) - Alternative to deep linking for testing --- ## Platform Support Insert Affiliate works with: - **iOS** - Native apps with StoreKit purchases - **Android** - Native apps with Google Play Billing - **React Native** - Cross-platform React Native apps - **Flutter** - Cross-platform Flutter apps - **Unity** - Games and apps built with Unity - **JavaScript/Capacitor** - Hybrid apps All SDKs are available on our [GitHub](https://github.com/Insert-Affiliate). --- ## Need Help? - **Email Support:** [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - **Help Center:** [app.insertaffiliate.com/help](https://app.insertaffiliate.com/help) - **Troubleshooting:** [Common Issues & Solutions](/troubleshooting) --- # Quick Start (5 Minutes) Source: https://docs.insertaffiliate.com/quick-start > Get Insert Affiliate up and running in 5 minutes. Create your first affiliate and test your integration. # Quick Start (5 Minutes) Get Insert Affiliate integrated and test your first affiliate referral in just 5 minutes. This guide focuses on the fastest path to validation. ## Prerequisites Before you begin, make sure you have: - [Registered for Insert Affiliate](https://insertaffiliate.com/#pricing) and can access the [dashboard](https://app.insertaffiliate.com/) - Access to your app's codebase - A test device or simulator ## Step 1: Choose Your Integration Path (1 minute) You need two integrations to track affiliate purchases: 1. **Deep Linking Platform** - Tracks which affiliate referred the user 2. **Purchase Verification** - Verifies in-app purchases ### Recommended Quick Start Path For the fastest setup, we recommend: - **Deep Linking**: [Insert Links](/insert-links) (our built-in solution, no third-party required) - **Purchase Verification**: [RevenueCat](/revenuecat) (easiest purchase verification) **Alternative:** If you already use Branch.io, AppsFlyer, or another platform, you can use those instead. See the [Integration Overview](/integration-overview) for all options. ## Step 2: Install the SDK (2 minutes) Choose your platform and follow the installation instructions: ### iOS Visit our [Swift SDK GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK) and follow the installation instructions. ### Android Visit our [Android SDK GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK) and follow the installation instructions. ### React Native Visit our [React Native SDK GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK) and follow the installation instructions. ### Flutter Visit our [Flutter SDK GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk) and follow the installation instructions. ### Unity Visit our [Unity SDK GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK) and follow the installation instructions. ### JavaScript / Capacitor Visit our [JavaScript SDK GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk) and follow the installation instructions. **Key steps you'll complete:** 1. Add the SDK to your project 2. Initialize the SDK with your API key (found in your [dashboard settings](https://app.insertaffiliate.com/settings)) 3. Configure deep linking integration 4. Set up purchase verification integration ## Step 3: Create Your First Test Affiliate (1 minute) 1. Go to the [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page 2. Select **"Create Affiliate (Admin)"** 3. Enter a test email (you can use an email alias like `yourname+testaffiliate@example.com`) 4. Create a deep link: - **If using Insert Links**: Follow the [Insert Links guide](/insert-links#enable-affiliate-self-signup) to create a link - **If using Branch.io**: Follow the [Branch guide](/create-affiliate#example-creating-a-link-with-branchio) to create a quick link - **If using AppsFlyer**: Follow the [AppsFlyer guide](/create-affiliate#example-creating-a-link-with-appsflyer) to create a OneLink 5. Paste the deep link into the **Affiliate Deep Link** field 6. Click **Create Affiliate** You'll see your affiliate in the dashboard with their unique **short code**. ## Step 4: Test the Integration (1 minute) Now test that everything works: ### Option A: Test with Short Code (Recommended for Quick Validation) The fastest way to test is using the affiliate's [short code](/short-codes): 1. Build and run your app on a test device or simulator 2. Implement a way to manually enter the short code (see [Short Codes documentation](/short-codes)) 3. Enter your test affiliate's short code 4. Make a test purchase (use sandbox/test mode) 5. Check your [Insert Affiliate dashboard](https://app.insertaffiliate.com/) - you should see the transaction appear Insert Affiliate dashboard overview with metrics, charts, and top affiliates

Click to view full size

### Option B: Test with Deep Link 1. Click the affiliate deep link on your test device 2. Your app should open (or be installed if using TestFlight/internal testing) 3. Make a test purchase (use sandbox/test mode) 4. Check your [Insert Affiliate dashboard](https://app.insertaffiliate.com/) - you should see the transaction appear ## Troubleshooting If your test transaction doesn't appear: 1. **Enable verbose logging** in the SDK (check your platform's SDK documentation) 2. **Verify the short code is stored** - Log the short code after it's set 3. **Check the purchase verification setup** - Ensure you're passing the affiliate identifier correctly 4. **Read our detailed troubleshooting guide** - See [Troubleshooting](/troubleshooting) for step-by-step debugging ## Next Steps Now that your integration is working: 1. **Set up sandbox testing** - Read [Testing & Sandbox Mode](/testing-sandbox) 2. **Configure commission rates** - See [Setting Commission Rates](/affiliate-commission) 3. **Enable affiliate self-signup** - Allow affiliates to sign up without your manual intervention: [Affiliate Self-Signup](/create-affiliate-affiliate-self-signup) 4. **Learn about advanced features** - Explore [Features & Tools](/app-affiliate-marketplace) ## Need Help? - Review the full [Integration Overview](/integration-overview) for detailed explanations - Check [Common Issues & Solutions](/troubleshooting) for debugging help - Contact support through your [dashboard](https://app.insertaffiliate.com/) --- # Integration Overview Source: https://docs.insertaffiliate.com/integration-overview > Understand the three steps to integrate Insert Affiliate into your app: deep linking, purchase verification, and optional web transactions. # Integration Overview Insert Affiliate tracks affiliate referrals and purchases through a three-step integration process. This guide explains each step and helps you choose the right platforms for your needs. ## How Insert Affiliate Works The affiliate tracking flow works like this: 1. User clicks affiliate link 2. Deep linking opens your app and identifies the affiliate 3. Attribution is stored when the app launches 4. User makes a purchase 5. Purchase is verified and tracked 6. Commission is calculated for the affiliate To make this work, you need to integrate: 1. **Deep Linking Platform** - Tracks which affiliate referred each user 2. **Purchase Verification** - Validates in-app purchases and subscriptions 3. **Web Transactions** (Optional) - Track web-based purchases if applicable --- ## Step 1: Deep Linking Platform ### What It Does Deep linking allows affiliate links to open your app and track which affiliate referred the user. When a user clicks an affiliate's link, the deep linking platform: 1. Opens your app (or the App Store if not installed) 2. Passes the affiliate identifier to your app 3. Enables Insert Affiliate to attribute the user to that affiliate ### Choose Your Platform We support multiple deep linking platforms. Choose based on your needs: | Platform | Best For | Complexity | Cost | |----------|----------|------------|------| | **[Insert Links](/insert-links)** | Quick setup, no third-party required | Low | Included | | **[Branch.io](/branch)** | Advanced analytics, existing Branch users | Medium | Paid | | **[AppsFlyer](/appsflyer)** | Mobile attribution, existing AppsFlyer users | Medium | Free tier available | | **[RevenueCat Web Purchase Links](/revenuecat-web-billing#deep-linking-platforms)** | Web-based subscriptions via RevenueCat | Medium/High | Included with RevenueCat | | **[Other Platforms](/other-deep-linking-platform)** | Custom or existing deep linking setup | Varies | Varies | ### Recommended: Insert Links For most users, we recommend starting with **[Insert Links](/insert-links)**: - Built into Insert Affiliate (no third-party signup required) - Easiest to set up and test - Full control over link behavior - No additional costs ### Integration Steps Once you choose a platform: 1. **Set up the platform** - Create an account and configure your app 2. **Install our SDK** - Add the Insert Affiliate SDK to your app 3. **Configure deep link handling** - Follow your platform's documentation 4. **Pass links to our SDK** - Forward deep link data to Insert Affiliate 5. **Test the integration** - Verify attribution works correctly Detailed instructions for each platform are in their respective guides. --- ## Step 2: Purchase Verification ### What It Does Purchase verification validates that in-app purchases are legitimate and notifies Insert Affiliate when an attributed user makes a purchase. ### Choose Your Platform | Platform | Best For | Complexity | Features | |----------|----------|------------|----------| | **[RevenueCat](/revenuecat)** | Most users, subscription apps | Low | Easiest setup, webhooks, cross-platform | | **[Adapty](/adapty)** | Paywall A/B testing, analytics | Low | No-code paywalls, webhooks, cross-platform | | **[Apphud](/apphud)** | Existing Apphud users | Low | Similar to RevenueCat | | **[Iaptic](/iaptic)** | Existing Iaptic users | Low | Receipt validation service | | **[Direct App Store](/direct-store-purchase-integration)** | iOS apps, maximum control | High | No third-party, Apple only | | **[Direct Google Play](/direct-google-play-store-purchase-integration)** | Android apps, maximum control | High | No third-party, Google only | **Note:** You can combine Direct App Store + Direct Google Play for cross-platform apps without third-party services. ### Recommended: RevenueCat For most users, we recommend **[RevenueCat](/revenuecat)**: - Simplest integration with Insert Affiliate - Handles both iOS and Android - Automatic webhook notifications - Excellent documentation and support - Free tier available ### Integration Steps The general flow for all platforms: 1. **Set up your chosen platform** - Create account and configure products 2. **Configure Insert Affiliate settings** - Select your verification method in the [dashboard](https://app.insertaffiliate.com/settings) (**Integrations** tab) 3. **Set up webhooks** (RevenueCat, Apphud, Iaptic) - Connect your platform to Insert Affiliate 4. **Pass affiliate identifier** - Ensure the affiliate's short code is included with purchases 5. **Test purchases** - Verify transactions appear in your Insert Affiliate dashboard Insert Affiliate dashboard overview with metrics, charts, and top affiliates

Click to view full size

### Critical: Passing the Affiliate Identifier The most important part of purchase verification is **passing the affiliate identifier** when a purchase occurs. Each platform has a different method: - **RevenueCat**: Set a custom attribute (`insert_affiliate`) - **Adapty**: Set a custom attribute via `updateProfile` - **Apphud**: Set a custom property - **Iaptic**: Include in purchase validation request - **Direct integrations**: Include in server-to-server notifications See your chosen platform's documentation for specific implementation details. --- ## Step 3: Web Transactions (Optional) ### What It Does If you sell subscriptions or products via the web (not through app stores), you can track these transactions through Insert Affiliate. ### Choose Your Platform | Platform | Best For | Integration | |----------|----------|-------------| | **[Stripe Web Transactions](/stripe-web-transactions)** | Direct Stripe integration | Stripe Connect | | **[RevenueCat Stripe Billing](/revenuecat-stripe-billing)** | Using RevenueCat + Stripe | Stripe Connect | | **[RevenueCat Web Billing](/revenuecat-web-billing)** | RevenueCat web purchases | Stripe Connect | ### When You Need This You need web transaction tracking if: - Users can purchase subscriptions on your website - You offer web-based checkout alongside mobile - You use Stripe or similar payment processors for web sales ### Skip This If You can skip this step if: - All purchases happen through App Store or Google Play - You only have a mobile app with no web presence --- ## Complete Integration Checklist Use this checklist to ensure you've completed all necessary steps: ### Setup - [ ] Registered for Insert Affiliate and accessed the dashboard - [ ] Located your API key in [dashboard settings](https://app.insertaffiliate.com/settings) ### Step 1: Deep Linking - [ ] Chosen a deep linking platform - [ ] Created an account with your chosen platform (if required) - [ ] Installed Insert Affiliate SDK in your app - [ ] Configured deep link handling in your app - [ ] Tested that deep links open your app correctly ### Step 2: Purchase Verification - [ ] Chosen a purchase verification platform - [ ] Set up your verification platform account - [ ] Configured verification method in Insert Affiliate dashboard - [ ] Set up webhooks (if using RevenueCat, Apphud, or Iaptic) - [ ] Implemented affiliate identifier passing in your app - [ ] Tested sandbox purchases appear in your dashboard ### Step 3: Web Transactions (Optional) - [ ] Determined if you need web transaction tracking - [ ] Set up web transaction integration (if needed) - [ ] Tested web purchases appear in your dashboard ### Testing & Launch - [ ] Created a test affiliate - [ ] Tested attribution with short codes - [ ] Tested attribution with deep links - [ ] Tested sandbox purchases appear correctly - [ ] Verified commission calculations are correct - [ ] Reviewed [Testing & Sandbox Mode](/testing-sandbox) guide - [ ] Read [Troubleshooting](/troubleshooting) for common issues --- ## Platform Compatibility Matrix Not sure which platforms work together? Here's a quick reference: ### Deep Linking + Purchase Verification All deep linking platforms work with all purchase verification platforms. Choose what works best for your needs. **Popular Combinations:** - Insert Links + RevenueCat (Easiest, recommended for most) - Branch.io + RevenueCat (Good for existing Branch users) - AppsFlyer + RevenueCat (Good for existing AppsFlyer users) - Insert Links + Direct App Store (Maximum control, iOS) - Insert Links + Direct Google Play (Maximum control, Android) ### Adding Web Transactions Web transaction platforms work independently of your mobile setup: - You can use Stripe Web Transactions with any mobile integration - RevenueCat Stripe Billing works best if you're already using RevenueCat for mobile --- ## Need Help Choosing? Still not sure which platforms to use? Here are some questions to guide you: ### "I want the simplest setup possible" → Use **[Insert Links](/insert-links)** + **[RevenueCat](/revenuecat)** ### "I already use Branch.io for attribution" → Keep **[Branch.io](/branch)** + add **[RevenueCat](/revenuecat)** for verification ### "I already use RevenueCat" → Add **[Insert Links](/insert-links)** for deep linking (or keep your existing platform) ### "I want maximum control, no third parties" → Use **[Insert Links](/insert-links)** + **[Direct App Store](/direct-store-purchase-integration)** or **[Direct Google Play](/direct-google-play-store-purchase-integration)** ### "I sell subscriptions on my website too" → Follow steps 1 & 2, then add **[Stripe Web Transactions](/stripe-web-transactions)** or **[RevenueCat Web Billing](/revenuecat-web-billing)** --- ## Next Steps Ready to start integrating? Follow these steps: 1. **[Quick Start](/quick-start)** - Get your first affiliate working in 5 minutes 2. Choose and configure your deep linking platform 3. Choose and configure your purchase verification platform 4. Set up web transactions (if needed) 5. Test thoroughly in sandbox mode 6. Create your first real affiliates and start tracking sales ## Support Need help with your integration? - Check the [Troubleshooting](/troubleshooting) guide for common issues - Review platform-specific documentation linked above - Contact support through your [dashboard](https://app.insertaffiliate.com/) --- # Adapty Setup guide Source: https://docs.insertaffiliate.com/adapty > Set up Adapty ready to create a new affiliate with Insert Affiliate # Setting up Adapty To get started, [create an Adapty account](https://adapty.io/). After creating an account, follow the Adapty setup guide, which can be [found here](https://docs.adapty.io/docs/quickstart). If you encounter any problems whilst setting up your Adapty account, check out the [Adapty Support](https://adapty.io/contact/) section for assistance. ## Webhook Configuration To connect Adapty with Insert Affiliate: 1. In your [Insert Affiliate dashboard](https://app.insertaffiliate.com/settings) (**Integrations** tab): - Set **In-App Purchase Verification** to `Adapty` - Copy the `Adapty Webhook URL` (you'll use this for both production and sandbox) - Copy the `Adapty Webhook Authorization Header` value Purchase Verification section in the Insert Affiliate dashboard settings with the verification method dropdown highlighted

Click to view full size

2. In the [Adapty Dashboard](https://app.adapty.io/integrations): - Navigate to **Integrations** → **Webhooks** - Set **Production URL** to the webhook URL copied from Insert Affiliate - Set **Sandbox URL** to the same webhook URL - Paste the authorization header value into **Authorization header value** - Enable these options: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** - Save the configuration ## IOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Adapty setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-2-adapty) ## Android Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Adapty setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-2-adapty) ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Adapty setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-2-adapty) ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Adapty setup can be found [here.](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-2-adapty) ## Verifying Your Integration To confirm the affiliate identifier is being set correctly in Adapty: 1. Go to [app.adapty.io/profiles/users](https://app.adapty.io/profiles/users) 2. Find and select the user who made a test purchase 3. Look for the **Custom attributes** section 4. Verify the `insert_affiliate` attribute exists with the format: `{SHORT_CODE}-{UUID}` - Example: `SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890` If the attribute is missing, ensure you're calling `Adapty.updateProfile` with the affiliate identifier after it's set by the Insert Affiliate SDK. --- # Affiliate Commission Rates & Advanced Rules Guide | Insert Affiliate Source: https://docs.insertaffiliate.com/affiliate-commission > Learn how to set up and manage affiliate commission rates, including advanced commission rules, daisy chain commissions (percentage and fixed amount), platform fee deduction, default rates, and custom affiliate commissions. Complete guide with examples. # Affiliate Commission Guide Set up your affiliate commission structure to reward your partners and drive growth. This guide covers everything from basic rates to advanced performance-based rules. ## Setting Up Commission Rates ### Global Default Rate You need a company-wide default commission rate. This is your base rate that all new affiliates will receive if no specific rule is applied to that affiliate: 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **General** tab 2. Find the `Default Affiliate Commission Percentage` field 3. Enter your base rate (e.g., 2% for 2 percent) Company Settings in the Insert Affiliate dashboard with the Default Affiliate Commission percentage field highlighted

Click to view full size

This is your foundation rate - all affiliates start here unless you give them a custom rate. ### Per-Currency Fixed Amounts If you'd rather pay a flat amount per sale than a percentage, you can set a different fixed commission for each currency your customers pay in, instead of one converted amount applied to every sale. 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **General** tab 2. Set `Default Affiliate Commission Type` to **Fixed Amount** 3. A "Per-Currency Fixed Amounts" section appears below - click **Add currency** and enter an amount for each currency you want to set explicitly (e.g. USD $10, GBP £8) A purchase in a currency without its own row falls back to your default fixed amount. This is available wherever you set a fixed commission, including company-wide advanced rules and individual affiliate rules. **Note:** Per-currency fixed amounts aren't currently available for Apphud-verified purchases. ### Individual Affiliate Rates Want to reward top performers or adjust for specific partners? Set custom rates: 1. Go to [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Select an affiliate 3. Press the "View Affiliate Settings" button 4. Set their custom percentage in the `Affiliate Commission Percentage` field Affiliate Details panel with the individual Affiliate Commission Percentage field highlighted, overriding the company default

Click to view full size

Custom rates **override** the global default, giving you flexibility to reward your best partners. ### Affiliate Payout Cadence Control whether affiliates earn commission on subscription renewals or only initial purchases: 1. Go to [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Select an affiliate 3. Press the "View Affiliate Settings" button 4. Find the "Payout Cadence" setting 5. Choose your preference: - **Initial Purchase + Renewals**: Affiliate earns commission on both the first purchase and all subsequent renewals (within the [renewal attribution window](/renewal-attribution-window) if configured) - **Initial Purchase Only**: Affiliate earns commission only on the first purchase, no renewal commissions This per-affiliate setting gives you complete flexibility in structuring different partnership arrangements. For example, you might pay renewals to your top-performing affiliates while limiting newer partners to initial purchase commissions only. ### Platform Fee Deduction Choose whether to calculate affiliate commissions on the gross transaction amount or the net amount after App Store/Play Store fees are deducted. 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Payments & Payouts** tab 2. Find the "Platform Fee Settings" section 3. Enable or disable "Deduct Platform Fees Before Commission" **When Disabled (Default):** Affiliate commission is calculated on the full transaction amount before store fees. ``` Sale Price: $9.99 Affiliate Rate: 10% Affiliate Commission: $0.99 (10% of $9.99) ``` **When Enabled:** Affiliate commission is calculated on the net amount after the platform's commission is deducted. ``` Sale Price: $9.99 App Store Fee (30%): $3.00 Net Revenue: $6.99 Affiliate Rate: 10% Affiliate Commission: $0.70 (10% of $6.99) ``` **Platform Fee Rates:** - **App Store (iOS)**: 30% standard, 15% for Small Business Program participants - **Google Play Store**: 30% standard, 15% for the first $1M in annual revenue - **Stripe**: Configurable percentage + fixed fee (e.g., 2.9% + $0.30) You can customize these rates in Settings to match your actual agreements with each platform. **Viewing Platform Fee Details:** When platform fee deduction is enabled, transaction views display an info icon next to prices. Click it to see: - Gross price (original amount) - Platform fee percentage and amount - Net price (what commission is calculated on) This transparency helps affiliates understand exactly how their commission is calculated. ### Auto Chunk Payments For high-value subscriptions (e.g. annual plans), you can split affiliate commission payments into smaller scheduled chunks instead of paying the full amount upfront. This helps manage cash flow while still rewarding affiliates fairly. See the full [Auto Chunk Payments](/auto-chunk-payments) guide for setup instructions. ## Advanced Commission Rules Take your commission structure to the next level with dynamic rules. Reward affiliates who drive more sales with higher commission rates. > **Note:** Advanced Commission Rules are a premium feature available on select plans. [Check our pricing page](https://insertaffiliate.com/#pricing) to see which plan is right for you. ### Setting Up Advanced Rules You can set advanced rules in two places: company-wide defaults that apply to all of your affiliates, or individual rules for a specific affiliate. #### Company-Wide Default Rules Set default advanced commission rules once and they apply to every affiliate automatically: 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **General** tab 2. Find the "Default Advanced Commission Rules" section, just below the default affiliate commission 3. Click "Add Your First Rule" to begin These rules apply to every affiliate that does not have advanced rules of their own. When you update the defaults, the change immediately applies to all of those affiliates at once, so you don't need to edit each affiliate individually. #### Individual Affiliate Rules To give a specific affiliate their own rules: 1. Go to [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Select an affiliate 3. Press the "View Affiliate Settings" button 4. Find the "Advanced Commission Rules" section 5. Click "Add First Rule" to begin Rules set on an individual affiliate completely replace the company-wide defaults for that affiliate. Use this to give a top partner a better ladder than everyone else, or to exclude a specific affiliate from your default rules. ### How Advanced Rules Work Advanced rules let you create a commission ladder that affiliates can climb as they perform better. Each rule has several key components: 1. **Commission Rate**: The percentage they'll earn (1-99%) 2. **Trigger Point**: When the rate kicks in - "Until": Rate applies until they hit the threshold - "After": Rate applies once they pass the threshold 3. **Sales Target**: Number of sales they need to hit 4. **Time Frame**: How long the target applies - Monthly: Resets each month - Ever: Lifetime total 5. **Product Specificity** (Optional): Apply the rule to specific in-app purchases - Leave empty to apply the rule to all products - Select specific IAPs to create targeted incentives for higher-value items ### Product-Specific Commission Rules You can now create advanced commission rules that apply only to specific in-app purchases, allowing you to incentivize sales of your most profitable products more effectively. **Example Use Cases:** - Offer 20% commission on sales of your premium annual subscription while maintaining 10% on monthly subscriptions - Create tiered bonuses for affiliates who sell specific product bundles - Reward affiliates more generously for promoting high-margin items **How to Set Product-Specific Rules:** 1. When creating or editing an advanced commission rule, find the "Product" or "In-App Purchase" selector 2. Leave it empty to apply the rule to all products (default behavior) 3. Or select one or more specific products to target the rule 4. The most beneficial matching rule will automatically apply based on the purchased product ### Example Structures Here are some motivating commission structures: **Basic Performance Ladder:** ``` Default Rate: 2% Rule 1: 10% after 5 sales in a month Rule 2: 15% after 10 sales in a month ``` **Product-Specific Incentives:** ``` Default Rate: 5% Rule 1: 15% on Annual Subscription (all sales) Rule 2: 20% after 10 Annual Subscription sales in a month Rule 3: 8% on Monthly Subscription (all sales) ``` ### Rule Priority The system always applies the most beneficial rule: 1. Advanced commission rules set on the individual affiliate (highest priority) 2. Company-wide default advanced commission rules (used when the affiliate has no rules of their own) 3. Individual affiliate rates 4. Global default rate (lowest priority) ### Common Questions **How Often Do Commission Rates Update?** Commission rates update in real-time as affiliates hit their sales targets. Monthly rules reset at the start of each month. **What Happens If an Affiliate Doesn't Meet Their Target?** They'll receive the default commission rate until they hit their target. ## Daisy Chain Commission Create multi-tier affiliate structures where parent affiliates earn commissions from their recruited affiliates' sales. This powerful feature enables you to build affiliate manager programs, agency partnerships, and team-based commission structures. > **Note:** Daisy Chain Commission is a premium feature available on Growth and Enterprise plans. [Check our pricing page](https://insertaffiliate.com/#pricing) to see which plan is right for you. ### What Is Daisy Chain Commission? Daisy Chain Commission allows you to create hierarchical affiliate relationships where one affiliate (a "parent") automatically earns a commission when another affiliate (a "child") generates a sale. The parent's commission can be either a **percentage** of the original transaction price or a **fixed dollar amount** per transaction. **Key Concept:** Parent commissions are calculated separately from the original transaction price - they do NOT reduce the child affiliate's earnings. Both affiliates earn their full commissions independently. ### How It Works When a child affiliate generates a sale: 1. **Child affiliate earns their normal commission** based on their commission rate 2. **System checks if they have a parent affiliate** configured 3. **Parent affiliate earns their daisy chain commission** — either a percentage of the original transaction price or a fixed amount 4. **Both commissions are tracked separately** in your transactions **Percentage Example:** ``` Original Sale: $100 Child Affiliate Rate: 15% Child Earns: $15 Daisy Chain Parent Percentage: 10% Parent Earns: $10 (10% of $100 original sale) Important: The parent's $10 does NOT come from the child's $15 Both earn their commissions independently from the original transaction ``` **Fixed Amount Example:** ``` Original Sale: $100 Child Affiliate Rate: 15% Child Earns: $15 Daisy Chain Parent Fixed Amount: $5.00 Parent Earns: $5.00 per transaction ``` **Fixed Amount Capping:** When using a fixed amount, the parent's commission is capped at the original transaction price. This prevents the commission from exceeding the sale value. ``` Original Sale: $2.00 Daisy Chain Parent Fixed Amount: $5.00 Parent Earns: $2.00 (capped at the transaction price, not $5.00) ``` ### Setting Up Daisy Chain Commission #### Step 1: Configure the Parent Relationship 1. Go to [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Select the child affiliate 3. Press the "View Affiliate Settings" button 4. Find the "Daisy Chain Commission" section 5. Configure the required fields: - **Parent Affiliate**: Select the parent affiliate from the dropdown - **Commission Type**: Choose between "Percentage" or "Fixed Amount" - **Parent Commission Percentage**: If using percentage, enter the percentage the parent will earn (e.g., 10%) - **Parent Commission Fixed Amount**: If using fixed amount, enter the dollar amount the parent will earn per transaction (e.g., $5.00) #### Step 2: Validation Requirements For daisy chain to work properly: - Parent affiliate and commission must be set (can't have one without the other) - For percentage type: percentage must be greater than 0 - For fixed amount type: amount must be greater than 0 - Parent affiliate must exist in the same company - An affiliate cannot be their own parent The system automatically validates these rules and prevents invalid configurations. ### Automatic Daisy Chain via Signup Links Instead of manually configuring daisy chain relationships, you can enable **Daisy Chain Signup Links** that allow your affiliates to recruit new affiliates automatically. #### How It Works 1. An existing affiliate shares their unique signup link 2. A new affiliate signs up using that link 3. The daisy chain relationship is automatically established 4. The recruiting affiliate earns a percentage of the new affiliate's commissions #### Enabling Daisy Chain Signup Links 1. Go to [Settings → Affiliate Revenue Settings](https://app.insertaffiliate.com/settings#affiliate-revenue-settings) on the **Payments & Payouts** tab 2. Find "Daisy Chain Signup Links" 3. Toggle it to **Enabled** 4. Set the "Default Daisy Chain Commission Type" — choose "Percentage" or "Fixed Amount" 5. Set the default value: - For percentage: enter the percentage (e.g., 10%) - For fixed amount: enter the dollar amount (e.g., $5.00) 6. Save your settings #### How Affiliates Get Their Signup Link Once enabled, affiliates will see their referral link on their dashboard: 1. Affiliate logs into their dashboard 2. They'll see a "Refer Other Affiliates" section at the top 3. They can copy their unique signup link to share The link format is: ``` https://app.insertaffiliate.com/signup/affiliate?companyName=YourCompany&daisyChain=AFFILIATE_SHORT_CODE ``` #### Using with Embedded Signup Forms If you use an embedded iframe for affiliate signup, affiliates can add the `daisyChain` parameter to the URL: ```html ``` Replace `AFFILIATE_SHORT_CODE` with the recruiting affiliate's short code. #### Important Notes - **Must be enabled first**: The `daisyChain` parameter is ignored if this feature is disabled in settings - **Invalid codes ignored**: If the short code doesn't match an existing affiliate, signup continues normally without establishing a daisy chain - **Uses default percentage**: New signups use your configured default percentage (can be adjusted per-affiliate later) - **Affiliates see their link**: Only shown on the affiliate dashboard when the feature is enabled ### Use Cases **1. Affiliate Manager Program (Percentage)** ``` Setup: - Manager recruits 10 affiliates - Each recruited affiliate configured with manager as parent - Manager earns 5% on all their recruits' sales Benefit: Incentivizes affiliate recruitment without reducing individual earnings ``` **2. Agency/Reseller Model (Fixed Amount)** ``` Setup: - Agency has multiple client affiliates - Each client configured with agency as parent - Agency earns a fixed $3.00 per transaction from each client's sales Benefit: Predictable per-sale earnings for the agency regardless of transaction size ``` **3. Team-Based Structures** ``` Setup: - Team lead manages team members - Members configured with lead as parent - Lead earns 7% on team performance Benefit: Rewards leadership without penalizing team members ``` **4. Tiered Partnership Programs** ``` Setup: - VIP affiliates can recruit standard affiliates - VIP earns 8% on recruits' sales - Standard affiliates still earn full commissions Benefit: Creates growth incentives while maintaining competitive rates ``` ### Viewing Daisy Chain Transactions Daisy chain transactions appear in your regular transaction views with clear identification: 1. **All Transactions View** - Parent transactions marked as "Daisy Chain" - Shows relationship between parent and child - Includes original transaction reference 2. **Individual Affiliate View** - Child affiliates see their normal transactions - Parent affiliates see both: - Their direct sales (normal transactions) - Daisy chain commissions from recruited affiliates 3. **Transaction Details** - Original transaction ID - Child affiliate reference - Daisy chain commission applied (percentage or fixed amount) - For fixed amount commissions, a note if the amount was capped at the transaction price - All standard transaction metadata ### Showing Referred Affiliates to Parents You can optionally allow parent affiliates to see which affiliates are daisy-chained under them. This is controlled by a company-level setting: 1. Go to **Settings** → **Payments & Payouts** tab and find the **Daisy Chain Signup Links** section 2. Enable the **Show Daisy-Chained Affiliates to Parent** toggle When enabled, parent affiliates will see a **"Your Referred Affiliates"** section on their dashboard listing the email addresses and commission rates of affiliates they referred. This setting is off by default for privacy — enable it only if you want your affiliates to have visibility into their referral network. **Note:** This only shows affiliates to their direct parent. Affiliates cannot see other affiliates' children or any data beyond email and commission rate. ### Important Limitations **Single Level Only** Currently supports only one level of daisy chaining. If Affiliate A recruits Affiliate B, and Affiliate B recruits Affiliate C: - A earns from B's sales ✓ - B earns from C's sales ✓ - A does NOT earn from C's sales ✗ **Same Platform Support** Daisy chain commissions work across all transaction sources: - iOS App Store purchases ✓ - Google Play purchases ✓ - RevenueCat transactions ✓ - Apphud transactions ✓ - Iaptic transactions ✓ **Currency Handling** Parent transactions maintain the same currency conversion as the original child transaction, ensuring accurate commission calculations across all currencies. ### Best Practices for Daisy Chain 1. **Start Conservative**: Begin with 5-10% parent commissions (or a modest fixed amount) and adjust based on results 2. **Clear Communication**: Ensure both parent and child affiliates understand the structure 3. **Track Performance**: Monitor which parent affiliates are effectively recruiting and supporting their team 4. **Balanced Incentives**: Keep parent percentages attractive without reducing overall profitability 5. **Regular Review**: Assess parent-child relationships quarterly and adjust as needed ### Common Questions **Does daisy chain reduce the child affiliate's earnings?** No. The parent's commission is calculated separately from the original transaction price. Child affiliates always receive their full commission based on their configured rate. **Can I change the parent commission after setting it up?** Yes. You can update the daisy chain commission type, percentage, or fixed amount at any time. The new settings will apply to future transactions, but existing transactions retain their original commission configuration. **Can an affiliate be a parent and a child simultaneously?** Yes. An affiliate can be a parent to some affiliates while also being a child to another parent affiliate. This enables flexible team structures. **How are daisy chain commissions paid out?** Daisy chain commissions are paid the same way as regular commissions - through Stripe Connect or marked as paid externally. They appear as separate transaction line items in payment processing. **Can I remove a daisy chain relationship?** Yes. Simply clear both the parent email and percentage fields in the affiliate settings. Future transactions will no longer create parent commissions, but existing parent transactions remain unchanged. **What happens if I delete a parent affiliate?** Existing daisy chain transactions remain in the system for historical records. New transactions from child affiliates will no longer create parent commissions. You should reassign child affiliates to a new parent or remove the daisy chain configuration. **Can parent affiliates see who is daisy-chained under them?** Only if you enable the **Show Daisy-Chained Affiliates to Parent** toggle in your daisy chain settings. When enabled, parent affiliates see the email and commission rate of their referred affiliates on their dashboard. This is off by default. --- Ready to set up your commission structure? Head to [Settings](https://app.insertaffiliate.com/settings) to get started. --- # Affiliate Emails, Notification Settings & Automated Sequences | Insert Affiliate Source: https://docs.insertaffiliate.com/affiliate-emails > Learn about customising affiliate welcome emails, custom sender email settings, platform notification email with CC support, and automated email sequences for companies and affiliates. # Affiliate Emails & Automated Sequences Insert Affiliate sends intelligent, automated emails to both you and your affiliates throughout the entire affiliate lifecycle. From welcome emails to milestone celebrations, these emails are designed to keep your programme running smoothly and your affiliates motivated. --- ## Customising Welcome Emails When you add a new affiliate, Insert Affiliate sends them a welcome email with everything they need to get started. You can fully customise these emails to match your brand voice and messaging. There are **two types** of welcome email, depending on how the affiliate was created: ### Admin-Created Affiliate Email This email is sent when **you manually create an affiliate** from the dashboard. It includes a **password reset link** since you created their account on their behalf and they need to set their own password. **Default template variables:** - `{{affiliate_name}}` — The affiliate's display name - `{{affiliate_email}}` — The affiliate's email address - `{{company_name}}` — Your company name - `{{password_reset_link}}` — Link for the affiliate to set their password Affiliate Email Templates with the Admin-Created tab active in the Insert Affiliate dashboard settings

Click to view full size

### Self-Signup Affiliate Welcome Email This email is sent when **you approve a self-signup affiliate** application. It includes a **sign-in link** instead of a password reset link, since the affiliate already set their password during signup. **Default template variables:** - `{{affiliate_name}}` — The affiliate's display name - `{{affiliate_email}}` — The affiliate's email address - `{{company_name}}` — Your company name - `{{sign_in_link}}` — Link for the affiliate to sign in to their dashboard Affiliate Email Templates with the Self-Signup Welcome tab active in the Insert Affiliate dashboard settings

Click to view full size

### How to Customise 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Notifications & Emails** tab 2. Scroll to the **Email Templates** section 3. Switch between the **Admin-Created** and **Self-Signup Welcome** tabs 4. Edit the subject line and body using the available template variables 5. Use the **Preview Email** button to see how your email will look with sample data 6. Click **Save Changes** You can click the variable buttons above the editor to insert them at your cursor position. Use **Reset to Default** at any time to restore the original template. --- ## Custom Sender Email By default, all emails sent to your affiliates come from Insert Affiliate's email address. If you're on a **Growth** or **Enterprise** plan, you can choose to send affiliate-facing emails from your own **Contact Email** instead. This gives your affiliates a more branded, professional experience — they'll see your company name and email address as the sender rather than Insert Affiliate. ### What's Affected When enabled, the following emails will be sent from your Contact Email: - Welcome emails (both admin-created and self-signup) - Affiliate invitation emails - Pending approval notifications - Automated affiliate email sequences (onboarding, re-engagement, nudges, milestones, monthly summaries) - Team member invitation emails **Not affected:** Internal platform emails sent to you (e.g. new company signup notifications, billing alerts, support messages) will continue to come from Insert Affiliate. ### How to Enable 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Notifications & Emails** tab 2. Make sure your **Contact Email** is set to the email address you'd like affiliates to see 3. Find the **Affiliate Email Sender** section (below the notification email settings) 4. Tick the **"Send affiliate emails from my contact email"** checkbox 5. Click **Save Changes** When this setting is enabled, emails will show your company name as the display name and your Contact Email as the sender address. If an affiliate replies to one of these emails, the reply will go directly to your Contact Email. If you disable this setting or leave it unticked, all affiliate-facing emails will continue to be sent from Insert Affiliate's default address. **Note:** This feature requires a Growth or Enterprise plan. On Starter or Free plans, the checkbox will be visible but disabled, with a prompt to upgrade. --- ## Automated Email Sequences Beyond welcome emails, Insert Affiliate runs automated email sequences that guide both you and your affiliates through key moments. These emails are sent at the right time based on real activity data — not arbitrary schedules. ### Why Automated Emails Matter Affiliate programmes succeed when both sides stay engaged: - **For you (the company):** Automated emails help you stay on track with your affiliate programme, maintain consistent marketing efforts, and celebrate important milestones. Instead of your programme going quiet after setup, you get timely nudges to keep momentum going. - **For your affiliates:** Automated emails help your affiliates get activated early, stay motivated through their first days and weeks, and feel recognised for their efforts. Affiliates who receive timely onboarding emails reach their first sale significantly faster. **Time to activation** — the time between an affiliate joining and generating their first click or sale — is one of the most important metrics in affiliate marketing. These sequences are specifically designed to shorten that window and drive early engagement. --- ## Company Email Sequences These emails are sent to you (the company admin) to help you build and maintain a successful affiliate programme. ### Onboarding Sequence (Days 1–14) Guides you through the critical first two weeks of setting up your affiliate programme. | Day | Email | When It's Sent | |-----|-------|----------------| | Day 1 | **Getting Started** | If your SDK integration isn't set up yet | | Day 3 | **Add Your First Affiliate** | SDK is integrated but you haven't added any affiliates | | Day 5 | **Still No Affiliates** | A gentle reminder if you still have no affiliates | | Day 7 | **Drive Your First Clicks** | You have affiliates but no clicks yet | | Day 10 | **Programme Check-in** | If there's been no meaningful progress | | Day 14 | **Final Onboarding Nudge** | Last onboarding prompt before the sequence ends | Each email is **conditional** — you only receive it if the specific situation applies. If you're already ahead (e.g., you added affiliates on day 1), you'll skip the emails that don't apply to you. ### Activity Nudges Triggered by specific conditions rather than fixed schedules. | Email | When It's Sent | |-------|----------------| | **Approaching Affiliate Limit** | You've used 80% of your plan's affiliate slots | | **Hit Affiliate Limit** | You've reached 100% of your plan's affiliate slots | ### Milestone Celebrations Celebrate key achievements as your programme grows. | Milestone | Trigger | |-----------|---------| | **First Click** | Your programme receives its first click | | **10 Affiliates** | You've grown to 10+ affiliates | | **100 Clicks** | Your programme hits 100+ total clicks | | **$100 Revenue** | $100+ in affiliate-driven revenue | | **$1,000 Revenue** | $1,000+ in affiliate-driven revenue | ### Monthly Metrics Roundup On the **1st of each month**, you'll receive a summary of your programme's performance from the previous month, including affiliate activity, clicks, and revenue. --- ## Affiliate Email Sequences These emails are sent directly to your affiliates to help them succeed and stay motivated. ### Affiliate Onboarding (Days 1–7) Gets new affiliates up and running quickly during their critical first week. | Day | Email | When It's Sent | |-----|-------|----------------| | Day 1 | **Welcome & Getting Started** | Sent to all new affiliates | | Day 3 | **Tips for Success** | Practical tips for promoting effectively | | Day 7 | **No Clicks Yet** | If the affiliate hasn't generated any clicks | | Day 7 | **Clicks, No Sales** | If they have clicks but no conversions yet | ### Affiliate Re-engagement Keeps affiliates engaged if activity drops off. | Timing | Email | Trigger | |--------|-------|---------| | Day 14 | **Encouragement** | 14 days without their first sale | | Day 30 | **30-Day Check-in** | 30 days since their last sale | | Day 60 | **60-Day Re-engagement** | 60 days since their last sale | ### Affiliate Nudges Smart, condition-based emails that respond to real affiliate behaviour. | Email | When It's Sent | |-------|----------------| | **Clicks but No Conversions** | 15+ clicks with zero sales — tips to improve | | **Performing Great** | High conversion rate or consistent sales — recognition and encouragement | ### Affiliate Milestones Recognise and celebrate your affiliates' achievements to keep them motivated. | Milestone | Trigger | |-----------|---------| | **First Click** | Their link gets its first click | | **First Sale** | They generate their first conversion | | **10 Clicks** | 10+ total clicks | | **50 Clicks** | 50+ total clicks | | **100 Clicks** | 100+ total clicks | | **$100 Earned** | $100+ in total commissions | | **$500 Earned** | $500+ in total commissions | | **First Payout** | They receive their first payment | ### Affiliate Monthly Summary On the **1st of each month**, active affiliates receive a summary of their performance — clicks, sales, earnings, and how they're tracking. --- ## Platform Notification Email By default, all system notification emails — such as "a new affiliate has joined", pending approval alerts, affiliate messages, and daily reports — are sent to your **Contact Email**. If you'd like these notifications to go to a different address, you can set a dedicated **Platform Notification Email**. This is useful if your public-facing contact email is different from the inbox where you manage your affiliate programme day-to-day. For example, you might use `hello@yourcompany.com` as your contact email but want notifications sent to `affiliates@yourcompany.com`. ### How to Set Up 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Notifications & Emails** tab 2. Find the **Platform Notification Email** field (below your Contact Email) 3. Enter the email address where you'd like to receive system notifications 4. Optionally, add up to **2 CC email addresses** to copy additional team members on all notification emails 5. Click **Save Changes** If you leave the Platform Notification Email blank, notifications will continue to be sent to your Contact Email as before. ### What's Affected The following notifications will be sent to your Platform Notification Email (or Contact Email if not set): - New affiliate joined your programme - Pending affiliate approval requests - Messages from affiliates - Daily and monthly email reports - Automated company email sequences (onboarding, activity nudges, milestones) **Note:** This setting only controls where *you* receive notifications. It does not affect emails sent to your affiliates. To customise the sender address on affiliate-facing emails, see [Custom Sender Email](#custom-sender-email) above. --- ## Email Preferences ### Company Email Preferences You can manage your email preferences from your [Settings](https://app.insertaffiliate.com/settings) page (**Notifications & Emails** tab). You can pause all automated sequence emails if needed — transactional emails (like welcome emails and payment confirmations) will still be sent. ### Affiliate Email Preferences Affiliates can manage their own email preferences from their dashboard. They can opt out of specific email types while continuing to receive others. Transactional emails cannot be disabled. --- ## How Emails Drive Affiliate Success ### Faster Time to Activation The onboarding sequences for both companies and affiliates are designed to shorten the time between signup and first meaningful action. For companies, that means getting your SDK integrated and affiliates added. For affiliates, that means sharing their link and generating their first clicks and sales. ### Consistent Programme Management The company email sequences act as an automated programme manager — keeping you on track, flagging when attention is needed, and celebrating wins so you maintain momentum. ### Affiliate Motivation and Retention Affiliates who feel supported and recognised perform better and stick around longer. The milestone celebrations, performance nudges, and monthly summaries give affiliates a sense of progress and achievement. Rather than promoting in silence, they get regular feedback that their efforts are working. ### Early Intervention Re-engagement emails catch both companies and affiliates before they disengage completely. A timely nudge at day 14 or day 30 is far more effective than trying to win someone back after months of inactivity. --- Ready to customise your welcome emails? Head to [Settings](https://app.insertaffiliate.com/settings) (**Notifications & Emails** tab) to get started, or learn more about [creating affiliates](/create-affiliate) and [affiliate self-signup](/create-affiliate-affiliate-self-signup). --- # Affiliate Training Resources Source: https://docs.insertaffiliate.com/affiliate-training-resources > Upload and manage training materials to help your affiliates market your product effectively. # Affiliate Training Resources This section allows you to upload and manage training materials — such as PDFs, slide decks, videos, or images — that will be accessible to your affiliates via their dashboard. These resources are a key way to ensure your affiliates are well-informed, aligned with your brand, and equipped to drive meaningful conversions. ## How to Upload Resources 1. Use the [Affiliate Training Resources](https://app.insertaffiliate.com/affiliate-training-resources) section to add new documents or videos. 2. Supported formats include PDF, PowerPoint, MP4, and standard image types. 3. Each file is made instantly available to all your affiliates once uploaded. Affiliate Training Resources admin page in the Insert Affiliate dashboard

Click to view full size

Your available storage depends on your subscription package. You can manage or upgrade your storage anytime in the [Billing section](https://app.insertaffiliate.com/billing). ## Best Practices - Include an introductory PDF or video to welcome affiliates and explain your brand's core offering. - Add visual assets (e.g. logos, screenshots) to help affiliates maintain brand consistency. - Update resources regularly to reflect new campaigns or product features. --- # Marketplace Source: https://docs.insertaffiliate.com/app-affiliate-marketplace # Marketplace The Insert Affiliate marketplace connects companies and affiliates, creating opportunities for partnerships and expanding your affiliate network. Companies can showcase their apps to attract new affiliates, while affiliates can discover new companies to partner with. ## Overview The marketplace serves two primary purposes: - **For Companies**: Attract new affiliates by showcasing your app and commission rates - **For Affiliates**: Discover new partnership opportunities with companies looking for affiliates ## Enterprise Marketplace Service > **Enterprise Plan Exclusive**: Available only for [Enterprise plan customers](https://insertaffiliate.com/#pricing) Enterprise customers receive **3 hours per month** of dedicated affiliate prospecting service. Our team will actively search for and identify potential affiliates in your specific app niche. ### How It Works **Example**: If you have an American travel app, we'll search for travel and tourism influencers in your target states and recruit them to our marketplace, where you can then invite them partner with your app. ### Requirements To receive this service, you must: 1. **Be subscribed to the Enterprise plan** 2. **Opt into marketplace visibility** in your [company settings](https://app.insertaffiliate.com/settings) 3. **Request the service directly** by emailing our team with your app niche and target demographics ### Important Notes - **No guarantees**: We provide no guarantees that we will find suitable affiliates during the allocated time - **Best effort basis**: Our team uses industry expertise to identify potential matches - **Monthly allocation**: 3 hours per month, does not roll over to subsequent months - **Must be requested**: This service is not automatic - you need to email us to activate it ### Getting Started 1. Ensure you're on the Enterprise plan 2. Enable marketplace visibility in your settings 3. Email our support team with: - Your app details and niche - Target demographics or geographic regions - Any specific requirements for potential affiliates Our team will then begin the search process and reach out to potential affiliates on your behalf. ## Company Marketplace Setup ### Opting Into the Marketplace To make your company discoverable in the marketplace: 1. Go to your [company settings](https://app.insertaffiliate.com/settings) 2. Enable "Opt into Marketplace" option 3. Complete your company profile information Marketplace Visibility setting in Company Settings with the enable marketplace visibility checkbox ticked and highlighted

Click to view full size

### Company Profile Information When setting up your marketplace profile, provide the following information: **Required Information:** - Company name - Commission percentage for affiliates - Contact email **Optional but Recommended:** - Company description (brief overview) - Company bio (detailed information about your business) - Website links - Social media links - iOS App Store link - Google Play Store link ### Managing Affiliate Requests Once your company is in the marketplace, affiliates can request to join your program. You'll be able to: 1. **Review Requests** - View affiliate requests in your [affiliate marketplace dashboard](https://app.insertaffiliate.com/company-invites) - See affiliate profiles and information - Review their marketing experience and audience 2. **Accept or Reject Requests** - Accept qualified affiliates to add them to your program - Reject requests that don't meet your criteria ### Inviting Affiliates Directly You can also proactively invite affiliates to join your program: 1. Search for affiliates in the [affiliate marketplace](https://app.insertaffiliate.com/company-invites) 2. Send direct invitations to promising candidates Affiliate Marketplace page showing the direct invitation email field highlighted and marketplace affiliate cards with invite and view options

Click to view full size

### What You See on an Affiliate Card Each affiliate card in the marketplace shows: - **Niche tags**: what the affiliate makes content about (up to three, for example Fitness, Beauty, Education) - **Audience**: their self-reported total audience across platforms, as a range - **Apps**: how many companies the affiliate already works with - **Earnings**: their total commission earned across all companies - **Last active**: when they last used their dashboard or responded to an invite - **Avg. invite response**: how quickly they typically accept or decline company invites ("No data" until they have answered at least one) - **Open to being paid by**: the payment types the affiliate has said they are open to, for example a sign-on payment, a payment per post, a percentage of sales, or a CPM rate, with the amounts or ranges they gave - **Connected platforms and recent posts**, when the affiliate has linked TikTok or YouTube Affiliates' email addresses are never shown unless the affiliate has chosen to share theirs. When they have, a mail link appears under their name. ### Finding the Right Affiliates The filter bar above the grid narrows the list without opening each profile. You can search by name, handle or bio, and filter by niche, audience size, country, platform (TikTok or YouTube), payment type the affiliate is open to, and whether they are ready to be paid through Stripe. Sort by top earners, largest audience, recently active, or fastest to respond to invites. The count shows how many affiliates match. ### Messaging an Affiliate Click **Send message** on any card to contact an affiliate before inviting them. Your message is emailed to the affiliate by Insert Affiliate, so you do not need their address and they do not see yours until they reply. Replies go to your company notification email (set in [company settings](https://app.insertaffiliate.com/settings)); if none is set, they go to your account email. You can send one message per affiliate. A follow-up is only possible once the affiliate has replied (using the reply button in the email) or has accepted or rejected your invite. Sign-on payments and per-post payments that you agree with an affiliate are paid using [one-off payments](https://docs.insertaffiliate.com/paying-affiliates) from the affiliate's page. ## Affiliate Marketplace Experience ### Discovering Companies As an affiliate, you can browse the marketplace to find new partnership opportunities: 1. Go to the [marketplace section](https://app.insertaffiliate.com/affiliate-invites) in your dashboard 2. Browse available companies 3. View detailed company profiles ### Company Profiles Each company profile includes: - **Commission Rate**: Percentage you'll earn on successful referrals - **Company Description**: Brief overview of the company - **About Section**: Detailed information about the business - **Links**: Website and social media links - **App Links**: Direct links to iOS and Android apps - **Contact Information**: How to reach the company ### Requesting to Join Companies To partner with a company: 1. Review the company profile thoroughly 2. Click "Request to Join" on companies that interest you 3. Wait for the company to review your request 4. If approved, you'll be notified of their decision ### Telling Companies How You Like to Be Paid Right after you opt into the marketplace you are asked a few questions so companies can find you. This is optional and you can skip it. First, **what you make content about** (pick up to three niches, for example Fitness, Beauty, Education) and **roughly how big your total audience is** across platforms, as a range. Both appear on your card and companies filter the marketplace by them. Then, **how you would like companies to pay you**. You can tick more than one option: - **A sign-on payment for joining**, with the amount you would expect - **A payment per post you create**, as a range - **A percentage of sales**, as a range, or your own answer - **CPM**, your rate per 1,000 views If you tick more than one, you also say whether you want them together (for example a sign-on payment and a percentage of sales) or whether any one of them is fine. Companies see this as "and" or "or" on your card. All amounts are in USD. Your answers appear on your marketplace card so the right offers reach you, and you can change them at any time under **Payment preferences** in your [affiliate settings](https://app.insertaffiliate.com/affiliate-settings). You can also choose to **share your email address with companies**. This is off by default. When it is off, companies can still message you through Insert Affiliate, but they never see your address unless you reply. ### Managing Company Invites Companies may also invite you directly to join their program: 1. **View Invites**: Check your ["Company Invites" section](https://app.insertaffiliate.com/company-invites) 2. **Review Details**: Examine the company profile and commission structure 3. **Accept or Reject**: Make a decision based on your criteria 4. **Start Promoting**: Begin promoting accepted companies immediately ## Request and Invite Status ### Status Types **For Affiliate Requests:** - **Pending**: Your request is under review - **Accepted**: You've been approved and can start promoting - **Rejected**: Your request was declined **For Company Invites:** - **Pending**: Invitation waiting for your response - **Accepted**: You've joined the company's program - **Rejected**: You've declined the invitation ### Status Management All statuses are updated in real-time: - Receive notifications when statuses change - View current status directly on company cards - Track your partnership history ## Best Practices ### For Companies 1. **Complete Your Profile** - Add detailed descriptions and company information - Include high-quality app store links - Provide clear contact information 2. **Set Competitive Commission Rates** - Research industry standards - Consider the value affiliates bring to your business 3. **Set Up Stripe Connect for Easy Payments** - Connect your Stripe account in [company settings](https://app.insertaffiliate.com/settings) - Complete Stripe verification to enable direct payments to affiliates - This makes you more attractive to affiliates who prefer quick, simple payments - See our [Stripe Connect guide](https://docs.insertaffiliate.com/paying-affiliates/stripe-connect) for detailed setup instructions 4. **Respond Promptly** - Review affiliate requests quickly - Maintain professional communication 5. **Showcase Your App** - Include compelling app descriptions - Add links to both iOS and Android versions - Highlight what makes your app unique ### For Affiliates 1. **Research Companies Thoroughly** - Review app ratings and reviews - Check company websites and social media - Understand the target audience 2. **Quality Over Quantity** - Focus on companies that align with your audience - Choose apps you can genuinely recommend - Maintain authenticity in your promotions 3. **Set Up Stripe Connect for Quick Payments** - Connect your Stripe account in [affiliate settings](https://app.insertaffiliate.com/affiliate-settings) - Complete Stripe verification to receive direct payments from companies - This makes you more attractive to companies who prefer simple payment processing - See our [Stripe Connect guide](https://docs.insertaffiliate.com/paying-affiliates/stripe-connect) for detailed setup instructions 4. **Professional Approach** - Complete your affiliate profile - Provide accurate information about your audience - Respond promptly to company invitations 5. **Build Relationships** - Communicate professionally with companies - Provide regular updates on performance - Seek feedback and optimization opportunities ## Frequently Asked Questions ### Company Questions **Q: How do affiliates find my company in the marketplace?** A: Affiliates browse the marketplace and can filter by commission rates, industry, and other criteria. Having a complete profile increases your visibility. **Q: Can I remove my company from the marketplace?** A: Yes, you can opt out of the marketplace at any time in your company settings. This will hide your profile from new affiliate searches. **Q: What happens to existing affiliates if I leave the marketplace?** A: Existing affiliate relationships remain unchanged. Only new discovery through the marketplace is affected. ### Affiliate Questions **Q: Can I work with multiple companies from the marketplace?** A: Yes, you can partner with as many companies as you like, provided they accept your requests or you accept their invitations. **Q: What if a company rejects my request?** A: You can request to join other companies. Each company has different criteria, so rejection from one doesn't affect your ability to join others. **Q: How do I know if a company is legitimate?** A: Review their app store presence, website, and social media. Companies with complete profiles and established apps are generally more reliable. ## Support If you need help with the marketplace: - Check this documentation for common questions - Contact our support team through the dashboard - Reach out via email for specific partnership questions --- # Apphud Setup guide Source: https://docs.insertaffiliate.com/apphud > Set up Apphud ready to create a new affiliate with Insert Affiliate # Setting up Apphud > **Important:** You must be on an [Apphud plan](https://apphud.com/pricing) that provides access to the Customers API. To get started, [create a Apphud account](https://app.apphud.com/sign_up). After creating an account, follow the Apphud setup guide, which can be [found here](https://docs.apphud.com/docs/quickstart). If you encounter any problems whilst setting up your Apphud account, check out the [Apphud Support](https://apphud.com/contact) section for assistance. ## IOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Apphud setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-4-apphud) ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the Apphud setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-4-apphud) --- # AppsFlyer and Insert Affiliate - Setup guide Source: https://docs.insertaffiliate.com/appsflyer > Set up AppsFlyer ready to create a new affiliate with Insert Affiliate # Setting up AppsFlyer To get started, [create an AppsFlyer account](https://www.appsflyer.com/) After creating an account, follow The platform specific AppsFlyer setup guides. If you encounter any problems whilst setting up your AppsFlyer account, contact [AppsFlyer Support](https://support.appsflyer.com/hc/en-us) for assistance. ## iOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/deep-linking-appsflyer.md) ## Android Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK/blob/main/docs/deep-linking-appsflyer.md) in the GitHub repository. ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/deep-linking-appsflyer.md) ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/deep-linking-appsflyer.md) in the GitHub repository. ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/deep-linking-appsflyer.md) ## Creating a Link with AppsFlyer Use AppsFlyer OneLink to generate a deep link that opens your app. For a step-by-step walkthrough, see [Example: Creating a Link with AppsFlyer](/create-affiliate#example-creating-a-link-with-appsflyer). --- # Attribution Timeout Window Source: https://docs.insertaffiliate.com/attribution-timeout > Configure attribution timeout settings to control how long affiliate links remain valid for tracking across iOS, Android, React Native, and Flutter platforms. # Attribution Timeout Window The **Click Attribution Window** defines how long an affiliate remains eligible to receive credit for a **first-time purchase** after a user clicks their link or enters a short code. Once this window expires, any *new* purchases from that user will no longer be attributed to the affiliate. This feature helps you balance fairness and flexibility — rewarding affiliates for timely conversions without leaving old clicks open indefinitely. ## Overview This setting is supported across all Insert Affiliate SDKs and can be configured during SDK initialisation. If no value is set, affiliate attributions remain active indefinitely until disabled. --- ## Click Attribution vs Renewal Attribution | Setting | Applies To | Description | |----------|-------------|--------------| | **Click Attribution Window** | First purchase | Time allowed between affiliate link click and initial purchase. | | **Renewal Attribution Window** | Renewals of that purchase | Time period after the *initial sale* during which renewals of that same transaction continue to reward the affiliate. | ## Platform Configuration ### iOS (Swift SDK) Configure the attribution timeout using the `affiliateAttributionActiveTime` parameter during SDK initialization. **Default behavior:** No timeout (attribution can persist indefinitely) [View iOS configuration examples →](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#attribution-timeout-control) ### Android Configure the attribution timeout during SDK initialization. **Default behavior:** No timeout (attribution disabled by default) [View Android configuration examples →](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#attribution-timeout-control) ### React Native Configure the attribution timeout as the fifth parameter in the `initialize()` method. You can also enable [Prevent Affiliate Transfer](/prevent-affiliate-transfer) as the sixth parameter. **Default behavior:** No timeout (attribution disabled by default) [View React Native configuration examples →](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#attribution-timeout-control) ### Flutter Configure the attribution timeout using the `attributionTimeout` parameter. **Default behavior:** Disabled (set to 0 by default) **Note:** Setting a non-zero value enables attribution tracking for the specified duration. [View Flutter configuration examples →](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#attribution-timeout-control) ### Unity Configure the attribution timeout during SDK initialization. **Default behavior:** No timeout (attribution disabled by default) [View Unity configuration examples →](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#-advanced-features) ## Timeout Duration Examples Here are common timeout durations converted to seconds: | Duration | Seconds | Use Case | |----------|---------|----------| | 1 day | 86,400 | Short-term promotions | | 7 days | 604,800 | Standard affiliate tracking | | 30 days | 2,592,000 | Extended attribution window | | 90 days | 7,776,000 | Long-term partnerships | --- # Auto Chunk Payments | Insert Affiliate Source: https://docs.insertaffiliate.com/auto-chunk-payments > Split affiliate commission payments into smaller scheduled chunks. Manage cash flow by breaking annual or high-value subscription commissions into monthly or interval-based payments. # Auto Chunk Payments Split affiliate commission payments for specific in-app purchases into smaller chunks that appear on the affiliate dashboard at set intervals. This is useful for managing cash flow on high-value subscriptions — for example, splitting an annual subscription commission into 12 monthly payments instead of paying the full amount upfront. ## Availability Auto chunk payments is an **Enterprise plan** feature, currently available for **RevenueCat** transactions only. If you use a different purchase verification method and would like this feature, you can request it directly from the settings page. ## How It Works When a transaction comes in for a product that has a chunk rule configured: 1. The original commission is calculated as normal (e.g. 30% of a $99.99 annual subscription = $30.00) 2. Instead of showing the full $30.00 as a single payment, it's split into smaller chunks (e.g. 12 x $2.50) 3. The first chunk is available immediately 4. Subsequent chunks become available on the schedule you choose (monthly on the 1st of each month, or at a custom day interval) 5. Affiliates only see chunks that have become available — future chunks are hidden from their view 6. Only available chunks count towards the affiliate's total owed balance The original transaction is still recorded for audit purposes but is excluded from all totals and payment displays. ## Setting Up Chunk Rules 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Payments & Payouts** tab 2. Scroll to the **Auto Chunk Payments** section 3. Click **Add Chunk Rule** 4. Configure the rule: | Setting | Description | |---------|-------------| | **IAP Product ID** | The in-app purchase product ID to apply chunking to (e.g. `com.yourapp.annual_subscription`). Must match the product ID exactly as it appears in your RevenueCat transactions. | | **Number of Chunks** | How many payments to split the commission into (minimum 2, maximum 20). | | **Schedule Type** | Choose **Monthly (1st of each month)** to release chunks on the 1st of each following month, or **Custom interval (days)** to set a specific number of days between each chunk. | | **Days Between Chunks** | Only shown for custom interval schedules. The number of days between each chunk becoming available (e.g. 7 for weekly, 30 for approximately monthly). | 5. Click **Save** to apply Auto Chunk Payments section in Settings with a configured rule splitting an IAP product into 12 monthly chunks, and the Add Chunk Rule button highlighted

Click to view full size

Each product ID can only have one chunk rule. Changes only apply to future transactions — existing chunked payments are not affected. ## Example You sell an annual subscription at $99.99 with a 30% affiliate commission ($30.00). You configure a chunk rule with 12 monthly chunks: - **Chunk 1** ($2.50): Available immediately when the purchase happens - **Chunk 2** ($2.50): Available on the 1st of the next month - **Chunk 3** ($2.50): Available on the 1st of the month after that - ...and so on through **Chunk 12** The affiliate sees each chunk appear on their dashboard as it becomes available. Their total owed balance only includes chunks that have reached their available date. ## Viewing Chunked Payments ### As a Company Admin When viewing an affiliate's transactions in [Search Affiliate](https://app.insertaffiliate.com/affiliate-search), you'll see a **Chunked Payments** tab if the affiliate has any chunked transactions. This tab shows: - **Summary cards**: Available total, Paid, Unpaid, and Scheduled amounts - **Available chunks**: Chunks that have reached their available date, with the ability to mark as paid or pay via Stripe - **Scheduled chunks**: Future chunks that haven't reached their available date yet, shown greyed out with their scheduled date - **Cancelled chunks**: Any chunks that were cancelled due to a refund Click the info icon next to any chunk number to see all chunks for that transaction grouped together, showing their status at a glance. The original transaction (e.g. the full $30.00 commission) is hidden from the In App Transactions tab to avoid double-counting. It still exists in the database for audit purposes. ### As an Affiliate Affiliates see their available chunks in the **Chunked Payments** tab on their dashboard. They can only see chunks that have already become available — future scheduled chunks are not visible. This means their total owed balance accurately reflects what is currently payable. ## Refunds If a customer receives a refund for a chunked product, matching negative refund chunks are created for each original chunk: - Refund chunks have the **same available date** as the original chunk they offset - Available chunks get an immediate negative refund chunk, netting them to $0 - Future chunks also get a matching negative refund chunk at the same scheduled date, so when that date arrives both the original chunk and its refund appear together, netting to $0 - Nothing is hidden or cancelled — the full audit trail is preserved ## Things to Note - Only one chunk rule can be set per product ID - Chunking only applies to **RevenueCat in-app transactions** (not Stripe web billing) - The commission percentage or fixed amount is calculated as normal before chunking — chunking only affects how the resulting amount is split and displayed - Rounding: if the commission doesn't divide evenly, earlier chunks receive the rounded-down amount and the final chunk absorbs any remainder to ensure the total is exact - Chunk rules are snapshotted at creation time — if you change a rule, only future transactions are affected --- # Branch Setup guide Source: https://docs.insertaffiliate.com/branch > Set up Branch.io ready to create a new affiliate with Insert Affiliate # Setting up Branch To get started, [create a Branch account](https://dashboard.branch.io/) After creating an account, follow the platform specific Branch.io setup guides, which can be [found here](https://help.branch.io/developers-hub/docs/native-sdks-overview). If you encounter any problems whilst setting up your Branch account, contact [Branch Support](https://help.branch.io/using-branch/page/submit-a-ticket) for assistance. ## iOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/deep-linking-branch.md) ## Android Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK/blob/main/docs/deep-linking-branch.md) ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/deep-linking-branch.md) ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/deep-linking-branch.md) ## Javascript / Capacitor Setup #### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Javascript SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk/blob/main/docs/deep-linking-web.md) ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/deep-linking-branch.md) ## Creating a Link with Branch.io Use Branch Quick Links to generate a deep link that opens your app. For a step-by-step walkthrough, see [Example: Creating a Link with Branch.io](/create-affiliate#example-creating-a-link-with-branch-io). --- # Create Affiliate (Single Link) Guide Source: https://docs.insertaffiliate.com/create-affiliate > Guide to creating an affiliate in Insert Affiliate using Branch.io or any deep linking platform. # Creating a New Affiliate This guide explains how to create a single affiliate using any deep linking platform. For bulk affiliate sign-ups and to enable affiliates to sign up without your manual intervention, refer to [Creating an Affiliate [Affiliate Self Signup]](/create-affiliate-affiliate-self-signup). ## Step 1: Open the Insert Affiliate Dashboard Go to the [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page on Insert Affiliate and select "Create Affiliate (Admin)". ## Step 2: Enter Affiliate Details Provide the affiliate’s name and email address. Create an Affiliate form in the Insert Affiliate dashboard

Click to view full size

## Generate an Affiliate Link Use any deep linking platform of your choice to create a link that opens your app when clicked. This link will be assigned to the affiliate. Our recommended is [Branch.io](https://docs.insertaffiliate.com/branch). ### General Steps 1. **Create a Deep Link**: Use any deep linking platform to generate a link that opens your app. 2. **Copy the Link**: Paste it into the **Affiliate Deep Link** field in Insert Affiliate. **Example Link** ```plaintext https://insert.app.link/vessp13GH0lb ``` ## Example: Creating a Link with Insert Links For information on how to create a link for your affiliate with Insert Links, check out our [guide](http://docs.insertaffiliate.com/insert-links#enable-affiliate-self-signup) ## Example: Creating a Link with Branch.io 1. Go to [Branch Quick Link](https://dashboard.branch.io/quick-links/qlc/). 2. Enter a **Link Name** (optional). 3. Skip **Analytics Tags** 4. Ensure **Redirects** are set to "default redirect." 5. Skip **Link Data**. 6. Click **Save & Continue** 7. Copy the generated link and paste it into the **Affiliate Deep Link** field in Insert Affiliate. ### Video Walkthrough Watch this step-by-step video on creating a deep link in Branch.io and adding it to Insert Affiliate:
## Example: Creating a Link with AppsFlyer 1. Go to [AppsFlyer OneLink creation page](https://hq1.appsflyer.com/onelink). 2. Follow the [AppsFlyer OneLink setup guide](https://support.appsflyer.com/hc/en-us/articles/208874366-Create-a-OneLink-link-for-your-campaigns) to create your OneLink. 3. Copy the generated OneLink and paste it into the **Affiliate Deep Link** field in Insert Affiliate. ### Fast path for additional AppsFlyer links - Click **+ New Link**. - Select **Custom experience**. - Set the custom media source name to **Insert Affiliate**. - Skip additional optional settings. - Click **Create link** and paste the result into the **Affiliate Deep Link** field in Insert Affiliate. ### Bulk creation (paid AppsFlyer feature) AppsFlyer offers a bulk link creation tool for generating multiple OneLinks at once. This is a paid feature available within AppsFlyer. Learn more and access it at [AppsFlyer Bulk Links](https://hq1.appsflyer.com/onelink/bulk-links). --- # Creating Affiliates (Bulk Link) Guide Source: https://docs.insertaffiliate.com/create-affiliate-affiliate-self-signup > Learn how to create bulk deep links for new affiliates using Branch.io or any other deep linking platform in Insert Affiliate. # Creating a New Affiliate This guide will help you, as the admin of a company, enable affiliates to self-register with your company. **You can choose between two deep linking methods:** 1. **Branch.io** – Automatically **generate** deep links using the Branch.io bulk link creation process. 2. **Other Deep Linking Platforms** – Manually enter a comma-separated list of deep links. If you wish to manually create a single affiliate instead, see [Creating an Affiliate (Admin Creation)](/create-affiliate). --- ## 1. Choosing a Deep Linking Platform When creating bulk affiliate links, first select whether you are using: - **Branch.io** – If your deep links are generated via Branch.io. - **Other Platforms** – If you already have deep links and want to upload them directly. After selecting a platform, follow the relevant steps below. --- ## 2. Creating Multiple Deep Links for Affiliate Signup ### **Method 1: Using Branch.io** If you are using Branch.io for deep linking, follow these steps: 1. **Download the CSV Template** - Visit the [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page. - Select **Enable Affiliate Self-Signup** and download the "personal Deep Link CSV template" with the download button. 2. **Generate Links in Branch.io** - Go to the [Branch Bulk Links Manager](https://dashboard.branch.io/quick-links/manager/link/bulk). - Upload the CSV file and press **Create Links**. 3. **Export the Generated Deep Links** - Go to the [Branch Export Deep Links](https://dashboard.branch.io/quick-links/manager/export). - Export the deep links you just created (select today’s date for easiest filtering). 4. **Upload to Insert Affiliate** - Return to the Insert Affiliate platform and upload the exported deep links CSV. Once uploaded, these deep links will automatically be assigned to affiliates when they sign up. --- ### **Method 2: Using Any Other Deep Linking Platform** If you are using another deep linking platform, follow these steps: 1. **Enter Your Deep Links** - On the [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page, select **Enable Affiliate Self-Signup**. - Instead of downloading a template, enter a **comma-separated list** of deep links. - Example format: ``` https://your-deeplink.com/abc123, https://your-deeplink.com/xyz789 ``` 2. **Submit Your Deep Links** - Click **Submit** to upload the deep links. - These will be stored and automatically assigned to affiliates when they register. --- ## 3. Affiliate Signup Requirements To sign up as an affiliate, users need to know **your company name** within the Insert Affiliate platform. To find your company name: - Go to the [Settings Page](https://app.insertaffiliate.com/settings) (**General** tab). - Share your company name with affiliates so they can register. --- ## 4. Affiliate Signup Process Affiliates can sign up by following these steps: 1. **Visit the Signup Page** - Direct affiliates to [Insert Affiliate Signup](https://app.insertaffiliate.com/signup/affiliate). 2. **Enter Your Company Name** - They must enter your **company name** exactly as it appears in Insert Affiliate. 3. **Deep Link Assignment** - Upon signup, the affiliate will automatically receive one of the pre-generated deep links. - They can start sharing this link to **earn commissions for your company**. ## 4.5. Embedding the Affiliate Signup Form on Your Website (Optional) You can allow affiliates to register **directly from your own website** by embedding the Insert Affiliate sign-up form as an iFrame. ### How to Use the iFrame Embed Widget: 1. Go to the [Settings page](https://app.insertaffiliate.com/settings#affiliate-signup-form) (**Branding** tab) and find the **Affiliate self-signup form** section. 2. Under **Appearance**, customise the background, text and button colours, and optionally set a custom form title — or toggle **Sync embed with brand colour** to have the embed use your brand colour automatically instead. 3. Check the **Embed preview** to see how the form will look. 4. In the **Embed code** section, click **Copy embed code**. 5. Paste it into your website's HTML where you want the sign-up form to appear. **Example Embed Code:** ```html ``` --- ## 4.6. Custom Deep Links (Optional) If your affiliates already have their own deep links — for example, from AppsFlyer, Branch.io, or another provider — you can bypass the unassigned deep link pool entirely. Instead of assigning a link from your pool, the affiliate's own deep link is used directly. This is done by adding the `deeplink` parameter to your signup URL (both the hosted signup page and the iFrame embed). ### Option 1: Prefill a specific deep link Use this when you already know the deep link for a particular affiliate. The link is passed silently — the affiliate will not see or edit it during signup. Add `&deeplink=` followed by the **URL-encoded** deep link to your signup URL: ``` ...affiliate-signup-iframe?companyName=YOUR_COMPANY_NAME&deeplink=https%3A%2F%2Fmyapp.onelink.me%2Fabc123 ``` ### Option 2: Let the affiliate enter their own deep link Use this when each affiliate has their own link but you don't know it in advance. A text input will appear on the signup form for the affiliate to type their deep link URL. Add `&deeplink=null` to your signup URL: ``` ...affiliate-signup-iframe?companyName=YOUR_COMPANY_NAME&deeplink=null ``` ### Important notes - When a custom deep link is provided, **no links are taken from your unassigned deep link pool**. - The deep link URL must use **HTTPS**. - This works with any deep link provider (AppsFlyer OneLink, Branch.io, Insert Links, etc.). - Custom deep links also work with the hosted signup page URL, not just the iFrame embed. - You can find example URLs and documentation for these parameters on the [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page under **Custom Deep Links**. --- ## 4.7. Setting the Embed Language (Optional) The embedded sign-up form is available in English and Portuguese. By default, it detects the visitor's browser language automatically, but you can set it directly if you'd rather it always match your own website. ### Option 1: Set the language when the embed loads Add `&lang=` followed by a language code to your iFrame's `src` URL: ``` ...affiliate-signup-iframe?companyName=YOUR_COMPANY_NAME&lang=pt ``` Supported language codes: - `en` – English - `pt` – Portuguese ### Option 2: Change the language after the embed has loaded You can update the embed's language without reloading the form. From your website's JavaScript, send a message to the iframe: ```html ``` The embed switches language immediately, without losing anything the affiliate has already entered into the form. ### Using both together If your website has its own language picker, the two options above are designed to work together: 1. **On page load**, set `&lang=` in the iFrame's `src` URL to whichever language is currently selected in your language picker, so the embed opens already matching your site. 2. **When the visitor changes the language picker afterwards**, listen for that change on your site and forward it to the embed with `postMessage`, so the form updates to match without reloading the iframe. This keeps the embed in sync with your site's language at every point — both on first load and any time the visitor changes it. ### Important notes - If no language is set, the form falls back to the visitor's browser language, or English if that isn't supported. - This only applies to the embedded iFrame. The hosted sign-up page ([https://app.insertaffiliate.com/signup/affiliate](https://app.insertaffiliate.com/signup/affiliate)) has its own language switcher for the affiliate to use directly. --- ## 5. Requiring Affiliate Approval By default, affiliates are approved instantly when they sign up. If you want to review and manually approve each affiliate before they gain access, you can enable **Require Affiliate Approval**. ### Enabling Approval 1. Go to the [Settings Page](https://app.insertaffiliate.com/settings) (**Payments & Payouts** tab). 2. Toggle **Require Affiliate Approval** to on. When enabled, new affiliate signups will be held in a **Pending** state instead of being granted immediate access. ### What Happens When an Affiliate Signs Up (Approval Enabled) 1. The affiliate fills out the signup form as normal. 2. Instead of being logged in, they see a confirmation message: **"Application Submitted - Pending Approval"**. 3. No account or deep link is assigned yet — these are created only once you approve them. 4. A pending application is stored for your review. 5. You will receive an **email notification** with the applicant's details and a link to review their application. ### Reviewing Pending Affiliates 1. Go to [Manage Affiliates](https://app.insertaffiliate.com/manage-affiliates) in your dashboard. 2. You will see a **Pending Affiliates** tab showing all applications awaiting review. 3. For each pending affiliate you can: - **Approve** — Creates their account, assigns a deep link, and sends them a welcome email with login details. - **Reject** — Removes the application. The applicant is not notified automatically. ### What Happens on Approval When you approve a pending affiliate: - A Firebase Auth account is created for them. - A deep link is assigned from your available pool. - They receive a welcome email with their login details. You can [customise this email](/affiliate-emails#self-signup-affiliate-welcome-email) from Settings. - They can then sign in and start promoting your app. Affiliate Email Templates with the Self-Signup Welcome tab active in the Insert Affiliate dashboard settings

Click to view full size

### What Happens on Rejection When you reject a pending affiliate: - Their pending application is deleted. - No account or deep link is created. - The applicant's email is not stored, so they can re-apply in the future if needed. --- ## **Final Notes** - The **Branch.io method** is best for automating deep link generation. - The **comma-separated list method** is simpler if you already have deep links. - Use **custom deep links** if your affiliates already have their own links from another provider — this bypasses the deep link pool entirely. - Make sure **deep links are unique** and not already assigned to an existing affiliate. - Enable **Require Affiliate Approval** in [Settings](https://app.insertaffiliate.com/settings) if you want to manually vet affiliates before they gain access. --- # Creator Discovery — Find Social Creators for Your Affiliate Program | Insert Affiliate Source: https://docs.insertaffiliate.com/creator-discovery > Use Creator Discovery to find social media creators on TikTok, Instagram and YouTube for your affiliate program, build a shortlist in a built-in CRM, and unlock verified emails for outreach. # Creator Discovery Creator Discovery helps you find social media creators for your affiliate program and build a shortlist for outreach. Search across TikTok, Instagram and YouTube using an AI-powered creator database, save the creators you like into a built-in CRM, track your outreach, and unlock verified email addresses for the creators you actually want to contact. **Creator Discovery is an Enterprise feature.** If you're on another plan, you'll see an upgrade prompt instead of the search tools. --- ## What You Can Do - **Search a creator database** across TikTok, Instagram and YouTube using a plain-language prompt plus filters (followers, engagement, location). - **Find similar creators** — pick someone who's a great fit and find lookalike creators with a similar audience and style. - **Build a shortlist (CRM)** — save creators, track their status through your outreach pipeline, and add notes. - **Unlock verified emails** — enrich saved creators on demand to get a verified email address and their handles on other platforms. - **Export your shortlist** to CSV for use elsewhere. --- ## Getting Started Creator Discovery lives in the **Creator Discovery** section of your [dashboard](https://app.insertaffiliate.com). The page has two tabs: - **Discover** — search for and browse creators. - **Saved** — your shortlist and outreach CRM. ### Set Up Your App Details The first time you open Creator Discovery, you'll be asked to complete a short **App details** form. This information is used to set up your default creator search and to improve how relevant your results are. | Field | What to enter | |-------|---------------| | **App name** | The name of your app or product (e.g. "FitStreak"). Up to 120 characters. | | **What does your app do?** | A short description of what your app does, who it's for, and the category (fitness, recipes, etc.). Up to 4,000 characters. | | **Default search prompt** | A short, focused query used to find creators by default (e.g. "micro fitness creators for home workouts and wellness"). Up to 150 characters. | Click **Save app details** when you're done. You can change these anytime using the **Edit profile** button. Creator Discovery page with the search credits meter, Discover and Saved tabs, and the App details form filled in with the Save app details button highlighted

Click to view full size

--- ## Searching for Creators On the **Discover** tab, use the **Search filters** to refine who you're looking for. Your default search prompt is filled in automatically — edit it per search, or leave the filters as they are. | Filter | Description | |--------|-------------| | **Search prompt / keywords** | A plain-language description of the creators you want (up to 150 characters). Pre-filled from your default; leave it blank to use the default. | | **Platform** | TikTok, Instagram, or YouTube. Defaults to TikTok. | | **Followers min** / **Followers max** | Limit results to a follower-count range. Both optional. | | **Engagement % min** | Only show creators above a minimum engagement rate. Optional. | | **Location** | Filter by location, e.g. "United States". Optional. | | **Results per search** | Choose 10, 20, or 30 creators per page. This sets the maximum number of search credits a search can use. | Click **Search creators** to run the search. Each result is shown as a card with the creator's avatar, name, handle, follower count, engagement rate, and niche. Search filters card in Creator Discovery with a search prompt, platform, follower range and location filled in, and the Search creators button highlighted

Click to view full size

For each creator you can: - **Save** — add the creator to your shortlist (CRM). Saved creators show a green **Saved** badge. - **Dismiss** — hide the creator. Dismissed creators won't appear in future search results. - **View** — open the creator's profile on their social platform in a new tab. Use **Previous** and **Next** to page through results. Pages you've already viewed are free to revisit — only loading a brand-new page uses credits (see below). ### Finding Similar Creators When you find a creator who's a perfect fit, you can find others like them. On the **Saved** tab, click **Find similar** next to any saved creator. This switches to the **Discover** tab and searches for creators with a similar audience and style, while still respecting your follower, engagement, and location filters. A banner shows who you're matching against — click **Clear** to return to a normal search. --- ## How Search Credits Work Creator Discovery uses **search credits**. Enterprise companies get **5,000 search credits per month**, and the balance resets at the start of each calendar month. Your remaining credits are shown at the top of the page (e.g. **4,250 / 5,000**). - **Searching:** A search uses **1 credit per creator returned**, up to the "Results per search" limit you chose. If you ask for 20 results but only 15 come back, you're only charged for the 15. - **Revisiting pages:** Pages you've already loaded are **free** to view again. You're only charged when you load a new page of results. - **Email enrichment:** Unlocking a creator's email costs **100 credits** (see below). If you run out of credits, search and enrichment are paused until the limit resets next month, and you'll see a "Monthly limit reached" message. --- ## Saved Creators & Your CRM The **Saved** tab is your outreach pipeline. It shows everyone you've saved, along with a count of how many you've contacted, and an **Export CSV** button. Each saved creator has: - **Status** — track where each creator is in your outreach. Options are **New**, **Contacted**, **Responded**, **Joined**, and **Passed**. - **Notes** — a free-text field for your own notes (saved automatically when you click away). - **Email** — once enriched, the verified email appears here as a clickable link. Before enrichment you'll see an **Enrich** button. - **Find similar** — find lookalike creators based on this one. - **Remove** — take the creator off your shortlist. ### Unlocking Emails (Enrichment) To contact a creator directly, click **Enrich** in the **Email** column. Enrichment looks up a verified email address (and the creator's handles on other platforms) for that creator. - Enrichment costs **100 search credits** per creator. - If a verified email is found, it appears as a clickable email link. If none is found, you'll see "No email found". - Enrichment runs once per creator — already-enriched creators won't be charged again. Because enrichment is the most credit-intensive action, it's best to enrich only the creators you've decided are worth reaching out to. ### Exporting Your Shortlist Click **Export CSV** on the Saved tab to download your shortlist. The export includes each creator's name, username, platform, follower count, engagement rate, niche, email (if enriched), status, notes, and profile URL. --- ## Frequently Asked Questions **Which plans include Creator Discovery?** Creator Discovery is available on the **Enterprise** plan. On other plans you'll see an upgrade prompt. To upgrade, visit your [billing settings](https://app.insertaffiliate.com/billing). **Which platforms can I search?** TikTok, Instagram, and YouTube. **Do I get charged for browsing pages I've already seen?** No. Only loading a new page of results uses credits. Revisiting pages you've already loaded is free. **What happens when I run out of credits?** Search and enrichment pause until your monthly allowance resets at the start of the next calendar month. **Will dismissed creators come back?** No — dismissing a creator hides them from future search results. If you save a creator you previously dismissed, they'll be added back to your shortlist. --- Ready to find creators for your program? Open the **Creator Discovery** section in your [dashboard](https://app.insertaffiliate.com). To recruit affiliates in other ways, see [Creating Affiliates](/create-affiliate) and [Affiliate Self-Signup](/create-affiliate-affiliate-self-signup). --- # Custom Domains Setup Guide Source: https://docs.insertaffiliate.com/custom-domains > Configure your own branded domain for Insert Affiliate deep links # Custom Domains

Enterprise Feature

Custom domains are available exclusively on the Enterprise plan.

Custom domains allow you to use your own branded subdomain for affiliate deep links instead of the default `insertaffiliate.link` domain. This creates a more professional, on-brand experience for your affiliates and their audiences. ## Why Use a Custom Domain? | Default Link | Custom Domain Link | |-------------|-------------------| | `https://insertaffiliate.link/abc123/MIKEYB` | `https://links.yourcompany.com/abc123/MIKEYB` | **Benefits:** - **Brand recognition** - Your domain reinforces your brand with every link shared - **Professional appearance** - Enterprise-grade branding for partnership programs - **Increased click-through rates** - Users are more likely to trust links from recognizable domains - **Consistent marketing** - All touchpoints reflect your brand identity --- ## Prerequisites Before setting up a custom domain, ensure you have: 1. **Enterprise plan** - Custom domains are an Enterprise-only feature 2. **Insert Links enabled** - You must be using [Insert Links](/insert-links) as your deep linking platform 3. **DNS access** - Ability to add DNS records at your domain registrar (GoDaddy, Cloudflare, Namecheap, etc.) --- ## Setup Instructions ### Step 1: Add Your Custom Domain 1. Go to [Settings](https://app.insertaffiliate.com/settings) (**Branding** tab) in your Insert Affiliate dashboard 2. Scroll to the **Custom Domain for Insert Links** section 3. Enter your desired subdomain (e.g., `links.yourcompany.com` or `go.yourcompany.com`) 4. Click **Add Domain** Custom Domain for Insert Links section in Settings with a subdomain entered and the Add Domain button highlighted

Click to view full size

Recommended Subdomains

We recommend using a subdomain like links, go, or click rather than your root domain. Examples: links.yourcompany.com, go.yourapp.io

### Step 2: Configure DNS Records After adding your domain, you'll see instructions for two DNS records that need to be added at your domain registrar: #### CNAME Record This points your subdomain to our servers. | Type | Host/Name | Value/Target | |------|-----------|--------------| | CNAME | `links` (or your chosen subdomain) | `custom.insertaffiliate.link` | #### TXT Record This verifies domain ownership. | Type | Host/Name | Value | |------|-----------|-------| | TXT | `_ia-verify.links` (or `_ia-verify.{subdomain}`) | `ia-verify-{your-unique-token}` | The exact values will be shown in your dashboard after adding the domain. ### Step 3: Wait for DNS Propagation DNS changes can take anywhere from a few minutes to 48 hours to propagate globally. Most changes are visible within 1-2 hours. You can check DNS propagation using tools like: - [whatsmydns.net](https://www.whatsmydns.net/) - [dnschecker.org](https://dnschecker.org/) ### Step 4: Verify Your Domain 1. Return to the Custom Domain section in your dashboard 2. Click **Verify DNS Records** 3. If verification succeeds, SSL certificate provisioning will begin automatically ### Step 5: SSL Certificate Provisioning Once DNS is verified, we automatically provision a free SSL certificate via Let's Encrypt. This process typically takes 5-10 minutes but can take up to 15 minutes. The dashboard will update automatically when your domain is fully active. ### Step 6: Enable Custom Domain for New Links After your domain is active, you'll see a toggle: - **Use custom domain for new links** - When enabled, all newly created affiliate links will use your custom domain

Existing Links Still Work

Existing links using insertaffiliate.link will continue to work. Only new links will use your custom domain when the toggle is enabled.

--- ## Troubleshooting ### DNS Verification Failed **Common causes:** - DNS records not yet propagated (wait longer and retry) - Incorrect record values (double-check copy/paste) - CNAME pointing to wrong target - TXT record on wrong subdomain (should be `_ia-verify.{subdomain}`) **Solution:** Verify your DNS records using [whatsmydns.net](https://www.whatsmydns.net/) and ensure they match exactly what's shown in your dashboard. ### SSL Provisioning Failed **Common causes:** - DNS not fully propagated when SSL was requested - Firewall or CDN blocking verification requests **Solution:** Contact support at [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) for assistance. ### Links Not Using Custom Domain **Check:** 1. Is your custom domain status showing as **Active**? 2. Is the "Use custom domain for new links" toggle **enabled**? 3. Are you creating **new** links? (Existing links are not automatically updated) --- ## Removing a Custom Domain To remove your custom domain: 1. Go to Settings → **Branding** tab → Custom Domain section 2. Click **Remove Custom Domain** 3. Confirm the removal **Note:** Existing links using the custom domain will continue to work as long as your DNS records remain in place. To fully disable, remove the DNS records from your registrar. --- ## FAQ ### Can I use my root domain (e.g., yourcompany.com)? We recommend using a subdomain for technical reasons. Root domains cannot use CNAME records, which our system requires for routing. ### Will my existing links break if I enable a custom domain? No. Existing links continue to work. Only newly created links will use the custom domain. ### Can I switch back to the default domain? Yes. Simply toggle off "Use custom domain for new links" and new links will use `insertaffiliate.link` again. Your custom domain configuration remains saved. ### How long until my custom domain is active? After DNS propagation (typically 1-2 hours, up to 48 hours) and verification, SSL provisioning takes 5-15 minutes. Total time is usually under 2 hours. ### Is there an additional cost for custom domains? Custom domains are included with the Enterprise plan at no additional cost. --- # Google Play Store Direct Setup Guide Source: https://docs.insertaffiliate.com/direct-google-play-store-purchase-integration > Set up Insert Affiliate directly through the Google Play Store, without the need for a third-party purchase verification service. # Google Play Store Direct Integration for Android ## Real-time Developer Notifications Real-time Developer Notifications [RTDN](https://developer.android.com/google/play/billing/rtdn-reference) are required to enable Insert Affiliate to track purchase events. ### 1. Set Your Insert Affiliate Purchase Verification Method Within the [Insert Affiliate settings](https://app.insertaffiliate.com/settings) (**Integrations** tab), set your **In-App Purchase Verification Method** to "I don't use a Receipt Validatior (Native App Store / Google Play Integration)." - After changing this setting, a new section will appear called "**Google Play Store Pub/Sub Endpoint URL**", containing a URL - you will need this later. Purchase Verification section in the Insert Affiliate dashboard settings with the verification method dropdown highlighted

Click to view full size

### 2. Enable the Google Cloud Pub/Sub for Your Project 1. Go to the [Google Cloud Console](https://console.cloud.google.com/), logging in with the Google account associated with your app. 2. Create a new project or select an existing project. 3. Enable the Cloud Pub/Sub API which can be found [here](https://console.cloud.google.com/flows/enableapi?apiid=pubsub) ### 3. Create a Pub/Sub Topic 1. Create a new topic [here](https://console.cloud.google.com/cloudpubsub/topic/list), setting the Topic ID as `insert-affiliate`. 2. Leave the default settings and click **Create**. ### 4. Create a Service Account 1. Go to the [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) page in the Google Cloud Console. 2. Click **Create Service Account**, providing a name (e.g. `insert-affiliate`) and click **Create**. 3. Copy the **email address** of the service account you just created. ### 5. Create a Key for the Service Account 1. Click on the service account you just created. 2. Click **Add Key** > **Create new key**. 3. Select **JSON** and click **Create**. 4. Upload the Service Key that was downloaded to the [Insert Affiliate settings](https://app.insertaffiliate.com/settings) page (**Integrations** tab) under **Google Service Account Key**. 5. Click **Save**. ### 5.1 Assign IAM Roles to the Service Account Before proceeding, you need to grant the correct permissions to the service account in **Google Cloud IAM**. 1. Go to **[Google Cloud IAM & Admin](https://console.cloud.google.com/iam-admin/iam)**. 2. Find the **Service Account** you just created, if one does not exist, select **Grant Access** and set the **New Principal** to the email address of the service account you created in step 4. 3. Click **Edit Permissions**. 4. Assign the following roles: - **Pub/Sub Admin** (for handling Google Play notifications) 5. Click **Save** to apply the changes. Now, your service account has the required permissions to interact with ### 6. Configure the Pub/Sub Permissions 1. Go to the [Topics section](https://console.cloud.google.com/cloudpubsub/topic/list) in the Google Cloud Console, selecting the `insert-affiliate` topic that you just created. 2. In the Topic Settings, click **Add Principal**. 3. Paste the **email address** of the service account you created in step 4. 4. In the Role dropdown, select **Pub/Sub Publisher** and click **Save**. ### 7. Add Google Play Notification Account to the Pub/Sub Topic 1. Go to the [Topics section](https://console.cloud.google.com/cloudpubsub/topic/list) in the Google Cloud Console, selecting the `insert-affiliate` topic that you just created. 2. In the Topic Settings, click **Add Principal**. 3. Paste the email address `google-play-developer-notifications@system.gserviceaccount.com` 4. In the Role dropdown, select **Pub/Sub Publisher** and click **Save**. ### 8. Create a Subscription 1. Go to the [Subscriptions section](https://console.cloud.google.com/cloudpubsub/subscription/list) in the Google Cloud Console. 2. Select the `insert-affiliate` topic. 3. Click **Edit**. 4. Change the **Delivery Type** to **Push**. 5. Paste the **Google Play Store Pub/Sub Endpoint URL** from the [Insert Affiliate settings](https://app.insertaffiliate.com/settings), retrieved in Step 1, into the **Push Endpoint** field. 6. Click **Update** to save the changes. ### 9. Enable the Google Play Android Developer API Before granting permissions, ensure that the **Google Play Android Developer API** is enabled: 1. Go to the [Google Play Android Developer API](https://console.cloud.google.com/apis/library/androidpublisher.googleapis.com) page in the Google Cloud Console. 2. Click **Enable API**. ### 10. Grant Permissions in the Google Play Console 1. Go to Users and Permissions in the [Google Play Console](https://play.google.com/console/developers/). 2. Click **Invite new users**. 3. Enter the email address of the service account you created in step 4. 4. Select the app you want to grant permissions for - Grant the **Financial Data: View Financial Data and Manage Orders and Subsciprtions** permission. 5. Press **Apply** to save the changes. ### 10.1 Refresh Active Subscriptions If you previously used a different receipt validation method, you may need to **deactivate and reactivate your subscriptions** in Google Play to ensure they are correctly recognized by Insert Affiliate. 1. Go to the [Google Play Console](https://play.google.com/console/developers/). 2. Select your app. 3. Navigate to **Monetise with Play** > **Subscriptions**. 4. Select each active subscription and **temporarily deactivate it**. 5. After a few moments, **reactivate the subscriptions**. 6. This forces Google Play to recognize the new Insert Affiliate integration. ### 11. Enable RTDN Within Your App in the Google Play Console 1. Go to the [Google Play Console](https://play.google.com/console/developers/). 2. Select your app. 3. In the left-hand navigation, select **Monetise with Play** > **Monetisation Setup**. 4. Enable the **Real-time developer notifications* checkbox. 5. Add the **Topic Name** as `projects/{{ProjectID}}/topics/{{TopicID}}` (replace `{{ProjectId}}` and `{{TopicID}}` with the Google Cloud Project and Topic Id's set earlier.) For the example above, the Topic Name would be `projects/insert-affiliate/topics/insert-affiliate`. - You can find your Google Cloud Project ID [here](https://console.cloud.google.com/iam-admin/settings/project). - You can find your Google Cloud Topic ID [here](https://console.cloud.google.com/cloudpubsub/topic/list). 6. Notification content should be set to **Subscriptions, voided purchases and all one-time products**. 7. Click **Save**. ### 12. If You Previously Were Not Validating Receipts If you previously were not validating receipts, you may need to **deactivate and reactivate your subscriptions** in Google Play to ensure they are correctly recognised by Insert Affiliate. 1. Go to the [Google Play Console](https://play.google.com/console/developers/). 2. Select your app. 3. Navigate to **Monetise with Play** > **Subscriptions**. 4. Select each active subscription and **temporarily deactivate it**. 5. After a few moments, **reactivate the subscriptions**. 6. This forces Google Play to recognise the new Insert Affiliate integration. ## Integrate the Insert Affiliate SDK To complete the integration, follow the final integration steps detailed in the Insert Affiliate SDK for your specific platform: - [Insert Affiliate Android SDK](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-2-google-play-direct) - [Insert Affiliate React Native SDK](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-4-google-play-direct-beta) - [Insert Affiliate Flutter SDK](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-4-google-play-direct) - **Unity SDK**: Google Play Store Direct Integration is not yet supported. If you need this feature, please [contact support](mailto:michael@insertaffiliate.com). {/* - [Insert Affiliate Javascript SDK](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-4-google-play-store-direct-integration) */} --- # App Store Direct Setup Guide Source: https://docs.insertaffiliate.com/direct-store-purchase-integration > Set up Insert Affiliate directly through the App Store, without the need for a third-party purchase verification service. # iOS App Store Direct Integration At this time, we only support **subscriptions**, not consumables or one off purchases. This is due to a limitation of the App Store server to server notifications. We will be releasing support for consumables and one off purchases in the near future, if this is important to you please [let us know](mailto:michael@insertaffiliate.com). To get started with consumables/one off purchases sooner, please use one of receipt verification platform integrations. ## 1. Apple App Store Server Notifications Apple Server to Server Notifications are required to enable Insert Affiliate to track subscription events. You must have the App Store Account role: Account Holder, Admin, App Manager, or Marketing to make these changes. 1. Within the [Insert Affiliate settings](https://app.insertaffiliate.com/settings) (**Integrations** tab), set your **In-App Purchase Verification Method** to "I don't use a Receipt Validatior (Native App Store / Google Play Integration)." - After changing this setting, a new section will appear called "**App Store Server Notifications**", containing a URL - you will need this for step 5. Purchase Verification section in the Insert Affiliate dashboard settings with the verification method dropdown highlighted

Click to view full size

2. Sign in to [App Store Connect](https://appstoreconnect.apple.com/apps), selecting your app. 3. In the left-hand navigation, select **App Information**. 4. Scroll down to the **App Store Server Notifications** section. 5. Set the **Sandbox Sever URL** and the **Production Server URL** to the **App Store Server Notifications** URL provided in the [Insert Affiliate settings](https://app.insertaffiliate.com/settings). ## 2. Set Your iOS Bundle Identifier Insert Affiliate binds each Apple receipt to your app's bundle identifier, so a genuine receipt from a different app can't be credited to your account. This must be set for Native verification to work securely. 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Business & Profile** tab. 2. Find the **iOS Bundle Identifier** field and enter your app's bundle identifier (e.g. `com.yourcompany.yourapp`). 3. Click **Save**. You can find your bundle identifier in Xcode: select your project → select your app target → **General** tab → **Bundle Identifier** field. Until this is set, your dashboard will show a warning banner reminding you to add it. ## 3. Integrate the Insert Affiliate SDK To complete the integration, follow the final integration steps detailed in the Insert Affiliate SDK for your specific platform: - [Insert Affiliate Swift SDK](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-3-app-store-direct-beta) - [Insert Affiliate React Native SDK](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-3-app-store-direct-beta) - [Insert Affiliate Flutter SDK](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-3-app-store-direct) - [Insert Affiliate Unity SDK](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-2-app-store-direct-ios) {/* - [Insert Affiliate Javascript SDK](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-3-app-store-direct-integration) */} --- # Discounts for End Users Source: https://docs.insertaffiliate.com/discounts-for-end-users > A guide on how to create and provide a discount for users of your app that join due to affiliates within the Insert Affiliate platform. # Discounts for End Users The Insert Affiliate platform allows you to provide automatic discounts and trial offers to users who discover your app through affiliate links or short codes. This creates a seamless experience where users automatically receive promotional pricing without needing to manually enter discount codes. ## How It Works When someone clicks an affiliate link or enters a short code that's linked to an offer (configured in your Insert Affiliate Dashboard), the SDK automatically fills our SDK's `OfferCode` variable with the appropriate modifier that you have associated with this affiliate, (such as `_oneWeekFree`). You can then append this modifier to your regular product ID to load the correct promotional version of your subscription or in-app purchase, for which you have set up Promotional offers or Intro Offers ### Example Flow: 1. **Affiliate shares link**: `https://your-app.com/affiliate/ABC123` (this affiliate has a "one week free" offer modifier associated through our dashboard) 2. **User opens app**: SDK detects the affiliate offer and sets `OfferCode = "_oneWeekFree"` 3. **User Navigates to Purchase screen**: Instead of loading `"monthlySubscription"`, your app checks if our SDK is storing a modifier from an affiliate and appends this to the base offer - resulting in the purchase loading `"monthlySubscription_oneWeekFree"` 4. **User sees discount**: Automatic promotional pricing without manual code entry ### Google Play Console Configuration (Required if supporting Android) There are multiple ways you can configure your products in Google Play Console: 1. **Multiple Products Approach**: Create both a base and a promotional product: - Base product: `oneMonthSubscription` - Promo product: `oneMonthSubscription-oneweekfree` 2. **Single Product with Multiple Base Plans**: Create one product with multiple base plans, one with an offer attached 3. **Developer Triggered Offers**: Have one base product and apply the offer through developer-triggered offers 4. **Base Product with Intro Offers**: Have one base product that includes an introductory offer Any of these approaches are suitable and work with the SDK. The important part is that your product naming follows the pattern where the offer code modifier can be appended to identify the promotional version. **If using the Multiple Products Approach:** - Ensure **both** products are activated and available for purchase. - Generate a release to at least **Internal Testing** to make the products available in your current app build ### App Store Connect Configuration (Required if supporting iOS) Make sure you create the corresponding subscription products in App Store Connect: - **Base subscription**: i.e. `oneMonthSubscription` - **Promotional variants**: `oneMonthSubscription_oneWeekFree`, `oneMonthSubscription_threeMonthsFree`, etc. Discount system workflow diagram showing how affiliate modifiers are applied to product IDs

Click to view full size

### Insert Affiliate Setup Instructions 1. Go to your Insert Affiliate dashboard at [app.insertaffiliate.com/affiliates](https://app.insertaffiliate.com/affiliates) 2. Select the affiliate you want to configure 3. Click "View" to access the affiliate's settings 4. Assign an **iOS IAP Modifier** to the affiliate (e.g., `_oneWeekFree`, `_threeMonthsFree`) 5. Save the settings Once configured, when users click that affiliate's links or enter their short codes, your app will automatically receive the modifier and can load the appropriate discounted product. ### RevenueCat Configuration (Required if using RevenueCat) If you're using RevenueCat for in-app purchase management, we recommend using **RevenueCat Targeting** to automatically show different offerings based on affiliate offer codes. #### Option 1: RevenueCat Targeting (Recommended) RevenueCat Targeting lets you automatically show different offerings based on user attributes — no manual product ID construction needed. **How It Works:** 1. When a user clicks an affiliate link, the SDK sets the `affiliateOfferCode` attribute in RevenueCat 2. RevenueCat's targeting rules detect this attribute and automatically switch to the appropriate offering 3. Your app simply displays `offerings.current` — RevenueCat handles the rest **Step 1: Create Offerings in RevenueCat** 1. Go to your [RevenueCat Dashboard](https://app.revenuecat.com) → **Products** → **Offerings** 2. Create your base offering (e.g., `default`) with standard products 3. Create promotional offerings (e.g., `oneWeekFree`) with discounted products **Step 2: Configure Targeting Rules** 1. Go to **Project Settings** → **Targeting** 2. Create a new rule: - **Name**: e.g., "Insert Affiliate - One Week Free" - **Condition**: `affiliateOfferCode` is any of `oneWeekFree` - **Show Offering**: Select your promotional offering 3. Save and publish RevenueCat Targeting configuration showing how to set up rules based on affiliateOfferCode attribute

Click to view full size

**Step 3: SDK Integration** The Insert Affiliate SDK automatically sets the `affiliateOfferCode` attribute when configured correctly. See the [RevenueCat Setup Guide](/revenuecat) for the full callback setup. In your app, simply use RevenueCat's current offering: ```swift // Swift Purchases.shared.getOfferings { offerings, error in if let current = offerings?.current { // Display current.availablePackages // RevenueCat targeting automatically shows the right offering } } ``` ```javascript // React Native const offerings = await Purchases.getOfferings(); if (offerings.current) { // Display offerings.current.availablePackages // RevenueCat targeting automatically shows the right offering } ``` --- #### Option 2: Manual Product ID Construction (Alternative) If you prefer not to use RevenueCat Targeting, you can manually construct product IDs by appending the offer code modifier. **Products Catalogue Setup:** 1. **Base products**: Create your standard subscription products (e.g., `monthlySubscription`, `yearlySubscription`) 2. **Promotional variants**: For each affiliate modifier you plan to use, create corresponding products in RevenueCat: - `monthlySubscription_oneWeekFree` - `monthlySubscription_threeMonthsFree` - `yearlySubscription_oneWeekFree` - etc. RevenueCat products catalogue setup showing how to create promotional variants with modifiers

Click to view full size

**Important Notes:** - The product IDs in RevenueCat must exactly match the naming convention: `{baseProductId}{modifier}` - Each promotional variant should be configured with the appropriate pricing/trial period - Ensure these products are also properly configured in App Store Connect/Google Play Console - The modifier system works seamlessly with RevenueCat's existing promotional offer and introductory pricing features For detailed RevenueCat integration steps, see our [RevenueCat Setup Guide](/revenuecat). --- ## Required Code Examples of code, implementation and additional requirements are detailed within the repositories under the relevant section. ## iOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Discounts for End Users setup can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/dynamic-offer-codes.md). ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Discounts for End Users setup can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/dynamic-offer-codes.md). ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Discounts for End Users setup can be found [here](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/dynamic-offer-codes.md). ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Discounts for End Users setup can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/dynamic-offer-codes.md). --- ## Stripe / Web Payments Setup For web-based purchases using Stripe, you can automatically apply coupon or promo codes to checkout sessions when a user arrives via an affiliate link. ### How It Works (Stripe) 1. **Configure Stripe Coupon**: Create a coupon or promotion code in your [Stripe Dashboard](https://dashboard.stripe.com/coupons) 2. **Assign to Affiliate**: In your Insert Affiliate dashboard, assign the Stripe coupon code to an affiliate (company-wide default or per-affiliate override) 3. **Retrieve at Checkout**: Use the SDK to retrieve the coupon code and apply it to your Stripe checkout session ### Insert Affiliate Dashboard Setup 1. Go to your Insert Affiliate dashboard at [app.insertaffiliate.com/settings](https://app.insertaffiliate.com/settings) 2. Find the **"Default Stripe Coupon/Promo Code (Company-Wide)"** field 3. Enter your Stripe coupon code (e.g., `SUMMER2024`, `AFFILIATE10OFF`) 4. Save the settings To override the company default for specific affiliates: 1. Go to [app.insertaffiliate.com/affiliates](https://app.insertaffiliate.com/affiliates) 2. Select the affiliate and click "View" 3. Set a custom **Stripe Coupon/Promo Code** for that affiliate 4. Save the settings ### JavaScript SDK Usage Use the Insert Affiliate JavaScript SDK to retrieve the Stripe coupon code: ```javascript // Initialize the SDK await InsertAffiliate.initialize('YOUR_COMPANY_CODE'); // Get the Stripe coupon code for the current affiliate const stripeCoupon = await InsertAffiliate.getStripeCouponCode(); // Or use the more explicit method with platform parameter const stripeCoupon = await InsertAffiliate.getOfferCode('stripe'); if (stripeCoupon) { // Apply the coupon to your Stripe checkout // Example using Stripe.js: const session = await stripe.checkout.sessions.create({ // ... your checkout config discounts: [{ coupon: stripeCoupon, }], }); } ``` ### Example Integration with Stripe Checkout ```javascript // On your checkout page const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(); const stripeCoupon = await InsertAffiliate.getStripeCouponCode(); // Create checkout session with the coupon const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_xxx', coupon: stripeCoupon, // Will be null if no affiliate coupon affiliateId: affiliateId, }), }); ``` --- # Event Tracking (Beta) | Insert Affiliate Source: https://docs.insertaffiliate.com/event-tracking > Track custom user events like signups, referrals, and key actions to measure campaign effectiveness and incentivize affiliates beyond purchases. Learn how to implement event tracking in your app. # Event Tracking (Beta) Track custom user actions and reward affiliates for specific behaviors beyond just purchases. Event tracking gives you deeper insights into user behavior and flexible commission structures. > **Beta Feature Notice:** Event Tracking is currently in beta. While fully functional, we cannot guarantee complete resistance to tampering or manipulation at this stage. Use appropriate validation and monitoring for mission-critical implementations. ## What Is Event Tracking? Event tracking allows you to log specific user actions in your app and attribute them to the affiliate who referred that user. Instead of only tracking purchases, you can now monitor and reward affiliates for: - User signups and registrations - Free trial activations - Profile completions - Content shares and referrals - Feature usage milestones - Custom conversion goals ## Why Use Event Tracking? ### 1. Flexible Affiliate Compensation Pay affiliates for actions that matter to your business, not just purchases: ``` Traditional: Affiliate earns commission only when user makes a purchase With Event Tracking: Affiliate earns when user signs up, completes onboarding, invites friends, or achieves specific milestones ``` ### 2. Incentivize Specific Behaviors Create targeted affiliate programs based on your business goals: - **Growth Focus**: Pay $5 for each verified signup - **Engagement Focus**: Reward affiliates when users complete onboarding - **Viral Growth**: Compensate for successful referrals from referred users - **Product Adoption**: Incentivize usage of premium features ### 3. Data-Driven Optimization Access detailed analytics to improve your affiliate program: - Identify which affiliates drive the highest quality users - Compare signup-to-purchase conversion rates by affiliate - Optimize commission structures based on user lifetime value - Detect and address low-performing partnerships ## How Event Tracking Works The event tracking system follows a simple flow: 1. **User arrives via affiliate link** → Attribution established 2. **User performs tracked action** → Event logged with affiliate attribution 3. **Event appears in dashboard** → View and analyze in real-time 4. **Commission processed** (optional) → Pay affiliates for specific events ## Implementation Event tracking is available through our SDKs for iOS, Android, and other platforms. The basic implementation is consistent across all SDKs. ### Basic Usage Before tracking events, ensure you've initialized the SDK and set an affiliate identifier. Then use the event tracking function: ```swift // iOS Example InsertAffiliateSwift.trackEvent(eventName: "user_signup") ``` ```kotlin // Android Example InsertAffiliate.trackEvent("user_signup") ``` ```javascript // React Native Example InsertAffiliate.trackEvent("user_signup") ``` ```csharp // Unity Example InsertAffiliate.TrackEvent("user_signup"); ``` ### Common Event Examples **User Signup** ```swift InsertAffiliateSwift.trackEvent(eventName: "user_signup") ``` **Trial Activation** ```swift InsertAffiliateSwift.trackEvent(eventName: "trial_started") ``` **Profile Completion** ```swift InsertAffiliateSwift.trackEvent(eventName: "profile_completed") ``` ### Important Requirements 1. **Affiliate Attribution Must Be Set**: Events will not be tracked if no affiliate identifier is active 2. **Within Attribution Window**: Events must occur within your configured timeout window 3. **Unique Event Names**: Use consistent naming conventions across your app 4. **SDK Initialization**: Ensure the SDK is properly initialized before tracking events ## Viewing Event Data Track and analyze events in your Insert Affiliate dashboard: 1. Go to [Search Affiliate](https://app.insertaffiliate.com/affiliate-search), enter the affiliate's short code, and open the **Events** tab 2. View all tracked events with affiliate attribution 3. Filter by event type, affiliate, or date range 4. Export data for deeper analysis Events tab in the Search Affiliate section listing tracked events such as user signups and trial starts with their status and dates

Click to view full size

### What You Can See - **Event Name**: The action that was tracked - **Affiliate**: Which affiliate referred the user who triggered the event - **Timestamp**: When the event occurred - **User Identifier**: The attributed user (when available) - **Attribution Source**: The original deep link or campaign ## Best Practices ### 1. Start Simple Begin with 2-3 key events: - User signup - Main conversion action - One engagement metric Expand once you understand the data and impact. ### 2. Use Clear Naming Conventions Good naming makes analysis easier: - ✅ `user_signup`, `trial_started`, `purchase_completed` - ❌ `event1`, `thing_happened`, `user_action` ### 3. Balance Event Tracking Don't track everything: - **Too few events**: Miss important insights - **Too many events**: Analysis becomes overwhelming Focus on events that correlate with business value. ### 4. Validate Event Data Regularly review event data for: - Unusual spikes or patterns - Potential gaming or manipulation - Data quality issues - Attribution accuracy ### 5. Communicate with Affiliates Make event tracking transparent: - Document which events you track - Explain how events lead to compensation - Provide affiliates with their event performance data - Set clear expectations about data validation ## Common Questions **Can I pay affiliates directly for events?** Event data is tracked in your dashboard. How you compensate affiliates for events is up to you - either manually through your payment system or by integrating event data with your commission structure. **What's the difference between event tracking and purchase tracking?** Purchase tracking uses verified receipts from App Store/Google Play or payment processors, making it tamper-resistant. Event tracking relies on client-side reporting, which is easier to implement but less secure. **How many events can I track?** There's no hard limit on unique event names, but we recommend staying focused on 5-15 key events that truly matter to your business. **Can I track the same event multiple times for one user?** Yes. You can track events multiple times per user. For example, you might track "content_shared" every time a user shares content. --- Ready to implement event tracking? Check your SDK documentation for platform-specific implementation details, or reach out to support if you need help getting started. --- # Iaptic Setup guide Source: https://docs.insertaffiliate.com/iaptic > Set up Iaptic ready to create a new affiliate with Insert Affiliate # Setting up Iaptic To get started, [create an Iaptic account](https://www.iaptic.com/signup). After creating an account, follow the iOS Iaptic setup guide, which can be [found here](https://www.iaptic.com/documentation/setup/ios). If you encounter any problems whilst setting up your Iaptic account, contact [Iaptic Support](https://www.iaptic.com/contact-us) for assistance. ## Required Settings To use Insert Affiliate with Iaptic across all platforms (iOS, Android, or React Native), the first step is to add your [Iaptic App Name](https://www.iaptic.com/account) and [Iaptic Secret Key](https://www.iaptic.com/setting) to your [Insert Affiliate Settings](https://app.insertaffiliate.com/settings) (**Integrations** tab). Purchase Verification section in the Insert Affiliate dashboard settings with the verification method dropdown highlighted

Click to view full size

Important Note: You must change your Entitlement Strategy on the Iaptic Dashboard to "First Claimer" to prevent duplicate transactions! ## IOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the In-App Purchase setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-2-iaptic) ## Android Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the In-App Purchase setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-3-iaptic) ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required to be made are described in detail with examples within the Github Repository. ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required are described in detail with examples within the Github Repository. ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Iaptic setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-5-iaptic) {/* ## Javascript / Capacitor Setup #### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Javascript SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). All code changes required are described in detail with examples within the Github Repository. */} --- # Insert Links Setup guide Source: https://docs.insertaffiliate.com/insert-links > Set up Insert Links ready to use for Deep Linking and Affiliate Marketing # What are Insert Links Insert Links are our in-house generated links that your affiliates share with end users to download your app. These intelligent links automatically detect whether the user is on iOS or Android, and whether they already have the app installed. This is what’s known as a **deferred deep link**. - If the user already has the app installed, the link will take them straight into the correct place inside the app, attributing future sales to your affiliate. - If the user doesn't yet have the app, the link first sends them to the App Store or Google Play to download it — and then, once they open the app for the first time, it remembers which affiliate referred them and continues tracking future sales through our SDKs. # Setting up Insert Links ## 1. One-Time Dashboard Setup Go to the [Insert Affiliate Dashboard settings](https://app.insertaffiliate.com/settings) and fill in: - **Website Link** (your main website or landing page) Company Profile section in the Insert Affiliate dashboard settings, where website links, URL schemes and bundle identifiers are configured

Click to view full size

If you have an **iOS app**, also add: - **iOS App Store Link** - **iOS URL Scheme** (press "Generate" if you don't yet have one) - **iOS Bundle Identifier** (Xcode → Project → Targets → General → Bundle Identifier) - **Apple Team ID** (found at [developer.apple.com/account](https://developer.apple.com/account) → Membership details → Team ID) — required for [Universal Links](#23-universal-links-optional-recommended) iOS Bundle identifier

Click to view full size

If you have an **Android app**: - **Google Play Store Link** - **Android Bundle Identifier** (applicationId in app/build.gradle → defaultConfig → applicationId) Press **Save**. --- ## 2. iOS Setup Required for all code stacks: Swift, Objective-C, React Native, Flutter, Unity, Capacitor — this step is native and universal. ### 2.1 Custom URL scheme (minimum viable deep link) Add your iOS URL scheme and bundle identifier to Info.plist: iOS Bundle identifier

Click to view full size

```xml CFBundleURLTypes CFBundleURLName com.yourcompany.yourapp CFBundleURLSchemes yourapp ``` **For Expo managed workflow:** You don't edit Info.plist directly. Instead, add the scheme to your `app.json`: ```json { "expo": { "scheme": "yourapp" } } ``` Expo automatically configures Info.plist when you run `npx expo prebuild` or `npx expo run:ios`. Then skip to [2.3 Code Updates](#23-code-updates). ### 2.2 Add URL Types in Xcode Go to Xcode → Project → Info → URL Types → + (Add) - Identifier → enter your iOS Bundle Identifier (from the [dashboard](https://app.insertaffiliate.com/settings)). - URL Schemes → enter your iOS URL Scheme (generated in the [dashboard](https://app.insertaffiliate.com/settings)). This ensures iOS can recognise your app when a link with your scheme is opened. iOS Bundle identifier

Click to view full size

### 2.3 Universal Links (Optional, Recommended) Universal Links provide a smoother experience than custom URL schemes. When a user taps an Insert Link and already has your app installed, iOS opens the app directly — without loading the browser first and without showing a "Safari cannot open the page" error if something goes wrong. If the app is **not** installed, the link simply opens in Safari and shows the landing page with your App Store download button — no error dialogs. #### Step 1: Add your Apple Team ID in the dashboard In the [Insert Affiliate Dashboard Settings](https://app.insertaffiliate.com/settings) (**General** tab), scroll to the **Deep Linking Platform** section and find the field labelled **"Apple Team ID"**. Enter your 10-character Team ID here. To find your Team ID: 1. Go to [developer.apple.com/account](https://developer.apple.com/account) 2. Look under **Membership details** 3. Copy the **Team ID** (a 10-character alphanumeric string, e.g. `A1B2C3D4E5`) The **"iOS Bundle Identifier"** field should already be filled in from [Step 1](#1-one-time-dashboard-setup). Both fields are required for Universal Links to work. #### Step 2: Add Associated Domains in Xcode In Xcode, go to your app target → **Signing & Capabilities** → click **+ Capability** → select **Associated Domains**. Add the following entries: If you're using Insert Affiliate's default domain: ``` applinks:insertaffiliate.link ``` If you've set up a [custom domain](/custom-domains) (e.g. `links.yourcompany.com`): ``` applinks:links.yourcompany.com ``` You can add both if you want to support both domains. #### Step 3: Handle Universal Links in your app Your app needs to pass incoming Universal Link URLs to the Insert Affiliate SDK. The setup is different for each platform — see the Universal Links section in your SDK's documentation: - [Swift SDK — Universal Links](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#universal-links) - [React Native SDK — Universal Links](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#universal-links) - [Flutter SDK — Universal Links](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#universal-links) - [Android SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [Unity SDK — Insert Links Setup](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- ### 2.4 Code Updates The final change required is different depending on your coding lanage and can be found in the SDK's ReadMe: - [React Native SDK Insert Link Code Changes](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Flutter SDK Insert Link Code Changes](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-1-insert-links) - [Swift SDK Insert Link Code Changes](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Android SDK Insert Link Code Changes](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Unity SDK Insert Link Code Changes](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- ## 3. Android Setup Required for all stacks (Kotlin, Java, React Native, Flutter, Capacitor). This step is **native and universal**. ### What you must add Add **two intent-filters** to your **launcher activity** (the activity that opens first, usually `MainActivity`) in: - **Native (Kotlin/Java):** `app/src/main/AndroidManifest.xml` - **React Native (CLI/Expo prebuild):** `android/app/src/main/AndroidManifest.xml` - **Flutter:** `android/app/src/main/AndroidManifest.xml` - **Capacitor:** `android/app/src/main/AndroidManifest.xml` **Important:** The scheme value you use in the AndroidManifest.xml to replace "REPLACE_WITH_YOUR_SCHEME" *must* exactly match the Android Bundle Identifier you configured in your [Insert Affiliate Settings](https://app.insertaffiliate.com/settings). ```xml android:exported="true" android:launchMode="singleTop"> /> ``` ### 3.1 Android App Links (Optional, Recommended) Android App Links provide a smoother experience than custom URL schemes. When a user taps an Insert Link and already has your app installed, Android opens the app directly — without loading the browser or showing a "Choose an app" dialog. If the app is **not** installed, the link opens in the browser and shows the landing page with your Google Play download button. #### Step 1: Add your SHA-256 fingerprint in the dashboard In the [Insert Affiliate Dashboard Settings](https://app.insertaffiliate.com/settings) (**General** tab), scroll to the **Deep Linking Platform** section and enter your **SHA-256 Certificate Fingerprint**. To find your SHA-256 fingerprint: ```bash # For debug builds keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android | grep SHA256 # For release builds (use your keystore) keytool -list -v -keystore your-release-key.keystore -alias your-alias | grep SHA256 ``` The **"Android Bundle Identifier"** field should already be filled in from [Step 1](#1-one-time-dashboard-setup). Both fields are required for App Links to work. #### Step 2: Add App Links intent filter Add this intent filter to your launcher activity in `AndroidManifest.xml`, alongside the existing custom URL scheme intent filter: ```xml ``` If you've set up a [custom domain](/custom-domains), add another intent filter with your domain: ```xml ``` #### Step 3: Set launch mode Make sure your launcher activity uses `android:launchMode="singleTop"` (shown in the manifest example above). This prevents the activity from being recreated when an App Link is tapped while the app is already running. #### Step 4: Handle App Links in your app See the App Links section in your SDK's documentation: - [Android SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [React Native SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [Flutter SDK — App Links](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#android-app-links-optional-recommended) - [Unity SDK — Insert Links Setup](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- # Creating Insert Links for Your Affiliates The process for creating Insert Links depends on how affiliates are added to your programme. ## Create Affiliate (Admin) When creating affiliates [one at a time](http://docs.insertaffiliate.com/create-affiliate) as the company admin: 1. Complete the form by adding the affiliate’s short code, email, and all other required details. 2. Under **Deep Link** Source, select **Insert Link**. An Insert Link will be automatically generated and assigned to the affiliate upon creation. - The affiliate will receive an email inviting them to the dashboard, where they can find their Insert Link in **Settings**. - You will see the affiliate, along with their assigned Insert Link, in the [Affiliates section](https://app.insertaffiliate.com/affiliates) of your dashboard. Create an Affiliate form with Insert Link selected and automatic link generation ready

Click to view full size

## Enable Affiliate Self-Signup When affiliates [sign up themselves](http://docs.insertaffiliate.com/create-affiliate-affiliate-self-signup), Insert Links are generated automatically — no preparation needed: 1. On the [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) page, select **Enable Affiliate Self-Signup**. 2. Make sure your Deep Linking Platform shows **Insert Link**. 3. Share your hosted signup link or company code with potential affiliates. 4. Each affiliate's Insert Link is generated automatically when they sign up (or when you approve them, if **Require Manual Approval** is enabled). Affiliate Self-Signup mode on the Create Affiliate page, showing the hosted signup link, company code and automatic Insert Link generation

Click to view full size

To cap how many affiliates can join, turn on **Limit Affiliate Signups** — Insert Links are then only generated while signup slots you've created remain available. --- # Custom Domains for Insert Links

Enterprise Feature

Custom domains are available on the Enterprise plan.

Want your affiliate links to use your own branded domain instead of `insertaffiliate.link`? Enterprise customers can configure a custom domain like `links.yourcompany.com` for a more professional, on-brand experience. **Benefits of custom domains:** - **Brand consistency** - Links match your company's domain - **Increased trust** - Affiliates and users see your brand, not ours - **Professional appearance** - Perfect for enterprise partnerships **Example:** - Default: `https://insertaffiliate.link/abc123/MIKEYB` - Custom: `https://links.yourcompany.com/abc123/MIKEYB` For setup instructions, see the [Custom Domains Setup Guide](/custom-domains). --- # Social Share Preview for Insert Links

Enterprise Feature

Social share preview customisation is available on the Enterprise plan.

When your affiliates share their Insert Links on social media, messaging apps, or other platforms (WhatsApp, Slack, iMessage, Facebook, Twitter, LinkedIn, etc.), a preview card is shown with an image, title, and description. You can customise how these previews look so they match your brand. ## How It Works By default, Insert Links will use your **company name** as the title and your **dashboard logo** as the preview image. If you haven't set a logo, the Insert Affiliate logo is used as a fallback. You can override any of these defaults in the Social Share Preview settings. ## Setting Up Your Social Share Preview 1. Go to [Settings](https://app.insertaffiliate.com/settings) (**Branding** tab) in your Insert Affiliate dashboard 2. Scroll to the **Social Share Preview for Insert Links** section 3. Customise the following: - **Share Image** — Upload a PNG, JPG, or WebP image (recommended size: 1200x630px). This is the image shown in link preview cards. - **Title** — The headline shown in the preview card. Defaults to your company name if left blank. - **Description** — A short description shown below the title. Defaults to "Check out your company name" if left blank. 4. Click **Save** at the bottom of the settings page Social Share Preview section in the Insert Affiliate dashboard settings with the live preview card, share image, title and description fields

Click to view full size

The live preview in the settings section shows you how the link will appear when shared.

SVG Images Not Supported

Most social platforms (WhatsApp, Facebook, Twitter, etc.) do not support SVG images for link previews. If your dashboard logo is an SVG, you will see a warning prompting you to upload a PNG, JPG, or WebP image instead.

## Fallback Behaviour If no social share preview settings are configured, Insert Links will fall back in this order: 1. **Social share preview image** (if uploaded) 2. **Dashboard logo** (if set and not an SVG) 3. **Insert Affiliate default logo** The same fallback logic applies to the title and description fields. --- # Install Event Payments | Insert Affiliate Source: https://docs.insertaffiliate.com/install-event-payments > Pay affiliates a flat fee for each app install driven through their short code or insert link. Configure payment amounts, event caps, and per-affiliate overrides. # Install Event Payments Pay your affiliates a flat fee each time a user installs your app through their short code or insert link. This is separate from commission-based payments — install event payments reward affiliates for driving downloads, regardless of whether those users make a purchase. ## Why Pay for Installs? Install event payments are a powerful tool for growth campaigns: - **Drive downloads** — Incentivize affiliates to actively promote your app, not just wait for purchases - **Reward top-of-funnel activity** — Affiliates who drive installs are building your user base, even if conversions come later - **Attract more affiliates** — Guaranteed per-install payouts are appealing to creators who may not want to wait for commission revenue - **Campaign flexibility** — Run time-limited install campaigns (e.g. "earn $1 per install this month") to boost growth during key periods ## How to Enable Install Event Payments 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Payments & Payouts** tab 2. Scroll to the **Install Event Payments** section 3. Toggle **Pay Affiliates for Install Events** to enabled Once enabled, you'll see configuration options for short code installs and insert link installs. Install Event Payments section in Settings with the toggle enabled, showing payment amount and event cap fields for short code and insert link installs

Click to view full size

## Configuration ### Short Code Install Payments Set the flat fee paid to an affiliate each time a user installs your app via their [short code](/short-codes): | Setting | Description | |---------|-------------| | **Payment Amount ($)** | The dollar amount paid per install (e.g. $0.50) | | **Short Code Event Cap** | Maximum number of paid events per affiliate. Leave empty for unlimited. Set to 1 to only pay for the first install. | ### Insert Link Install Payments If your company uses [Insert Links](/insert-links) as your deep linking platform, you'll also see settings for insert link installs: | Setting | Description | |---------|-------------| | **Payment Amount ($)** | The dollar amount paid per insert link install (e.g. $0.75) | | **Insert Link Event Cap** | Maximum number of paid events per affiliate. Leave empty for unlimited. Set to 1 to only pay for the first install. | You can set different payment amounts for short codes and insert links, giving you flexibility based on the value of each channel. ## Per-Affiliate Overrides You can override the company-wide install payment settings for individual affiliates: 1. Go to [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Search for and select an affiliate 3. In the affiliate details panel, find the **Install Payment Overrides** section 4. Set custom payment amounts and/or event caps for that specific affiliate Per-affiliate overrides take priority over your global settings. This is useful for: - Rewarding high-performing affiliates with higher per-install rates - Running exclusive campaigns with select partners - Setting tighter caps on affiliates you want to monitor more closely To revert an affiliate back to company defaults, clear their override values. ## Event Caps Event caps limit how many install events are paid per affiliate. This is your primary tool for controlling costs and reducing fraud risk. **Examples:** - **Cap = 1** — Only the first install from each affiliate is paid. Good for one-time bonuses. - **Cap = 10** — The first 10 installs are paid, then no more. Good for capped campaigns. - **No cap (empty)** — Every install is paid with no limit. Use with caution. Each affiliate's event count is tracked independently. The event number is visible in the install payments transaction table. ## Viewing Install Payment Transactions ### As a Company Admin When viewing an affiliate's details in the [Affiliates](https://app.insertaffiliate.com/affiliates) section, you'll see an **Install Payments** tab showing: - Summary cards with total, paid, and pending amounts - A filterable transaction table with date, source type (Short Code or Insert Link), amount, event number, and payment status - Buttons to mark transactions as paid or pay via Stripe Connect ### As an Affiliate Affiliates can view their own install payment transactions in the [Affiliate Dashboard](https://app.insertaffiliate.com). The **Install Payments** tab shows their transaction history in read-only mode with earnings totals included in their dashboard summary. ## Processing Payments Install payment transactions follow the same payment workflow as regular commission transactions: - **Mark as Paid** — For payments processed outside the platform - **Pay via Stripe** — Process payment directly through [Stripe Connect](/paying-affiliates/stripe-connect) if both company and affiliate have connected accounts Install payment transactions count toward your free tier of 100 transactions. [Subscribe to a paid plan](https://app.insertaffiliate.com/billing) for unlimited transactions. ## Fraud Warning > **Important:** Affiliates can potentially generate their own install events. Since install events are triggered by app opens via a short code or insert link, a dishonest affiliate could repeatedly trigger installs to earn payouts. **How to protect yourself:** 1. **Use event caps** — Set a cap of 1-10 to limit exposure per affiliate. This is the most effective safeguard. 2. **Review transactions before paying** — Check the install payments table for suspicious patterns (e.g. many installs in a short time period) 3. **Start with low amounts** — Begin with small per-install fees (e.g. $0.25) and increase once you trust the affiliate 4. **Run time-limited campaigns** — Instead of always-on install payments, enable them for specific promotional periods Despite the fraud risk, install event payments remain valuable because they incentivize affiliates to actively promote your app. The key is using event caps and reasonable amounts to keep your exposure manageable. ## Best Practices - **Start with event caps** — Set a cap of 1 or a small number while you evaluate the impact - **Different rates for different channels** — Short code installs and insert link installs can have different values to your business - **Use overrides strategically** — Give higher rates to proven affiliates, lower rates or tighter caps to new ones - **Combine with commission** — Install payments work alongside [commission-based payments](/affiliate-commission). An affiliate can earn both a per-install fee and ongoing commission on purchases. - **Monitor regularly** — Review install payment transactions in your affiliate search panel before processing payments --- # Affiliate Messaging Source: https://docs.insertaffiliate.com/messaging # Affiliate Messaging Insert Affiliate provides a built-in messaging system that enables direct communication between companies and their affiliates. Keep your affiliate relationships strong with in-platform messaging and broadcast announcements. ## Overview The messaging feature offers: - **Direct Messages**: One-on-one conversations between companies and affiliates - **Broadcast Messages**: Send announcements to all your affiliates at once - **Unread Indicators**: Never miss a message with unread badges in the sidebar - **Email Notifications**: Affiliates receive email alerts for new messages --- ## For Companies ### Accessing Messages Navigate to the [Messages](https://app.insertaffiliate.com/messages) section in your dashboard sidebar. You'll see a badge indicator showing the number of unread conversations. Messages page with conversation list and an open thread in the Insert Affiliate dashboard

Click to view full size

### Starting a Conversation 1. Go to [Messages](https://app.insertaffiliate.com/messages) in the sidebar 2. Click **New Conversation** (or the + button) 3. Search for and select an affiliate from your list 4. Type your message and send You can also start a conversation directly from: - [All Affiliates page](https://app.insertaffiliate.com/affiliates): Click the chat icon next to any affiliate - **Affiliate Details page**: Click the "Message Affiliate" button - [Affiliate Search](https://app.insertaffiliate.com/affiliate-search): Click "Message" next to the affiliate ### Thread View Each conversation shows: - Message history with timestamps - Who sent each message (you or the affiliate) - Read/unread status - Edit and delete options for your own messages ### Editing and Deleting Messages You can edit or delete messages you've sent: - **Edit**: Click the edit icon on your message, modify the text, and save. An "edited" indicator will appear. - **Delete**: Click the delete icon to remove your message permanently. --- ## Broadcast Messages Broadcast messages let you send announcements to all your affiliates at once - perfect for promotions, product updates, or program changes. ### Sending a Broadcast 1. Go to [Messages](https://app.insertaffiliate.com/messages) 2. Click **Broadcast to All** 3. Enter your subject line and message 4. Click **Send Broadcast** ### What Affiliates Receive - An email notification with your message - The message appears in their Messages section when they log in ### Affiliate Opt-Out Affiliates can opt out of receiving broadcast emails. When composing a broadcast: - You'll see how many affiliates will receive the email - If any affiliates have opted out, this count is displayed Broadcast emails include an unsubscribe footer that allows affiliates to opt out of future broadcasts while still receiving direct messages. --- ## For Affiliates ### Viewing Messages 1. Go to [Messages](https://app.insertaffiliate.com/messages) in your dashboard sidebar 2. Select a conversation to view the message thread 3. Unread messages are highlighted with a badge ### Replying to Messages 1. Open a conversation 2. Type your reply in the message box at the bottom 3. Press Enter or click Send ### Message Notifications When a company sends you a message: - You'll receive an email notification - The Messages sidebar shows an unread badge - The conversation appears at the top of your message list ### Broadcast Preferences If you'd like to opt out of broadcast announcements: - Click the unsubscribe link in any broadcast email - You'll stop receiving broadcast messages but will still get direct messages from companies --- ## Email Notifications ### What Triggers an Email - **New direct message**: Both companies and affiliates receive email notifications for new messages - **Broadcast messages**: Affiliates receive emails for broadcast announcements (unless opted out) ### Email Content Email notifications include: - The sender's name - A preview of the message - A link to view the full conversation in the dashboard --- ## Message Features ### Pagination Messages load 10 at a time. Scroll up in a conversation to load older messages automatically. ### Timestamps Each message shows when it was sent. Edited messages display "edited" with the edit timestamp. ### Read Receipts - Opening a conversation marks all messages as read - The unread count updates in real-time --- ## Best Practices ### For Companies 1. **Be responsive**: Quick responses build trust with affiliates 2. **Use broadcasts sparingly**: Reserve them for important announcements 3. **Personalize when possible**: Direct messages feel more personal than broadcasts 4. **Include clear calls to action**: Make it easy for affiliates to understand next steps ### For Affiliates 1. **Check messages regularly**: Don't miss important updates from companies 2. **Ask questions**: Use messaging to clarify commission structures or promotions 3. **Respond promptly**: Active communication builds stronger partnerships --- ## Troubleshooting ### Not Receiving Email Notifications 1. Check your spam/junk folder 2. Verify your email address in account settings 3. Ensure you haven't opted out of email preferences ### Messages Not Loading 1. Refresh the page 2. Check your internet connection 3. Clear browser cache and try again ### Can't Start New Conversation (Companies) - Ensure you have at least one affiliate in your program - Try searching for the affiliate by name or email --- ## Support Need help with messaging? Contact us: - Email: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use the in-app support options --- # Multiple Apps Source: https://docs.insertaffiliate.com/multiple-apps # Multiple Apps Manage multiple apps under a single Insert Affiliate account. The multi-app feature lets you run separate affiliate programs for different apps, each with their own affiliates, analytics, and settings, all from one login. ## Overview With multiple apps, you can: - **Run separate affiliate programs**: Each app has its own affiliates, commission rules, and analytics - **Switch between apps instantly**: Use the App Switcher in the dashboard header to toggle between apps - **Manage everything from one account**: No need for separate logins or accounts --- ## Plan Limits The number of apps you can manage depends on your plan: | Plan | Apps | |------|------| | Free | 1 | | Starter | 1 | | Growth | Up to 3 | | Enterprise | Unlimited | To add more apps, [upgrade your plan](https://app.insertaffiliate.com/billing). --- ## Adding a New App 1. Click the **App Switcher** dropdown in the top-right of your dashboard (it shows your current app name) 2. Click **Add New App** 3. Enter a name for your new app 4. Click **Create** App Switcher dropdown open in the top-right of the dashboard with the Add New App form filled in and the Create button highlighted

Click to view full size

You'll be automatically switched to the new app. Each new app starts fresh with its own company ID, ready for you to set up affiliates and integrations. --- ## Switching Between Apps 1. Click the **App Switcher** dropdown in the top-right of your dashboard 2. Your current app is marked as **Active** 3. Click any other app to switch to it App Switcher dropdown open showing Your Apps, with the current app ticked as active and the other app highlighted as the one to click to switch

Click to view full size

The page will reload with the selected app's data. All dashboard sections (affiliates, analytics, messages, settings) will reflect the selected app. --- ## How It Works Each app in your account is a separate company entity with its own: - **Company ID** for SDK integration - **Affiliates and commission rules** - **Transaction history and analytics** - **Settings and configuration** Your account (email login) is linked across all your apps. Team members you invite will also have access to all linked apps. --- ## Upgrading for More Apps If you're on a Free or Starter plan, clicking **Add New App** will prompt you to upgrade. To add more apps: 1. Go to [Billing](https://app.insertaffiliate.com/billing) 2. Choose a Growth or Enterprise plan 3. Once upgraded, you can immediately add new apps from the App Switcher --- ## Support Need help with multiple apps? Contact us: - Email: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use the in-app support options --- # All Other Deep Linking Platforms Setup guide Source: https://docs.insertaffiliate.com/other-deep-linking-platform > Set up any alternative deep linking platform ready to create a new affiliate with Insert Affiliate # Setting up with Any Other Deep Linking Platform To get started, create an account with your chosen deep linking platform and complete setup. Next, make the required coded changes to your app to integrate Insert Affiliate with your chosen deep linking platform. ## iOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup with your chosen platform can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#3-set-up-deep-linking) ## Android Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#3-set-up-deep-linking) ## React Native Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#3-set-up-deep-linking) ## Flutter Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#3-set-up-deep-linking) ## Javascript / Capacitor Setup #### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Javascript SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#3-set-up-deep-linking) ## Unity Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the Deep Linking setup stage can be found [here](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#basic-deep-link-handling) --- # Paying Affiliates Source: https://docs.insertaffiliate.com/paying-affiliates # Paying Affiliates We support two ways to process affiliate payments: ### On-Platform Payments (Stripe Connect) - Process payments directly through our platform - Affiliates receive payments directly to their Stripe account - Stripe Fees: Approximately 2.9% + $0.30 per transaction ([view current rates](https://stripe.com/connect/pricing)) ### External Payment Tracking - Track commissions for payments you process outside our platform - Manually mark commissions as paid - Perfect for existing payment workflows and keeping costs low Choose the method that best fits your business needs. You can even use both methods simultaneously for different affiliates. ## Payment Methods ### External Payments You can track and mark payments as paid externally for affiliates. This is useful when: - You prefer to handle payments outside the platform - The affiliate hasn't connected their Stripe account - Your company hasn't connected their Stripe account ### Stripe Connect Payments For payments processed through Stripe, both the company and affiliate need to connect their Stripe accounts: 1. **Company Setup** - Connect your company's Stripe account in the [company settings](https://app.insertaffiliate.com/settings) - Complete the Stripe verification process - Once verified, you'll be able to process payments to affiliates Stripe Connect section in the Insert Affiliate dashboard settings

Click to view full size

2. **Affiliate Setup** - Affiliates need to connect their Stripe account in their [affiliate settings](https://app.insertaffiliate.com/affiliate-settings) - They'll need to complete Stripe's verification process - Once verified, they can receive payments directly ## Payment Views ### All Transactions View **Real-time Overview** The All Transactions view provides a comprehensive overview of all transactions in real-time. You can: - See all transactions across all affiliates - Filter and search through transactions - View payment statuses and methods - Process payments directly from this view If an affiliate is due for payment, you'll see: - "Pay via Stripe" button if both company and affiliate have connected Stripe accounts - "Mark as Paid" button for external payment tracking ### Fine Grained Transactions View **Updated in Real Time** For a more detailed view of individual transactions, you can: - Search for an affiliate - Navigate to the Affiliates section and click on an affiliate in the table Here, you'll see: - Individual transactions as they occur - Payment status for each transaction - Payment method used (Stripe or external) - Payment reference IDs for Stripe payments ## Payment Processing ### Stripe Payments When using Stripe Connect: 1. Click "Pay via Stripe" on the transaction 2. Enter payment details in the secure Stripe form 3. Once processed, the payment is automatically marked as paid 4. Affiliates receive the payment directly to their connected Stripe account ### External Payments For external payments: 1. Click "Mark as Paid" on the transaction 2. Process the payment outside the platform 3. The transaction will be marked as paid in the system All Affiliates table in the Insert Affiliate dashboard with owed amounts and Mark as Paid buttons

Click to view full size

## Payment Status Each transaction shows its payment status: - Unpaid: Payment pending - Paid via Stripe: Payment processed through Stripe Connect - Paid Externally: Payment marked as paid outside the platform ## Requirements To use Stripe Connect payments: 1. Company must have a verified Stripe account 2. Affiliate must have a verified Stripe account 3. Both accounts must be connected to the platform If either party hasn't completed the Stripe setup, external payment tracking will be available as a fallback option. ## VAT Invoices (Self-Billing) For businesses that need VAT invoices for affiliate commission payments, we offer **self-billing invoices**. This feature allows you to automatically generate VAT invoices on behalf of your affiliates when you pay them via Stripe Connect. **Key Features:** - Automatic invoice generation on each payout - Sequential invoice numbering (SB-YYYY-XXXX) - Configurable VAT rates (default + per-affiliate) - Monthly invoice summaries for easy record-keeping - Affiliates consent to self-billing arrangement [Learn more about Self-Billing VAT Invoices →](/paying-affiliates/self-billing-invoices) --- # Self-Billing VAT Invoices Source: https://docs.insertaffiliate.com/paying-affiliates/self-billing-invoices > Learn how to set up and use self-billing invoices for affiliate commission payments to simplify VAT compliance. # Self-Billing VAT Invoices Self-billing allows you (the company) to create VAT invoices on behalf of your affiliates when you pay them commission. This simplifies VAT compliance for affiliate payments and makes it easier to reclaim VAT on business expenses. ## What is Self-Billing? In a traditional invoicing arrangement, the supplier (affiliate) would issue an invoice to the buyer (your company) for services rendered. With **self-billing**, this process is reversed - you create the invoice on behalf of the affiliate. This is particularly useful for affiliate programs because: - Affiliates don't need to create their own invoices - You have consistent, standardized invoices for your records - VAT compliance is simplified when you need to reclaim VAT on commission payments - It scales well when managing many affiliates ## Requirements For self-billing to be valid, the following conditions must be met: 1. **Agreement**: Both parties must agree to the self-billing arrangement 2. **VAT Registration**: You should have the affiliate's VAT registration status 3. **Documentation**: Invoices must contain all required information for VAT purposes 4. **Record Keeping**: Both parties should keep records of all self-billed invoices - affiliates can access their invoices in their [Affiliate Settings](https://app.insertaffiliate.com/affiliate-settings) ## Setting Up Self-Billing ### Step 1: Enable Self-Billing (Company) 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Payments & Payouts** tab 2. Scroll down to **"Self-Billing VAT Invoices for Affiliate Payouts"** 3. Toggle **"Enable Self-Billing Invoices"** to ON 4. Configure your settings: - **Default VAT Rate**: Set the default VAT percentage (e.g., 20% for UK VAT). You can override this per affiliate. - **Require Affiliate Consent**: When enabled, affiliates must accept the self-billing agreement before you can pay them via Stripe. ### Step 2: Complete Your Business Details (Company) For valid invoices, ensure your company's billing details are complete in Settings (**Business & Profile** tab): - Business Name - Business Address - City & Postal Code - Country - VAT Number (if VAT registered) Business Information section in the Insert Affiliate dashboard settings

Click to view full size

### Step 3: Affiliate Billing Setup When self-billing is enabled, affiliates will see a new **"Billing Information for VAT Invoices"** section in their [Affiliate Settings](https://app.insertaffiliate.com/affiliate-settings). Affiliates need to provide: - **Business Type**: Individual/Sole Trader or Business/Company - **Business Name** or Full Name - **Address, City, Postal Code, Country** - **VAT Registered**: Whether they're VAT registered - **VAT Number**: If VAT registered - **Self-Billing Consent**: Agreement to the self-billing arrangement ## How Self-Billing Works ### Invoice Generation When you pay an affiliate via Stripe Connect: 1. The payment is processed through Stripe 2. If self-billing is enabled, an invoice is automatically generated 3. The invoice is stored in your Billing section 4. Invoice numbers follow the format: `SB-YYYY-XXXX` (e.g., SB-2024-0001) ### Invoice Contents Each self-billing invoice includes: **Buyer Details** (Your Company): - Business name and address - VAT number - Contact email **Supplier Details** (Affiliate): - Business/personal name - Address - VAT number (if registered) - Self-billing consent date **Payment Details**: - Payment date - Commission amount - VAT calculation (if applicable) - Total amount - Stripe transaction reference ### Invoice Status Invoices can have two statuses: - **Complete**: All required billing information was available when the invoice was generated - **Incomplete**: Some affiliate billing details were missing at the time of payment. These invoices may not be suitable for VAT reclaim purposes. ## Viewing and Downloading Invoices ### For Companies (Billing Section) Access your affiliate payout invoices in the [Billing](https://app.insertaffiliate.com/billing) page: 1. Scroll down to **"Affiliate Payout Invoices (Self-Billing)"** 2. Filter by month, year, affiliate, or status 3. View summary statistics (totals, complete/incomplete counts) ### Downloading Invoices You have two download options: **Individual Invoices**: - Click "Download PDF" next to any invoice - Each PDF contains the full self-billing invoice **Monthly Summary**: - Select a month and year - Click "Download [Month] [Year] Summary" - Receive a combined PDF with all invoices for that period ### For Affiliates (Affiliate Settings) Affiliates can view and download their self-billing invoices in their [Affiliate Settings](https://app.insertaffiliate.com/affiliate-settings): 1. Scroll down to **"My Commission Invoices"** 2. View all invoices from any company that has paid you 3. See the company name, date, amount, and status for each invoice 4. Click **"Download PDF"** to download individual invoices **Note:** This section only appears when the company you work with has self-billing enabled. Invoices from all companies are shown in one unified list. ## Warning Indicators ### On the All Affiliates Page When self-billing is enabled, you'll see an **"Invoice"** column showing each affiliate's billing status: | Status | Meaning | |--------|---------| | ✓ Ready (green) | Billing info complete, consent given | | ⚡ Warning (amber) | Missing consent or incomplete info | | ⚠️ Error (red) | Missing both billing info and consent | ### Before Paying If an affiliate hasn't completed their billing details and you've enabled "Require Affiliate Consent": - The affiliate will be prompted to complete their billing details - You'll see a warning before processing the payment ## VAT Rate Configuration ### Default VAT Rate Set a company-wide default VAT rate in Settings. This applies to all affiliates unless overridden. **Common VAT Rates**: - UK: 20% - EU (varies by country): 17-27% - US: Typically 0% (no VAT) ### Per-Affiliate VAT Rate You can set custom VAT rates for individual affiliates based on: - Their VAT registration status - Their country of residence - Special tax arrangements Set this in the affiliate's billing information section. ### When to Use 0% VAT Set the VAT rate to 0% when: - The affiliate is not VAT registered - The affiliate is below the VAT threshold - The affiliate is in a non-VAT jurisdiction - Reverse charge rules apply (B2B cross-border EU transactions) ## Best Practices ### For Companies 1. **Complete your business details first** before enabling self-billing 2. **Set appropriate VAT rates** based on your affiliates' locations and registration status 3. **Require consent** if you need complete invoices for VAT reclaim 4. **Download monthly summaries** for your accounting records 5. **Review incomplete invoices** and encourage affiliates to update their details ### For Affiliates 1. **Complete all billing fields** to ensure valid invoices 2. **Keep VAT registration status updated** - notify the company if this changes 3. **Accept the self-billing agreement** if you're comfortable with the arrangement 4. **Don't issue your own invoices** for self-billed transactions 5. **Access your invoices** in your [Affiliate Settings](https://app.insertaffiliate.com/affiliate-settings) - scroll to "My Commission Invoices" ## Troubleshooting ### Invoice Shows as Incomplete **Problem**: Invoices are generated with "incomplete" status **Solution**: - Ask the affiliate to complete their billing details in Affiliate Settings - Ensure they've accepted the self-billing consent - Check that address, city, and postal code are all filled in ### Affiliates Can't See Billing Section **Problem**: Affiliates don't see the billing information form **Solution**: - Self-billing must be enabled in your company Settings - The affiliate must be logged in with their affiliate account - They need to be associated with your company ### VAT Calculation Seems Wrong **Problem**: VAT amounts don't look correct **Solution**: - Check the default VAT rate in Settings - Verify per-affiliate VAT rate overrides - VAT is calculated on the commission amount, not including the VAT itself ## Legal Considerations Self-billing is a legitimate practice recognized by tax authorities in many jurisdictions, but requirements vary. Consult with your accountant or tax advisor about: - Self-billing agreement requirements in your jurisdiction - Record-keeping obligations - VAT reclaim eligibility - Cross-border transaction rules ## Related Documentation - [Paying Affiliates](/paying-affiliates) - Overview of payment methods - [Stripe Connect Setup](/paying-affiliates/stripe-connect) - Set up Stripe for payments - [Setting Commission Rates](/affiliate-commission) - Configure affiliate commissions --- # Stripe Connect Integration Source: https://docs.insertaffiliate.com/paying-affiliates/stripe-connect > Learn how to set up and use Stripe Connect for processing affiliate payments. # Stripe Connect Integration Stripe Connect allows you to process payments directly to your affiliates through our platform. This guide will help you set up and manage Stripe Connect payments. ## Requirements To use Stripe Connect, you need: 1. A verified Stripe account for your company 2. Affiliates with verified Stripe accounts 3. Both accounts connected to Insert Affiliate ## Setup Process ### Company Setup 1. Go to [Settings](https://app.insertaffiliate.com/settings) 2. Connect your company's Stripe account 3. Complete Stripe's verification process 4. Once verified, you can start processing payments Stripe Connect section in the Insert Affiliate dashboard settings

Click to view full size

### Affiliate Setup 1. Affiliates need to connect their Stripe account in their [affiliate settings](https://app.insertaffiliate.com/affiliate-settings) 2. They'll need to complete Stripe's verification process 3. Once verified, they can receive payments directly ## Processing Payments When using Stripe Connect: 1. Click "Pay via Stripe" on the transaction 2. Enter payment details in the secure Stripe form 3. Once processed, the payment is automatically marked as paid 4. Affiliates receive the payment directly to their connected Stripe account ## Fees Stripe Connect fees are approximately 2.9% + $0.30 per transaction. [View current rates](https://stripe.com/connect/pricing) ## Testing Paying Affiliates ### Important Note About Testing **Insert Affiliate currently runs on a production Stripe Connect instance only.** This means: - You **cannot** use Stripe's test mode or test card numbers for testing affiliate payments - You **must** use real payment methods to test the affiliate payout flow - **Recommended approach:** Process a minimal real payment (e.g., $0.01 or $1.00) to verify the integration works correctly ### Testing Best Practices 1. Start with a very small payment amount to minimize costs during testing 2. Ensure both your company and test affiliate have completed Stripe verification 3. Verify that payments appear correctly in both the Insert Affiliate dashboard and Stripe Dashboard 4. Confirm affiliates receive payments in their connected Stripe account ## Troubleshooting ### Common Issues 1. **Verification Failed** - Ensure all required information is provided - Check that business details match official records - Contact Stripe support if issues persist 2. **Payment Failed** - Verify both accounts are properly connected - Check for sufficient funds - Ensure payment details are correct --- # Prevent Affiliate Transfer Source: https://docs.insertaffiliate.com/prevent-affiliate-transfer > Protect original affiliate attribution from being overwritten when users click new affiliate links. # Prevent Affiliate Transfer The **Prevent Affiliate Transfer** feature protects your original affiliate's attribution from being overwritten if a user clicks a different affiliate's link after already being attributed. This ensures the first affiliate who acquired a user always receives credit for that user's purchases, preventing "affiliate stealing" scenarios. --- ## Overview Without this protection, if User A clicks Affiliate 1's link and later clicks Affiliate 2's link before purchasing, Affiliate 2 would receive the commission — even though Affiliate 1 did the original work of acquiring that user. With **Prevent Affiliate Transfer** enabled: - The first affiliate to be attributed to a user is protected - Subsequent affiliate link clicks are silently ignored - The original affiliate continues to receive commission on purchases and renewals --- ## Use Cases | Scenario | Without Protection | With Protection | |----------|-------------------|-----------------| | User clicks Affiliate A's link, then Affiliate B's link | Affiliate B gets credit | Affiliate A keeps credit | | User enters Short Code A, then Short Code B | Short Code B overwrites | Short Code A protected | | Competitor tries to "steal" attribution | Attribution transferred | Original affiliate protected | --- ## Platform Configuration This setting can be configured in the `initialize()` function of each SDK. **Default behavior:** Disabled — new affiliate links can overwrite existing attribution | Platform | Documentation | |----------|---------------| | React Native | [View SDK documentation →](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | iOS (Swift) | [View SDK documentation →](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | Android | [View SDK documentation →](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | Flutter | [View SDK documentation →](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#prevent-affiliate-transfer) | | Unity | [View SDK documentation →](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#prevent-affiliate-transfer) | --- ## How It Works 1. **User clicks Affiliate A's link** — Attribution stored locally on device 2. **SDK initialization** — `preventAffiliateTransfer: true` is set 3. **User clicks Affiliate B's link** — SDK detects existing attribution 4. **Transfer blocked** — Affiliate B's link is silently ignored 5. **User purchases** — Affiliate A receives commission The blocking happens at the SDK level, so no network requests are made for blocked attribution attempts. --- ## FAQ ### Does this affect the Attribution Timeout? No. The [Attribution Timeout Window](/attribution-timeout) and Prevent Affiliate Transfer are independent features: - **Attribution Timeout** controls how long an affiliate link remains valid for a *first* purchase - **Prevent Affiliate Transfer** controls whether a *new* affiliate can overwrite an *existing* attribution Both can be used together. For example, you might set a 7-day attribution timeout AND enable prevent transfer — meaning the first affiliate has 7 days to convert the user, and no other affiliate can steal that attribution during (or after) that window. ### What if I want affiliates to be able to take over attribution? Leave `preventAffiliateTransfer` disabled (the default). This allows newer affiliate links to overwrite older ones, which can be useful if you want to reward the affiliate who most recently engaged the user. ### Does this work with Short Codes? Yes. Both deep links and manually-entered short codes respect this setting. If a user already has an affiliate attributed and enters a different short code, the new code will be ignored when protection is enabled. --- # Bem-vindo e Visão Geral Source: https://docs.insertaffiliate.com/pt > O Insert Affiliate é uma plataforma SaaS que simplifica o marketing de afiliados para aplicativos móveis. Acompanhe indicações, verifique compras e recompense afiliados por vendas de compras dentro do aplicativo. # Bem-vindo ao Insert Affiliate O Insert Affiliate é uma plataforma completa de marketing de afiliados para aplicativos móveis. Acompanhe quais afiliados geram compras dentro do aplicativo, verifique transações automaticamente e gerencie pagamentos de comissões — tudo a partir de um único painel. ## O que o Insert Affiliate faz O Insert Affiliate conecta três peças essenciais do seu programa de afiliados: 1. **Atribuição** - Saiba qual afiliado indicou cada usuário 2. **Verificação** - Confirme compras legítimas dentro do aplicativo automaticamente 3. **Gestão de Comissões** - Calcule e acompanhe o que você deve aos afiliados O resultado: um programa de afiliados totalmente automatizado que aumenta a receita e reduz o trabalho manual. --- ## Início Rápido Pronto para integrar? Escolha o seu caminho: ### Novo no Insert Affiliate? Comece aqui para o caminho mais rápido até a sua primeira compra rastreada: **[Início Rápido (5 Minutos) →](/pt/quick-start)** Coloque o Insert Affiliate em funcionamento com um afiliado de teste em apenas 5 minutos. ### Quer entender o panorama completo? Conheça todas as opções de integração e escolha a melhor para o seu aplicativo: **[Visão Geral da Integração →](/pt/integration-overview)** Entenda as três etapas de integração e compare as opções de plataforma. --- ## Como Funciona ### Etapa 1: Cadastro [Selecione um pacote](https://insertaffiliate.com/#pricing) e crie a sua conta para acessar o [painel](https://app.insertaffiliate.com/). ### Etapa 2: Integração Integre o Insert Affiliate ao seu aplicativo por meio de três componentes: **Plataforma de Deep Linking** Acompanhe qual afiliado indicou cada usuário por meio de deep links: **Recomendado:** [Insert Links](/pt/insert-links) para a configuração mais simples, sem necessidade de terceiros. **Plataforma de Verificação de Compras** Verifique compras dentro do aplicativo e notifique o Insert Affiliate quando ocorrerem vendas: **Recomendado:** [RevenueCat](/pt/revenuecat) para a integração mais fácil e a melhor experiência de desenvolvedor. **Transações na Web (Opcional)** Se você vende assinaturas pela web, integre com [Stripe](/pt/stripe-web-transactions) ou [RevenueCat Web Billing](/pt/revenuecat-web-billing). ### Etapa 3: Testes Teste a sua integração detalhadamente antes do lançamento: **[Testes e Modo Sandbox →](/pt/testing-sandbox)** Aprenda a criar afiliados de teste e a verificar se a sua integração funciona corretamente. ### Etapa 4: Lançamento Crie afiliados reais e comece a acompanhar as vendas. Habilite o [Autocadastro de Afiliados](/pt/create-affiliate-affiliate-self-signup) para permitir que os afiliados entrem sem a sua intervenção manual. --- ## Guias Populares ### Para Usuários Iniciantes - [Início Rápido (5 Minutos)](/pt/quick-start) - Caminho mais rápido para validação - [Visão Geral da Integração](/pt/integration-overview) - Entenda todas as opções - [Criando o Seu Primeiro Afiliado](/pt/create-affiliate) - Adicione afiliados manualmente ### Para Integração - [Configuração do Insert Links](/pt/insert-links) - Nosso deep linking integrado (recomendado) - [Configuração do RevenueCat](/pt/revenuecat) - Verificação de compras (recomendado) - [Testes e Modo Sandbox](/pt/testing-sandbox) - Verifique antes do lançamento ### Para Gerenciar Afiliados - [Autocadastro de Afiliados](/pt/create-affiliate-affiliate-self-signup) - Permita que os afiliados entrem automaticamente - [Definindo Taxas de Comissão](/pt/affiliate-commission) - Configure o que os afiliados ganham - [Pagando Afiliados](/pt/paying-affiliates) - Processe pagamentos de comissões - [Posts Sociais de Afiliados](/pt/social-posts) - Veja o conteúdo promocional dos afiliados ### Para Solução de Problemas - [Problemas Comuns e Soluções](/pt/troubleshooting) - Depure problemas de integração - [Códigos Curtos](/pt/short-codes) - Alternativa ao deep linking para testes --- ## Suporte de Plataformas O Insert Affiliate funciona com: - **iOS** - Aplicativos nativos com compras via StoreKit - **Android** - Aplicativos nativos com Google Play Billing - **React Native** - Aplicativos multiplataforma em React Native - **Flutter** - Aplicativos multiplataforma em Flutter - **Unity** - Jogos e aplicativos criados com Unity - **JavaScript/Capacitor** - Aplicativos híbridos Todos os SDKs estão disponíveis no nosso [GitHub](https://github.com/Insert-Affiliate). --- ## Precisa de Ajuda? - **Suporte por E-mail:** [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - **Central de Ajuda:** [app.insertaffiliate.com/help](https://app.insertaffiliate.com/help) - **Solução de Problemas:** [Problemas Comuns e Soluções](/pt/troubleshooting) --- # Guia de Configuração do Adapty Source: https://docs.insertaffiliate.com/pt/adapty > Configure o Adapty para criar um novo afiliado com o Insert Affiliate # Configurando o Adapty Para começar, [crie uma conta no Adapty](https://adapty.io/). Após criar uma conta, siga o guia de configuração do Adapty, que pode ser [encontrado aqui](https://docs.adapty.io/docs/quickstart). Se você encontrar algum problema ao configurar sua conta do Adapty, confira a seção de [Suporte do Adapty](https://adapty.io/contact/) para obter ajuda. ## Configuração do Webhook Para conectar o Adapty ao Insert Affiliate: 1. No seu [painel do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **Integrations**): - Defina **In-App Purchase Verification** como `Adapty` - Copie a `Adapty Webhook URL` (você a usará tanto para produção quanto para sandbox) - Copie o valor do `Adapty Webhook Authorization Header` Seção Purchase Verification nas configurações do painel da Insert Affiliate com o menu do método de verificação destacado

Clique para ver em tamanho real

2. No [Adapty Dashboard](https://app.adapty.io/integrations): - Navegue até **Integrations** → **Webhooks** - Defina a **Production URL** com a URL do webhook copiada do Insert Affiliate - Defina a **Sandbox URL** com a mesma URL do webhook - Cole o valor do cabeçalho de autorização em **Authorization header value** - Habilite estas opções: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** - Salve a configuração ## Configuração no iOS ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Adapty podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-2-adapty) ## Configuração no Android ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Android do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Adapty podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-2-adapty) ## Configuração no React Native ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Adapty podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-2-adapty) ## Configuração no Flutter ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Adapty podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-2-adapty) ## Verificando Sua Integração Para confirmar que o identificador do afiliado está sendo definido corretamente no Adapty: 1. Acesse [app.adapty.io/profiles/users](https://app.adapty.io/profiles/users) 2. Encontre e selecione o usuário que fez uma compra de teste 3. Procure a seção **Custom attributes** 4. Verifique se o atributo `insert_affiliate` existe com o formato: `{SHORT_CODE}-{UUID}` - Exemplo: `SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890` Se o atributo estiver ausente, certifique-se de estar chamando `Adapty.updateProfile` com o identificador do afiliado após ele ser definido pelo SDK do Insert Affiliate. --- # Guia de Taxas de Comissão de Afiliados e Regras Avançadas | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/affiliate-commission > Aprenda a configurar e gerenciar taxas de comissão de afiliados, incluindo regras de comissão avançadas, comissões em cascata (daisy chain) (percentual e valor fixo), dedução de taxas da plataforma, taxas padrão e comissões personalizadas de afiliados. Guia completo com exemplos. # Guia de Comissão de Afiliados Configure sua estrutura de comissão de afiliados para recompensar seus parceiros e impulsionar o crescimento. Este guia cobre tudo, desde taxas básicas até regras avançadas baseadas em desempenho. ## Configurando as Taxas de Comissão ### Taxa Padrão Global Você precisa de uma taxa de comissão padrão para toda a empresa. Esta é a sua taxa base que todos os novos afiliados receberão se nenhuma regra específica for aplicada a esse afiliado: 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **General** 2. Encontre o campo `Default Affiliate Commission Percentage` 3. Insira sua taxa base (por exemplo, 2% para 2 por cento) Configurações da empresa no painel da Insert Affiliate com o campo Default Affiliate Commission destacado

Clique para ver em tamanho real

Esta é a sua taxa de base - todos os afiliados começam aqui, a menos que você lhes dê uma taxa personalizada. ### Valores Fixos por Moeda Se preferir pagar um valor fixo por venda em vez de um percentual, você pode definir uma comissão fixa diferente para cada moeda em que seus clientes pagam, em vez de um único valor convertido aplicado a todas as vendas. 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **General** 2. Defina o `Default Affiliate Commission Type` como **Fixed Amount** 3. Uma seção "Per-Currency Fixed Amounts" aparecerá abaixo - clique em **Add currency** e insira um valor para cada moeda que deseja definir explicitamente (por exemplo, USD $10, GBP £8) Uma compra em uma moeda sem sua própria linha usa o seu valor fixo padrão. Isso está disponível em qualquer lugar onde você defina uma comissão fixa, incluindo regras avançadas para toda a empresa e regras individuais de afiliados. **Nota:** Valores fixos por moeda ainda não estão disponíveis para compras verificadas via Apphud. ### Taxas Individuais de Afiliados Quer recompensar os melhores desempenhos ou ajustar para parceiros específicos? Defina taxas personalizadas: 1. Acesse [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione um afiliado 3. Pressione o botão "View Affiliate Settings" 4. Defina o percentual personalizado dele no campo `Affiliate Commission Percentage` Painel Affiliate Details com o campo de porcentagem de comissão individual do afiliado destacado, substituindo o padrão da empresa

Clique para ver em tamanho real

As taxas personalizadas **substituem** o padrão global, dando a você flexibilidade para recompensar seus melhores parceiros. ### Cadência de Pagamento de Afiliados Controle se os afiliados ganham comissão sobre renovações de assinatura ou apenas sobre compras iniciais: 1. Acesse [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione um afiliado 3. Pressione o botão "View Affiliate Settings" 4. Encontre a configuração "Payout Cadence" 5. Escolha sua preferência: - **Initial Purchase + Renewals**: O afiliado ganha comissão tanto na primeira compra quanto em todas as renovações subsequentes (dentro da [janela de atribuição de renovação](/pt/renewal-attribution-window), se configurada) - **Initial Purchase Only**: O afiliado ganha comissão apenas na primeira compra, sem comissões de renovação Esta configuração por afiliado oferece total flexibilidade para estruturar diferentes acordos de parceria. Por exemplo, você pode pagar renovações aos seus afiliados de melhor desempenho, ao mesmo tempo em que limita os parceiros mais novos apenas às comissões de compra inicial. ### Dedução de Taxas da Plataforma Escolha se deseja calcular as comissões de afiliados sobre o valor bruto da transação ou sobre o valor líquido após a dedução das taxas da App Store/Play Store. 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Payments & Payouts** 2. Encontre a seção "Platform Fee Settings" 3. Ative ou desative "Deduct Platform Fees Before Commission" **Quando Desativado (Padrão):** A comissão do afiliado é calculada sobre o valor total da transação, antes das taxas da loja. ``` Sale Price: $9.99 Affiliate Rate: 10% Affiliate Commission: $0.99 (10% of $9.99) ``` **Quando Ativado:** A comissão do afiliado é calculada sobre o valor líquido após a dedução da comissão da plataforma. ``` Sale Price: $9.99 App Store Fee (30%): $3.00 Net Revenue: $6.99 Affiliate Rate: 10% Affiliate Commission: $0.70 (10% of $6.99) ``` **Taxas das Plataformas:** - **App Store (iOS)**: 30% padrão, 15% para participantes do Small Business Program - **Google Play Store**: 30% padrão, 15% para o primeiro $1M em receita anual - **Stripe**: Percentual configurável + taxa fixa (por exemplo, 2,9% + $0,30) Você pode personalizar essas taxas em Settings para corresponder aos seus acordos reais com cada plataforma. **Visualizando os Detalhes das Taxas da Plataforma:** Quando a dedução de taxas da plataforma está ativada, as visualizações de transações exibem um ícone de informação ao lado dos preços. Clique nele para ver: - Preço bruto (valor original) - Percentual e valor da taxa da plataforma - Preço líquido (sobre o qual a comissão é calculada) Essa transparência ajuda os afiliados a entenderem exatamente como sua comissão é calculada. ### Pagamentos em Parcelas Automáticas (Auto Chunk Payments) Para assinaturas de alto valor (por exemplo, planos anuais), você pode dividir os pagamentos de comissão de afiliados em parcelas menores e agendadas, em vez de pagar o valor total de uma só vez. Isso ajuda a gerenciar o fluxo de caixa enquanto ainda recompensa os afiliados de forma justa. Consulte o guia completo de [Auto Chunk Payments](/pt/auto-chunk-payments) para instruções de configuração. ## Regras de Comissão Avançadas Leve sua estrutura de comissão ao próximo nível com regras dinâmicas. Recompense os afiliados que geram mais vendas com taxas de comissão mais altas. > **Nota:** As Regras de Comissão Avançadas são um recurso premium disponível em planos selecionados. [Confira nossa página de preços](https://insertaffiliate.com/#pricing) para ver qual plano é o ideal para você. ### Configurando Regras Avançadas Você pode definir regras avançadas em dois lugares: padrões para toda a empresa que se aplicam a todos os seus afiliados, ou regras individuais para um afiliado específico. #### Regras Padrão para Toda a Empresa Defina regras avançadas de comissão padrão uma única vez e elas se aplicam a todos os afiliados automaticamente: 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **General** 2. Encontre a seção "Default Advanced Commission Rules", logo abaixo da comissão padrão do afiliado 3. Clique em "Add Your First Rule" para começar Essas regras se aplicam a todos os afiliados que não têm regras avançadas próprias. Quando você atualiza os padrões, a mudança se aplica imediatamente a todos esses afiliados de uma vez, sem precisar editar cada afiliado individualmente. #### Regras Individuais por Afiliado Para dar a um afiliado específico suas próprias regras: 1. Acesse [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione um afiliado 3. Pressione o botão "View Affiliate Settings" 4. Encontre a seção "Advanced Commission Rules" 5. Clique em "Add First Rule" para começar Regras definidas em um afiliado individual substituem completamente os padrões da empresa para aquele afiliado. Use isso para dar a um parceiro de destaque uma escada melhor que a dos demais, ou para excluir um afiliado específico das suas regras padrão. ### Como Funcionam as Regras Avançadas As regras avançadas permitem que você crie uma escada de comissões que os afiliados podem subir à medida que têm um melhor desempenho. Cada regra tem vários componentes principais: 1. **Commission Rate**: O percentual que eles ganharão (1-99%) 2. **Trigger Point**: Quando a taxa entra em vigor - "Until": A taxa se aplica até atingirem o limite - "After": A taxa se aplica depois de ultrapassarem o limite 3. **Sales Target**: Número de vendas que precisam atingir 4. **Time Frame**: Por quanto tempo a meta se aplica - Monthly: Reinicia a cada mês - Ever: Total vitalício 5. **Product Specificity** (Opcional): Aplica a regra a compras específicas no aplicativo - Deixe em branco para aplicar a regra a todos os produtos - Selecione IAPs específicos para criar incentivos direcionados a itens de maior valor ### Regras de Comissão Específicas por Produto Agora você pode criar regras de comissão avançadas que se aplicam apenas a compras específicas no aplicativo, permitindo que você incentive as vendas dos seus produtos mais lucrativos de forma mais eficaz. **Exemplos de Casos de Uso:** - Ofereça 20% de comissão nas vendas da sua assinatura anual premium, mantendo 10% nas assinaturas mensais - Crie bônus escalonados para afiliados que vendem pacotes de produtos específicos - Recompense os afiliados de forma mais generosa por promoverem itens de alta margem **Como Definir Regras Específicas por Produto:** 1. Ao criar ou editar uma regra de comissão avançada, encontre o seletor "Product" ou "In-App Purchase" 2. Deixe-o em branco para aplicar a regra a todos os produtos (comportamento padrão) 3. Ou selecione um ou mais produtos específicos para direcionar a regra 4. A regra correspondente mais benéfica será aplicada automaticamente com base no produto comprado ### Exemplos de Estruturas Aqui estão algumas estruturas de comissão motivadoras: **Escada de Desempenho Básica:** ``` Default Rate: 2% Rule 1: 10% after 5 sales in a month Rule 2: 15% after 10 sales in a month ``` **Incentivos Específicos por Produto:** ``` Default Rate: 5% Rule 1: 15% on Annual Subscription (all sales) Rule 2: 20% after 10 Annual Subscription sales in a month Rule 3: 8% on Monthly Subscription (all sales) ``` ### Prioridade das Regras O sistema sempre aplica a regra mais benéfica: 1. Regras de comissão avançadas definidas no afiliado individual (prioridade mais alta) 2. Regras avançadas de comissão padrão da empresa (usadas quando o afiliado não tem regras próprias) 3. Taxas individuais de afiliados 4. Taxa padrão global (prioridade mais baixa) ### Perguntas Frequentes **Com Que Frequência as Taxas de Comissão São Atualizadas?** As taxas de comissão são atualizadas em tempo real à medida que os afiliados atingem suas metas de vendas. As regras mensais são reiniciadas no início de cada mês. **O Que Acontece Se um Afiliado Não Atingir Sua Meta?** Eles receberão a taxa de comissão padrão até atingirem sua meta. ## Comissão em Cascata (Daisy Chain) Crie estruturas de afiliados multinível onde os afiliados pais ganham comissões sobre as vendas dos afiliados que recrutaram. Este poderoso recurso permite que você construa programas de gerentes de afiliados, parcerias de agências e estruturas de comissão baseadas em equipe. > **Nota:** A Comissão em Cascata (Daisy Chain) é um recurso premium disponível nos planos Advanced e Enterprise. [Confira nossa página de preços](https://insertaffiliate.com/#pricing) para ver qual plano é o ideal para você. ### O Que É a Comissão em Cascata (Daisy Chain)? A Comissão em Cascata (Daisy Chain) permite que você crie relacionamentos hierárquicos de afiliados, onde um afiliado (um "pai") ganha automaticamente uma comissão quando outro afiliado (um "filho") gera uma venda. A comissão do pai pode ser um **percentual** do preço original da transação ou um **valor fixo em dólares** por transação. **Conceito Principal:** As comissões dos pais são calculadas separadamente do preço original da transação - elas NÃO reduzem os ganhos do afiliado filho. Ambos os afiliados ganham suas comissões completas de forma independente. ### Como Funciona Quando um afiliado filho gera uma venda: 1. **O afiliado filho ganha sua comissão normal** com base em sua taxa de comissão 2. **O sistema verifica se ele tem um afiliado pai** configurado 3. **O afiliado pai ganha sua comissão em cascata** — seja um percentual do preço original da transação ou um valor fixo 4. **Ambas as comissões são rastreadas separadamente** nas suas transações **Exemplo com Percentual:** ``` Original Sale: $100 Child Affiliate Rate: 15% Child Earns: $15 Daisy Chain Parent Percentage: 10% Parent Earns: $10 (10% of $100 original sale) Important: The parent's $10 does NOT come from the child's $15 Both earn their commissions independently from the original transaction ``` **Exemplo com Valor Fixo:** ``` Original Sale: $100 Child Affiliate Rate: 15% Child Earns: $15 Daisy Chain Parent Fixed Amount: $5.00 Parent Earns: $5.00 per transaction ``` **Limite do Valor Fixo:** Ao usar um valor fixo, a comissão do pai é limitada ao preço original da transação. Isso impede que a comissão exceda o valor da venda. ``` Original Sale: $2.00 Daisy Chain Parent Fixed Amount: $5.00 Parent Earns: $2.00 (capped at the transaction price, not $5.00) ``` ### Configurando a Comissão em Cascata (Daisy Chain) #### Passo 1: Configurar o Relacionamento com o Pai 1. Acesse [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione o afiliado filho 3. Pressione o botão "View Affiliate Settings" 4. Encontre a seção "Daisy Chain Commission" 5. Configure os campos obrigatórios: - **Parent Affiliate**: Selecione o afiliado pai no menu suspenso - **Commission Type**: Escolha entre "Percentage" ou "Fixed Amount" - **Parent Commission Percentage**: Se usar percentual, insira o percentual que o pai ganhará (por exemplo, 10%) - **Parent Commission Fixed Amount**: Se usar valor fixo, insira o valor em dólares que o pai ganhará por transação (por exemplo, $5,00) #### Passo 2: Requisitos de Validação Para que a cascata funcione corretamente: - O afiliado pai e a comissão devem ser definidos (não é possível ter um sem o outro) - Para o tipo percentual: o percentual deve ser maior que 0 - Para o tipo valor fixo: o valor deve ser maior que 0 - O afiliado pai deve existir na mesma empresa - Um afiliado não pode ser seu próprio pai O sistema valida automaticamente essas regras e evita configurações inválidas. ### Cascata Automática via Links de Cadastro Em vez de configurar manualmente os relacionamentos de cascata, você pode ativar os **Daisy Chain Signup Links** que permitem que seus afiliados recrutem novos afiliados automaticamente. #### Como Funciona 1. Um afiliado existente compartilha seu link de cadastro exclusivo 2. Um novo afiliado se cadastra usando esse link 3. O relacionamento de cascata é estabelecido automaticamente 4. O afiliado recrutador ganha um percentual das comissões do novo afiliado #### Ativando os Daisy Chain Signup Links 1. Acesse [Settings → Affiliate Revenue Settings](https://app.insertaffiliate.com/settings#affiliate-revenue-settings) na aba **Payments & Payouts** 2. Encontre "Daisy Chain Signup Links" 3. Alterne para **Enabled** 4. Defina o "Default Daisy Chain Commission Type" — escolha "Percentage" ou "Fixed Amount" 5. Defina o valor padrão: - Para percentual: insira o percentual (por exemplo, 10%) - Para valor fixo: insira o valor em dólares (por exemplo, $5,00) 6. Salve suas configurações #### Como os Afiliados Obtêm Seu Link de Cadastro Uma vez ativado, os afiliados verão seu link de indicação no painel deles: 1. O afiliado faz login no painel dele 2. Ele verá uma seção "Refer Other Affiliates" no topo 3. Ele pode copiar seu link de cadastro exclusivo para compartilhar O formato do link é: ``` https://app.insertaffiliate.com/signup/affiliate?companyName=YourCompany&daisyChain=AFFILIATE_SHORT_CODE ``` #### Usando com Formulários de Cadastro Incorporados Se você usa um iframe incorporado para cadastro de afiliados, os afiliados podem adicionar o parâmetro `daisyChain` à URL: ```html ``` Substitua `AFFILIATE_SHORT_CODE` pelo código curto do afiliado recrutador. #### Notas Importantes - **Deve ser ativado primeiro**: O parâmetro `daisyChain` é ignorado se esse recurso estiver desativado nas configurações - **Códigos inválidos ignorados**: Se o código curto não corresponder a um afiliado existente, o cadastro continua normalmente sem estabelecer uma cascata - **Usa o percentual padrão**: Novos cadastros usam o percentual padrão configurado (pode ser ajustado por afiliado posteriormente) - **Os afiliados veem seu link**: Mostrado apenas no painel do afiliado quando o recurso está ativado ### Casos de Uso **1. Programa de Gerente de Afiliados (Percentual)** ``` Setup: - Manager recruits 10 affiliates - Each recruited affiliate configured with manager as parent - Manager earns 5% on all their recruits' sales Benefit: Incentivizes affiliate recruitment without reducing individual earnings ``` **2. Modelo de Agência/Revendedor (Valor Fixo)** ``` Setup: - Agency has multiple client affiliates - Each client configured with agency as parent - Agency earns a fixed $3.00 per transaction from each client's sales Benefit: Predictable per-sale earnings for the agency regardless of transaction size ``` **3. Estruturas Baseadas em Equipe** ``` Setup: - Team lead manages team members - Members configured with lead as parent - Lead earns 7% on team performance Benefit: Rewards leadership without penalizing team members ``` **4. Programas de Parceria Escalonados** ``` Setup: - VIP affiliates can recruit standard affiliates - VIP earns 8% on recruits' sales - Standard affiliates still earn full commissions Benefit: Creates growth incentives while maintaining competitive rates ``` ### Visualizando Transações em Cascata As transações em cascata aparecem nas suas visualizações de transações normais com identificação clara: 1. **Visualização de Todas as Transações** - Transações do pai marcadas como "Daisy Chain" - Mostra o relacionamento entre pai e filho - Inclui a referência da transação original 2. **Visualização Individual do Afiliado** - Os afiliados filhos veem suas transações normais - Os afiliados pais veem ambos: - Suas vendas diretas (transações normais) - Comissões em cascata dos afiliados recrutados 3. **Detalhes da Transação** - ID da transação original - Referência do afiliado filho - Comissão em cascata aplicada (percentual ou valor fixo) - Para comissões de valor fixo, uma nota se o valor foi limitado ao preço da transação - Todos os metadados padrão da transação ### Mostrando Afiliados Indicados aos Pais Você pode, opcionalmente, permitir que os afiliados pais vejam quais afiliados estão em cascata sob eles. Isso é controlado por uma configuração no nível da empresa: 1. Acesse **Settings** → aba **Payments & Payouts** e encontre a seção **Daisy Chain Signup Links** 2. Ative o botão **Show Daisy-Chained Affiliates to Parent** Quando ativado, os afiliados pais verão uma seção **"Your Referred Affiliates"** no painel deles listando os endereços de e-mail e as taxas de comissão dos afiliados que indicaram. Esta configuração está desativada por padrão por questões de privacidade — ative-a apenas se você quiser que seus afiliados tenham visibilidade da rede de indicações deles. **Nota:** Isso mostra apenas os afiliados ao seu pai direto. Os afiliados não podem ver os filhos de outros afiliados nem quaisquer dados além do e-mail e da taxa de comissão. ### Limitações Importantes **Apenas Um Único Nível** Atualmente, suporta apenas um nível de cascata. Se o Afiliado A recruta o Afiliado B, e o Afiliado B recruta o Afiliado C: - A ganha das vendas de B ✓ - B ganha das vendas de C ✓ - A NÃO ganha das vendas de C ✗ **Suporte às Mesmas Plataformas** As comissões em cascata funcionam em todas as origens de transação: - Compras na iOS App Store ✓ - Compras no Google Play ✓ - Transações do RevenueCat ✓ - Transações do Apphud ✓ - Transações do Iaptic ✓ **Tratamento de Moeda** As transações do pai mantêm a mesma conversão de moeda que a transação original do filho, garantindo cálculos de comissão precisos em todas as moedas. ### Melhores Práticas para Cascata 1. **Comece Conservador**: Comece com comissões de 5-10% para o pai (ou um valor fixo modesto) e ajuste com base nos resultados 2. **Comunicação Clara**: Garanta que tanto os afiliados pais quanto os filhos entendam a estrutura 3. **Acompanhe o Desempenho**: Monitore quais afiliados pais estão recrutando e apoiando sua equipe de forma eficaz 4. **Incentivos Equilibrados**: Mantenha os percentuais dos pais atraentes sem reduzir a lucratividade geral 5. **Revisão Regular**: Avalie os relacionamentos pai-filho trimestralmente e ajuste conforme necessário ### Perguntas Frequentes **A cascata reduz os ganhos do afiliado filho?** Não. A comissão do pai é calculada separadamente do preço original da transação. Os afiliados filhos sempre recebem sua comissão completa com base na taxa configurada. **Posso alterar a comissão do pai após configurá-la?** Sim. Você pode atualizar o tipo de comissão em cascata, o percentual ou o valor fixo a qualquer momento. As novas configurações serão aplicadas a transações futuras, mas as transações existentes mantêm sua configuração de comissão original. **Um afiliado pode ser pai e filho simultaneamente?** Sim. Um afiliado pode ser pai de alguns afiliados enquanto também é filho de outro afiliado pai. Isso permite estruturas de equipe flexíveis. **Como as comissões em cascata são pagas?** As comissões em cascata são pagas da mesma forma que as comissões normais - através do Stripe Connect ou marcadas como pagas externamente. Elas aparecem como itens de linha de transação separados no processamento de pagamentos. **Posso remover um relacionamento de cascata?** Sim. Basta limpar os campos de e-mail do pai e de percentual nas configurações do afiliado. As transações futuras não criarão mais comissões para o pai, mas as transações existentes do pai permanecem inalteradas. **O que acontece se eu excluir um afiliado pai?** As transações em cascata existentes permanecem no sistema para registros históricos. Novas transações de afiliados filhos não criarão mais comissões para o pai. Você deve reatribuir os afiliados filhos a um novo pai ou remover a configuração de cascata. **Os afiliados pais podem ver quem está em cascata sob eles?** Apenas se você ativar o botão **Show Daisy-Chained Affiliates to Parent** nas suas configurações de cascata. Quando ativado, os afiliados pais veem o e-mail e a taxa de comissão dos afiliados indicados no painel deles. Isso está desativado por padrão. --- Pronto para configurar sua estrutura de comissão? Vá para [Settings](https://app.insertaffiliate.com/settings) para começar. --- # E-mails para Afiliados, Configurações de Notificação e Sequências Automatizadas | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/affiliate-emails > Saiba como personalizar e-mails de boas-vindas para afiliados, configurações de e-mail de remetente personalizado, e-mail de notificação da plataforma com suporte a CC e sequências automatizadas de e-mail para empresas e afiliados. # E-mails para Afiliados e Sequências Automatizadas O Insert Affiliate envia e-mails inteligentes e automatizados tanto para você quanto para seus afiliados ao longo de todo o ciclo de vida do afiliado. De e-mails de boas-vindas a celebrações de marcos, esses e-mails são projetados para manter seu programa funcionando sem problemas e seus afiliados motivados. --- ## Personalizando E-mails de Boas-Vindas Quando você adiciona um novo afiliado, o Insert Affiliate envia a ele um e-mail de boas-vindas com tudo o que precisa para começar. Você pode personalizar totalmente esses e-mails para refletir o tom e a mensagem da sua marca. Existem **dois tipos** de e-mail de boas-vindas, dependendo de como o afiliado foi criado: ### E-mail de Afiliado Criado pelo Administrador Este e-mail é enviado quando **você cria manualmente um afiliado** a partir do painel. Ele inclui um **link de redefinição de senha**, já que você criou a conta dele em seu nome e ele precisa definir a própria senha. **Variáveis de modelo padrão:** - `{{affiliate_name}}` — O nome de exibição do afiliado - `{{affiliate_email}}` — O endereço de e-mail do afiliado - `{{company_name}}` — O nome da sua empresa - `{{password_reset_link}}` — Link para o afiliado definir sua senha Modelos de e-mail de afiliados com a aba Admin-Created ativa nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### E-mail de Boas-Vindas de Afiliado por Autocadastro Este e-mail é enviado quando **você aprova a inscrição de um afiliado por autocadastro**. Ele inclui um **link de login** em vez de um link de redefinição de senha, já que o afiliado já definiu sua senha durante o cadastro. **Variáveis de modelo padrão:** - `{{affiliate_name}}` — O nome de exibição do afiliado - `{{affiliate_email}}` — O endereço de e-mail do afiliado - `{{company_name}}` — O nome da sua empresa - `{{sign_in_link}}` — Link para o afiliado fazer login no painel dele Modelos de e-mail de afiliados com a aba Self-Signup Welcome ativa nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### Como Personalizar 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Notifications & Emails** 2. Role até a seção **Email Templates** 3. Alterne entre as abas **Admin-Created** e **Self-Signup Welcome** 4. Edite o assunto e o corpo usando as variáveis de modelo disponíveis 5. Use o botão **Preview Email** para ver como seu e-mail ficará com dados de exemplo 6. Clique em **Save Changes** Você pode clicar nos botões de variáveis acima do editor para inseri-las na posição do cursor. Use **Reset to Default** a qualquer momento para restaurar o modelo original. --- ## E-mail de Remetente Personalizado Por padrão, todos os e-mails enviados aos seus afiliados vêm do endereço de e-mail do Insert Affiliate. Se você estiver em um plano **Growth** ou **Enterprise**, pode optar por enviar e-mails destinados aos afiliados a partir do seu próprio **Contact Email**. Isso proporciona aos seus afiliados uma experiência mais profissional e alinhada à sua marca — eles verão o nome e o endereço de e-mail da sua empresa como remetente, em vez do Insert Affiliate. ### O Que É Afetado Quando habilitado, os seguintes e-mails serão enviados a partir do seu Contact Email: - E-mails de boas-vindas (tanto os criados pelo administrador quanto os de autocadastro) - E-mails de convite para afiliados - Notificações de aprovação pendente - Sequências automatizadas de e-mail para afiliados (onboarding, reengajamento, lembretes, marcos, resumos mensais) - E-mails de convite para membros da equipe **Não afetados:** E-mails internos da plataforma enviados a você (por exemplo, notificações de novo cadastro de empresa, alertas de cobrança, mensagens de suporte) continuarão vindo do Insert Affiliate. ### Como Habilitar 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Notifications & Emails** 2. Certifique-se de que seu **Contact Email** esteja definido com o endereço de e-mail que você deseja que os afiliados vejam 3. Encontre a seção **Affiliate Email Sender** (abaixo das configurações de e-mail de notificação) 4. Marque a caixa de seleção **"Send affiliate emails from my contact email"** 5. Clique em **Save Changes** Quando esta configuração estiver habilitada, os e-mails mostrarão o nome da sua empresa como nome de exibição e seu Contact Email como endereço do remetente. Se um afiliado responder a um desses e-mails, a resposta irá diretamente para o seu Contact Email. Se você desabilitar esta configuração ou deixá-la desmarcada, todos os e-mails destinados aos afiliados continuarão sendo enviados a partir do endereço padrão do Insert Affiliate. **Observação:** Este recurso requer um plano Growth ou Enterprise. Nos planos Starter ou Free, a caixa de seleção ficará visível, porém desabilitada, com um aviso para fazer upgrade. --- ## Sequências Automatizadas de E-mail Além dos e-mails de boas-vindas, o Insert Affiliate executa sequências automatizadas de e-mail que orientam tanto você quanto seus afiliados através de momentos-chave. Esses e-mails são enviados no momento certo com base em dados reais de atividade — não em cronogramas arbitrários. ### Por Que os E-mails Automatizados Importam Os programas de afiliados têm sucesso quando ambos os lados permanecem engajados: - **Para você (a empresa):** E-mails automatizados ajudam você a manter o rumo do seu programa de afiliados, manter esforços de marketing consistentes e celebrar marcos importantes. Em vez de seu programa ficar parado após a configuração, você recebe lembretes oportunos para manter o ímpeto. - **Para seus afiliados:** E-mails automatizados ajudam seus afiliados a se ativarem cedo, permanecerem motivados durante seus primeiros dias e semanas e se sentirem reconhecidos por seus esforços. Afiliados que recebem e-mails de onboarding oportunos alcançam sua primeira venda significativamente mais rápido. **Tempo até a ativação** — o tempo entre um afiliado ingressar e gerar seu primeiro clique ou venda — é uma das métricas mais importantes no marketing de afiliados. Essas sequências são projetadas especificamente para encurtar essa janela e impulsionar o engajamento inicial. --- ## Sequências de E-mail para a Empresa Esses e-mails são enviados a você (o administrador da empresa) para ajudá-lo a construir e manter um programa de afiliados bem-sucedido. ### Sequência de Onboarding (Dias 1–14) Orienta você através das duas primeiras semanas críticas da configuração do seu programa de afiliados. | Dia | E-mail | Quando É Enviado | |-----|-------|----------------| | Dia 1 | **Getting Started** | Se sua integração do SDK ainda não estiver configurada | | Dia 3 | **Add Your First Affiliate** | O SDK está integrado, mas você não adicionou nenhum afiliado | | Dia 5 | **Still No Affiliates** | Um lembrete gentil se você ainda não tiver afiliados | | Dia 7 | **Drive Your First Clicks** | Você tem afiliados, mas ainda nenhum clique | | Dia 10 | **Programme Check-in** | Se não houve progresso significativo | | Dia 14 | **Final Onboarding Nudge** | Último lembrete de onboarding antes de a sequência terminar | Cada e-mail é **condicional** — você só o recebe se a situação específica se aplicar. Se você já estiver à frente (por exemplo, adicionou afiliados no dia 1), pulará os e-mails que não se aplicam a você. ### Lembretes de Atividade Acionados por condições específicas em vez de cronogramas fixos. | E-mail | Quando É Enviado | |-------|----------------| | **Approaching Affiliate Limit** | Você usou 80% das vagas de afiliados do seu plano | | **Hit Affiliate Limit** | Você atingiu 100% das vagas de afiliados do seu plano | ### Celebrações de Marcos Celebre conquistas importantes à medida que seu programa cresce. | Marco | Gatilho | |-----------|---------| | **First Click** | Seu programa recebe seu primeiro clique | | **10 Affiliates** | Você cresceu para 10+ afiliados | | **100 Clicks** | Seu programa atinge 100+ cliques no total | | **$100 Revenue** | $100+ em receita gerada por afiliados | | **$1,000 Revenue** | $1.000+ em receita gerada por afiliados | ### Resumo Mensal de Métricas No **1º dia de cada mês**, você receberá um resumo do desempenho do seu programa no mês anterior, incluindo atividade de afiliados, cliques e receita. --- ## Sequências de E-mail para Afiliados Esses e-mails são enviados diretamente aos seus afiliados para ajudá-los a ter sucesso e permanecer motivados. ### Onboarding de Afiliados (Dias 1–7) Coloca novos afiliados em funcionamento rapidamente durante sua primeira semana crítica. | Dia | E-mail | Quando É Enviado | |-----|-------|----------------| | Dia 1 | **Welcome & Getting Started** | Enviado a todos os novos afiliados | | Dia 3 | **Tips for Success** | Dicas práticas para promover de forma eficaz | | Dia 7 | **No Clicks Yet** | Se o afiliado não gerou nenhum clique | | Dia 7 | **Clicks, No Sales** | Se ele tem cliques, mas ainda nenhuma conversão | ### Reengajamento de Afiliados Mantém os afiliados engajados se a atividade cair. | Tempo | E-mail | Gatilho | |--------|-------|---------| | Dia 14 | **Encouragement** | 14 dias sem a primeira venda | | Dia 30 | **30-Day Check-in** | 30 dias desde a última venda | | Dia 60 | **60-Day Re-engagement** | 60 dias desde a última venda | ### Lembretes para Afiliados E-mails inteligentes e baseados em condições que respondem ao comportamento real do afiliado. | E-mail | Quando É Enviado | |-------|----------------| | **Clicks but No Conversions** | 15+ cliques sem nenhuma venda — dicas para melhorar | | **Performing Great** | Alta taxa de conversão ou vendas consistentes — reconhecimento e incentivo | ### Marcos de Afiliados Reconheça e celebre as conquistas dos seus afiliados para mantê-los motivados. | Marco | Gatilho | |-----------|---------| | **First Click** | O link dele recebe seu primeiro clique | | **First Sale** | Ele gera sua primeira conversão | | **10 Clicks** | 10+ cliques no total | | **50 Clicks** | 50+ cliques no total | | **100 Clicks** | 100+ cliques no total | | **$100 Earned** | $100+ em comissões totais | | **$500 Earned** | $500+ em comissões totais | | **First Payout** | Ele recebe seu primeiro pagamento | ### Resumo Mensal do Afiliado No **1º dia de cada mês**, os afiliados ativos recebem um resumo de seu desempenho — cliques, vendas, ganhos e como estão evoluindo. --- ## E-mail de Notificação da Plataforma Por padrão, todos os e-mails de notificação do sistema — como "um novo afiliado ingressou", alertas de aprovação pendente, mensagens de afiliados e relatórios diários — são enviados para o seu **Contact Email**. Se você quiser que essas notificações sejam enviadas para um endereço diferente, pode definir um **Platform Notification Email** dedicado. Isso é útil se o seu e-mail de contato público for diferente da caixa de entrada onde você gerencia seu programa de afiliados no dia a dia. Por exemplo, você pode usar `hello@yourcompany.com` como seu e-mail de contato, mas querer que as notificações sejam enviadas para `affiliates@yourcompany.com`. ### Como Configurar 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Notifications & Emails** 2. Encontre o campo **Platform Notification Email** (abaixo do seu Contact Email) 3. Insira o endereço de e-mail onde deseja receber as notificações do sistema 4. Opcionalmente, adicione até **2 endereços de e-mail em CC** para copiar membros adicionais da equipe em todos os e-mails de notificação 5. Clique em **Save Changes** Se você deixar o Platform Notification Email em branco, as notificações continuarão sendo enviadas para o seu Contact Email como antes. ### O Que É Afetado As seguintes notificações serão enviadas para o seu Platform Notification Email (ou Contact Email, se não definido): - Novo afiliado ingressou no seu programa - Solicitações de aprovação de afiliados pendentes - Mensagens de afiliados - Relatórios de e-mail diários e mensais - Sequências automatizadas de e-mail para a empresa (onboarding, lembretes de atividade, marcos) **Observação:** Esta configuração controla apenas onde *você* recebe notificações. Ela não afeta os e-mails enviados aos seus afiliados. Para personalizar o endereço do remetente nos e-mails destinados aos afiliados, consulte [E-mail de Remetente Personalizado](#custom-sender-email) acima. --- ## Preferências de E-mail ### Preferências de E-mail da Empresa Você pode gerenciar suas preferências de e-mail na sua página de [Settings](https://app.insertaffiliate.com/settings) (aba **Notifications & Emails**). Você pode pausar todos os e-mails de sequências automatizadas, se necessário — os e-mails transacionais (como e-mails de boas-vindas e confirmações de pagamento) continuarão sendo enviados. ### Preferências de E-mail do Afiliado Os afiliados podem gerenciar suas próprias preferências de e-mail a partir do painel deles. Eles podem optar por não receber tipos específicos de e-mail enquanto continuam recebendo outros. Os e-mails transacionais não podem ser desativados. --- ## Como os E-mails Impulsionam o Sucesso dos Afiliados ### Tempo Mais Rápido até a Ativação As sequências de onboarding tanto para empresas quanto para afiliados são projetadas para encurtar o tempo entre o cadastro e a primeira ação significativa. Para as empresas, isso significa integrar seu SDK e adicionar afiliados. Para os afiliados, significa compartilhar seu link e gerar seus primeiros cliques e vendas. ### Gestão Consistente do Programa As sequências de e-mail para a empresa atuam como um gerente de programa automatizado — mantendo você no rumo certo, sinalizando quando algo precisa de atenção e celebrando vitórias para que você mantenha o ímpeto. ### Motivação e Retenção de Afiliados Afiliados que se sentem apoiados e reconhecidos têm um desempenho melhor e permanecem por mais tempo. As celebrações de marcos, os lembretes de desempenho e os resumos mensais dão aos afiliados uma sensação de progresso e realização. Em vez de promover no silêncio, eles recebem feedback regular de que seus esforços estão funcionando. ### Intervenção Precoce E-mails de reengajamento alcançam tanto empresas quanto afiliados antes que eles se desengajem completamente. Um lembrete oportuno no dia 14 ou no dia 30 é muito mais eficaz do que tentar reconquistar alguém após meses de inatividade. --- Pronto para personalizar seus e-mails de boas-vindas? Acesse [Settings](https://app.insertaffiliate.com/settings) (aba **Notifications & Emails**) para começar, ou saiba mais sobre [como criar afiliados](/pt/create-affiliate) e [autocadastro de afiliados](/pt/create-affiliate-affiliate-self-signup). --- # Recursos de Treinamento para Afiliados Source: https://docs.insertaffiliate.com/pt/affiliate-training-resources > Faça upload e gerencie materiais de treinamento para ajudar os seus afiliados a divulgar o seu produto de forma eficaz. # Recursos de Treinamento para Afiliados Esta seção permite que você faça upload e gerencie materiais de treinamento — como PDFs, apresentações de slides, vídeos ou imagens — que ficarão acessíveis aos seus afiliados pelo painel deles. Esses recursos são uma forma essencial de garantir que os seus afiliados estejam bem informados, alinhados com a sua marca e preparados para gerar conversões significativas. ## Como Fazer Upload de Recursos 1. Use a seção [Affiliate Training Resources](https://app.insertaffiliate.com/affiliate-training-resources) para adicionar novos documentos ou vídeos. 2. Os formatos suportados incluem PDF, PowerPoint, MP4 e tipos de imagem padrão. 3. Cada arquivo é disponibilizado instantaneamente para todos os seus afiliados após o upload. Página de administração de Recursos de Treinamento de Afiliados no painel da Insert Affiliate

Clique para ver em tamanho real

O seu armazenamento disponível depende do seu pacote de assinatura. Você pode gerenciar ou aumentar o seu armazenamento a qualquer momento na [seção Billing](https://app.insertaffiliate.com/billing). ## Boas Práticas - Inclua um PDF ou vídeo introdutório para dar as boas-vindas aos afiliados e explicar a oferta central da sua marca. - Adicione recursos visuais (por exemplo, logotipos, capturas de tela) para ajudar os afiliados a manter a consistência da marca. - Atualize os recursos regularmente para refletir novas campanhas ou funcionalidades do produto. --- # Marketplace Source: https://docs.insertaffiliate.com/pt/app-affiliate-marketplace # Marketplace O marketplace do Insert Affiliate conecta empresas e afiliados, criando oportunidades de parcerias e expandindo a sua rede de afiliados. As empresas podem divulgar os seus aplicativos para atrair novos afiliados, enquanto os afiliados podem descobrir novas empresas para fazer parcerias. ## Visão Geral O marketplace tem dois propósitos principais: - **Para Empresas**: Atrair novos afiliados divulgando o seu aplicativo e as suas taxas de comissão - **Para Afiliados**: Descobrir novas oportunidades de parceria com empresas que buscam afiliados ## Serviço de Marketplace Enterprise > **Exclusivo do Plano Enterprise**: Disponível apenas para [clientes do plano Enterprise](https://insertaffiliate.com/#pricing) Os clientes Enterprise recebem **3 horas por mês** de serviço dedicado de prospecção de afiliados. A nossa equipe buscará e identificará ativamente potenciais afiliados no nicho específico do seu aplicativo. ### Como Funciona **Exemplo**: Se você tem um aplicativo de viagens americano, buscaremos influenciadores de viagens e turismo nos seus estados-alvo e os recrutaremos para o nosso marketplace, onde você poderá então convidá-los a fazer parceria com o seu aplicativo. ### Requisitos Para receber este serviço, você precisa: 1. **Estar inscrito no plano Enterprise** 2. **Optar pela visibilidade no marketplace** nas suas [configurações de empresa](https://app.insertaffiliate.com/settings) 3. **Solicitar o serviço diretamente** enviando um e-mail à nossa equipe com o nicho do seu aplicativo e o público-alvo ### Observações Importantes - **Sem garantias**: Não oferecemos garantias de que encontraremos afiliados adequados durante o tempo alocado - **Base de melhores esforços**: A nossa equipe usa a sua experiência do setor para identificar possíveis correspondências - **Alocação mensal**: 3 horas por mês, sem acúmulo para os meses seguintes - **Precisa ser solicitado**: Este serviço não é automático - você precisa nos enviar um e-mail para ativá-lo ### Como Começar 1. Garanta que você está no plano Enterprise 2. Habilite a visibilidade no marketplace nas suas configurações 3. Envie um e-mail à nossa equipe de suporte com: - Os detalhes e o nicho do seu aplicativo - O público-alvo ou as regiões geográficas - Quaisquer requisitos específicos para potenciais afiliados A nossa equipe então iniciará o processo de busca e entrará em contato com potenciais afiliados em seu nome. ## Configuração do Marketplace para Empresas ### Optando pelo Marketplace Para tornar a sua empresa visível no marketplace: 1. Acesse as suas [configurações de empresa](https://app.insertaffiliate.com/settings) 2. Habilite a opção "Opt into Marketplace" 3. Preencha as informações do perfil da sua empresa Configuração Marketplace Visibility nas Configurações da Empresa com a caixa de habilitar visibilidade no marketplace marcada e destacada

Clique para ver em tamanho real

### Informações do Perfil da Empresa Ao configurar o seu perfil no marketplace, forneça as seguintes informações: **Informações Obrigatórias:** - Nome da empresa - Porcentagem de comissão para afiliados - E-mail de contato **Opcionais, mas Recomendadas:** - Descrição da empresa (visão geral breve) - Biografia da empresa (informações detalhadas sobre o seu negócio) - Links do site - Links de redes sociais - Link da iOS App Store - Link da Google Play Store ### Gerenciando Solicitações de Afiliados Uma vez que a sua empresa esteja no marketplace, os afiliados podem solicitar a entrada no seu programa. Você poderá: 1. **Revisar Solicitações** - Veja as solicitações de afiliados no seu [painel do marketplace de afiliados](https://app.insertaffiliate.com/company-invites) - Veja os perfis e as informações dos afiliados - Avalie a experiência de marketing e o público deles 2. **Aceitar ou Rejeitar Solicitações** - Aceite afiliados qualificados para adicioná-los ao seu programa - Rejeite solicitações que não atendam aos seus critérios ### Convidando Afiliados Diretamente Você também pode convidar afiliados proativamente para entrarem no seu programa: 1. Busque afiliados no [marketplace de afiliados](https://app.insertaffiliate.com/company-invites) 2. Envie convites diretos a candidatos promissores Página Affiliate Marketplace mostrando o campo de e-mail para convite direto destacado e os cartões de afiliados do marketplace com opções de convidar e visualizar

Clique para ver em tamanho real

### O Que Você Vê no Cartão de um Afiliado Cada cartão de afiliado no marketplace mostra: - **Nichos**: sobre o que o afiliado cria conteúdo (até três, por exemplo Fitness, Beleza, Educação) - **Audiência**: o tamanho total da audiência informado por ele, como uma faixa - **Apps**: com quantas empresas o afiliado já trabalha - **Ganhos**: o total de comissões que ele ganhou em todas as empresas - **Última atividade**: quando ele usou o painel ou respondeu a um convite pela última vez - **Resposta média a convites**: quão rápido ele costuma aceitar ou recusar convites de empresas ("Sem dados" até que tenha respondido a pelo menos um) - **Aceita ser pago por**: os tipos de pagamento que o afiliado disse aceitar, por exemplo um pagamento de adesão, um pagamento por post, uma porcentagem das vendas ou um CPM, com os valores ou faixas informados - **Plataformas conectadas e posts recentes**, quando o afiliado vinculou TikTok ou YouTube O e-mail do afiliado nunca é exibido, a menos que ele tenha escolhido compartilhá-lo. Nesse caso, um link de e-mail aparece abaixo do nome. ### Encontrando os Afiliados Certos A barra de filtros acima da grade reduz a lista sem abrir cada perfil. Você pode buscar por nome, usuário ou bio e filtrar por nicho, tamanho da audiência, país, plataforma (TikTok ou YouTube), tipo de pagamento que o afiliado aceita e se ele está pronto para receber pelo Stripe. Ordene por maiores ganhos, maior audiência, ativos recentemente ou mais rápidos para responder a convites. O contador mostra quantos afiliados correspondem. ### Enviando Mensagem a um Afiliado Clique em **Send message** em qualquer cartão para entrar em contato com um afiliado antes de convidá-lo. Sua mensagem é enviada por e-mail ao afiliado pelo Insert Affiliate, então você não precisa do endereço dele e ele não vê o seu até responder. As respostas vão para o e-mail de notificação da sua empresa (definido nas [configurações da empresa](https://app.insertaffiliate.com/settings)); se nenhum estiver definido, vão para o e-mail da sua conta. Você pode enviar uma mensagem por afiliado. Um novo contato só é possível depois que o afiliado responder (pelo botão de resposta no e-mail) ou aceitar ou recusar o seu convite. Pagamentos de adesão e pagamentos por post combinados com um afiliado são feitos como [pagamentos avulsos](https://docs.insertaffiliate.com/pt/paying-affiliates) na página do afiliado. ## Experiência do Afiliado no Marketplace ### Descobrindo Empresas Como afiliado, você pode navegar pelo marketplace para encontrar novas oportunidades de parceria: 1. Acesse a [seção do marketplace](https://app.insertaffiliate.com/affiliate-invites) no seu painel 2. Navegue pelas empresas disponíveis 3. Veja perfis detalhados das empresas ### Perfis de Empresas Cada perfil de empresa inclui: - **Taxa de Comissão**: Porcentagem que você ganhará em indicações bem-sucedidas - **Descrição da Empresa**: Visão geral breve da empresa - **Seção Sobre**: Informações detalhadas sobre o negócio - **Links**: Links do site e das redes sociais - **Links de Aplicativos**: Links diretos para os aplicativos iOS e Android - **Informações de Contato**: Como entrar em contato com a empresa ### Solicitando Entrada em Empresas Para fazer parceria com uma empresa: 1. Revise o perfil da empresa detalhadamente 2. Clique em "Request to Join" nas empresas que lhe interessam 3. Aguarde a empresa revisar a sua solicitação 4. Se aprovado, você será notificado da decisão ### Informando às Empresas Como Você Prefere Ser Pago Logo depois de optar pelo marketplace, fazemos algumas perguntas para que as empresas encontrem você. Isso é opcional e você pode pular. Primeiro, **sobre o que você cria conteúdo** (escolha até três nichos, por exemplo Fitness, Beleza, Educação) e **aproximadamente o tamanho da sua audiência total** nas plataformas, como uma faixa. Ambos aparecem no seu cartão e as empresas filtram o marketplace por eles. Depois, **como você gostaria que as empresas pagassem você**. Você pode marcar mais de uma opção: - **Um pagamento de adesão ao entrar**, com o valor que você espera - **Um pagamento por post que você criar**, como uma faixa - **Uma porcentagem das vendas**, como uma faixa, ou a sua própria resposta - **CPM**, seu valor por 1.000 visualizações Se você marcar mais de uma, também informa se quer as opções juntas (por exemplo, um pagamento de adesão e uma porcentagem das vendas) ou se qualquer uma delas serve. As empresas veem isso como "e" ou "ou" no seu cartão. Todos os valores são em USD. Suas respostas aparecem no seu cartão do marketplace para que as ofertas certas cheguem até você, e você pode alterá-las a qualquer momento em **Preferências de pagamento** nas suas [configurações de afiliado](https://app.insertaffiliate.com/affiliate-settings). Você também pode escolher **compartilhar seu e-mail com as empresas**. Isso fica desativado por padrão. Quando desativado, as empresas ainda podem enviar mensagens pelo Insert Affiliate, mas nunca veem o seu endereço, a menos que você responda. ### Gerenciando Convites de Empresas As empresas também podem convidá-lo diretamente para entrar no seu programa: 1. **Ver Convites**: Verifique a sua [seção "Company Invites"](https://app.insertaffiliate.com/company-invites) 2. **Revisar Detalhes**: Examine o perfil da empresa e a estrutura de comissões 3. **Aceitar ou Rejeitar**: Tome uma decisão com base nos seus critérios 4. **Começar a Divulgar**: Comece a divulgar as empresas aceitas imediatamente ## Status de Solicitações e Convites ### Tipos de Status **Para Solicitações de Afiliados:** - **Pending**: A sua solicitação está em análise - **Accepted**: Você foi aprovado e pode começar a divulgar - **Rejected**: A sua solicitação foi recusada **Para Convites de Empresas:** - **Pending**: Convite aguardando a sua resposta - **Accepted**: Você entrou no programa da empresa - **Rejected**: Você recusou o convite ### Gerenciamento de Status Todos os status são atualizados em tempo real: - Receba notificações quando os status mudarem - Veja o status atual diretamente nos cartões das empresas - Acompanhe o seu histórico de parcerias ## Boas Práticas ### Para Empresas 1. **Complete o Seu Perfil** - Adicione descrições detalhadas e informações da empresa - Inclua links de lojas de aplicativos de alta qualidade - Forneça informações de contato claras 2. **Defina Taxas de Comissão Competitivas** - Pesquise os padrões do setor - Considere o valor que os afiliados trazem ao seu negócio 3. **Configure o Stripe Connect para Pagamentos Fáceis** - Conecte a sua conta Stripe nas [configurações de empresa](https://app.insertaffiliate.com/settings) - Conclua a verificação do Stripe para habilitar pagamentos diretos aos afiliados - Isso torna você mais atraente para afiliados que preferem pagamentos rápidos e simples - Veja o nosso [guia do Stripe Connect](https://docs.insertaffiliate.com/paying-affiliates/stripe-connect) para instruções detalhadas de configuração 4. **Responda Prontamente** - Revise rapidamente as solicitações de afiliados - Mantenha uma comunicação profissional 5. **Divulgue o Seu Aplicativo** - Inclua descrições atraentes do aplicativo - Adicione links para as versões iOS e Android - Destaque o que torna o seu aplicativo único ### Para Afiliados 1. **Pesquise as Empresas Detalhadamente** - Revise as avaliações e os comentários do aplicativo - Verifique os sites e as redes sociais das empresas - Entenda o público-alvo 2. **Qualidade em vez de Quantidade** - Foque em empresas que se alinham ao seu público - Escolha aplicativos que você possa recomendar genuinamente - Mantenha a autenticidade nas suas divulgações 3. **Configure o Stripe Connect para Pagamentos Rápidos** - Conecte a sua conta Stripe nas [configurações de afiliado](https://app.insertaffiliate.com/affiliate-settings) - Conclua a verificação do Stripe para receber pagamentos diretos das empresas - Isso torna você mais atraente para empresas que preferem um processamento de pagamentos simples - Veja o nosso [guia do Stripe Connect](https://docs.insertaffiliate.com/paying-affiliates/stripe-connect) para instruções detalhadas de configuração 4. **Abordagem Profissional** - Complete o seu perfil de afiliado - Forneça informações precisas sobre o seu público - Responda prontamente aos convites das empresas 5. **Construa Relacionamentos** - Comunique-se profissionalmente com as empresas - Forneça atualizações regulares sobre o desempenho - Busque feedback e oportunidades de otimização ## Perguntas Frequentes ### Perguntas de Empresas **P: Como os afiliados encontram a minha empresa no marketplace?** R: Os afiliados navegam pelo marketplace e podem filtrar por taxas de comissão, setor e outros critérios. Ter um perfil completo aumenta a sua visibilidade. **P: Posso remover a minha empresa do marketplace?** R: Sim, você pode sair do marketplace a qualquer momento nas suas configurações de empresa. Isso ocultará o seu perfil de novas buscas de afiliados. **P: O que acontece com os afiliados existentes se eu sair do marketplace?** R: Os relacionamentos existentes com afiliados permanecem inalterados. Apenas a nova descoberta por meio do marketplace é afetada. ### Perguntas de Afiliados **P: Posso trabalhar com várias empresas do marketplace?** R: Sim, você pode fazer parceria com quantas empresas quiser, desde que elas aceitem as suas solicitações ou você aceite os convites delas. **P: E se uma empresa rejeitar a minha solicitação?** R: Você pode solicitar entrada em outras empresas. Cada empresa tem critérios diferentes, então a rejeição de uma não afeta a sua capacidade de entrar em outras. **P: Como saber se uma empresa é legítima?** R: Revise a presença dela nas lojas de aplicativos, o site e as redes sociais. Empresas com perfis completos e aplicativos consolidados são geralmente mais confiáveis. ## Suporte Se você precisar de ajuda com o marketplace: - Consulte esta documentação para perguntas comuns - Entre em contato com a nossa equipe de suporte pelo painel - Entre em contato por e-mail para perguntas específicas sobre parcerias --- # Guia de configuração do Apphud Source: https://docs.insertaffiliate.com/pt/apphud > Configure o Apphud pronto para criar um novo afiliado com o Insert Affiliate # Configurando o Apphud > **Importante:** Você precisa estar em um [plano do Apphud](https://apphud.com/pricing) que forneça acesso à Customers API. Para começar, [crie uma conta no Apphud](https://app.apphud.com/sign_up). Após criar uma conta, siga o guia de configuração do Apphud, que pode ser [encontrado aqui](https://docs.apphud.com/docs/quickstart). Se você encontrar qualquer problema ao configurar sua conta do Apphud, confira a seção [Suporte do Apphud](https://apphud.com/contact) para obter assistência. ## Configuração no iOS ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o Insert Affiliate Swift SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Apphud podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-4-apphud) ## Configuração no Unity ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o Insert Affiliate Unity SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do Apphud podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-4-apphud) --- # AppsFlyer e Insert Affiliate - Guia de configuração Source: https://docs.insertaffiliate.com/pt/appsflyer > Configure o AppsFlyer pronto para criar um novo afiliado com o Insert Affiliate # Configurando o AppsFlyer Para começar, [crie uma conta no AppsFlyer](https://www.appsflyer.com/) Depois de criar uma conta, siga os guias de configuração específicos de cada plataforma do AppsFlyer. Se você encontrar algum problema ao configurar sua conta do AppsFlyer, entre em contato com o [Suporte do AppsFlyer](https://support.appsflyer.com/hc/en-us) para obter ajuda. ## Configuração no iOS ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/deep-linking-appsflyer.md) ## Configuração no Android ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Android do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK/blob/main/docs/deep-linking-appsflyer.md) no repositório do GitHub. ## Configuração no React Native ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/deep-linking-appsflyer.md) ## Configuração no Flutter ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/deep-linking-appsflyer.md) no repositório do GitHub. ## Configuração no Unity ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/deep-linking-appsflyer.md) ## Criando um link com o AppsFlyer Use o AppsFlyer OneLink para gerar um deep link que abre o seu app. Para um passo a passo detalhado, consulte [Exemplo: Criando um link com o AppsFlyer](/pt/create-affiliate#example-creating-a-link-with-appsflyer). --- # Janela de Tempo Limite de Atribuição Source: https://docs.insertaffiliate.com/pt/attribution-timeout > Configure as opções de tempo limite de atribuição para controlar por quanto tempo os links de afiliados permanecem válidos para rastreamento nas plataformas iOS, Android, React Native e Flutter. # Janela de Tempo Limite de Atribuição A **Click Attribution Window** define por quanto tempo um afiliado permanece elegível para receber crédito por uma **primeira compra** após um usuário clicar no link dele ou inserir um código curto. Quando essa janela expira, quaisquer *novas* compras desse usuário não serão mais atribuídas ao afiliado. Esse recurso ajuda você a equilibrar justiça e flexibilidade — recompensando afiliados por conversões oportunas sem deixar cliques antigos abertos indefinidamente. ## Visão Geral Esta configuração é compatível com todos os SDKs do Insert Affiliate e pode ser configurada durante a inicialização do SDK. Se nenhum valor for definido, as atribuições de afiliados permanecem ativas indefinidamente até serem desativadas. --- ## Atribuição por Clique vs Atribuição de Renovação | Configuração | Aplica-se A | Descrição | |----------|-------------|--------------| | **Click Attribution Window** | Primeira compra | Tempo permitido entre o clique no link do afiliado e a compra inicial. | | **Renewal Attribution Window** | Renovações dessa compra | Período de tempo após a *venda inicial* durante o qual as renovações dessa mesma transação continuam a recompensar o afiliado. | ## Configuração por Plataforma ### iOS (Swift SDK) Configure o tempo limite de atribuição usando o parâmetro `affiliateAttributionActiveTime` durante a inicialização do SDK. **Comportamento padrão:** Sem tempo limite (a atribuição pode persistir indefinidamente) [Ver exemplos de configuração para iOS →](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#attribution-timeout-control) ### Android Configure o tempo limite de atribuição durante a inicialização do SDK. **Comportamento padrão:** Sem tempo limite (atribuição desativada por padrão) [Ver exemplos de configuração para Android →](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#attribution-timeout-control) ### React Native Configure o tempo limite de atribuição como o quinto parâmetro no método `initialize()`. Você também pode habilitar o [Prevent Affiliate Transfer](/pt/prevent-affiliate-transfer) como o sexto parâmetro. **Comportamento padrão:** Sem tempo limite (atribuição desativada por padrão) [Ver exemplos de configuração para React Native →](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#attribution-timeout-control) ### Flutter Configure o tempo limite de atribuição usando o parâmetro `attributionTimeout`. **Comportamento padrão:** Desativado (definido como 0 por padrão) **Observação:** Definir um valor diferente de zero habilita o rastreamento de atribuição pela duração especificada. [Ver exemplos de configuração para Flutter →](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#attribution-timeout-control) ### Unity Configure o tempo limite de atribuição durante a inicialização do SDK. **Comportamento padrão:** Sem tempo limite (atribuição desativada por padrão) [Ver exemplos de configuração para Unity →](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#-advanced-features) ## Exemplos de Duração de Tempo Limite Aqui estão durações comuns de tempo limite convertidas em segundos: | Duração | Segundos | Caso de Uso | |----------|---------|----------| | 1 dia | 86,400 | Promoções de curto prazo | | 7 dias | 604,800 | Rastreamento padrão de afiliados | | 30 dias | 2,592,000 | Janela de atribuição estendida | | 90 dias | 7,776,000 | Parcerias de longo prazo | --- # Pagamentos em Parcelas Automáticas | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/auto-chunk-payments > Divida os pagamentos de comissões de afiliados em parcelas menores e agendadas. Gerencie o fluxo de caixa dividindo comissões de assinaturas anuais ou de alto valor em pagamentos mensais ou por intervalo. # Pagamentos em Parcelas Automáticas Divida os pagamentos de comissões de afiliados para compras dentro do app específicas em parcelas menores que aparecem no painel do afiliado em intervalos definidos. Isso é útil para gerenciar o fluxo de caixa em assinaturas de alto valor — por exemplo, dividindo a comissão de uma assinatura anual em 12 pagamentos mensais em vez de pagar o valor total de uma vez. ## Disponibilidade Os pagamentos em parcelas automáticas são um recurso do plano **Enterprise**, atualmente disponível apenas para transações **RevenueCat**. Se você usar um método diferente de verificação de compras e desejar esse recurso, pode solicitá-lo diretamente na página de configurações. ## Como Funciona Quando chega uma transação para um produto que tenha uma regra de parcelamento configurada: 1. A comissão original é calculada normalmente (ex.: 30% de uma assinatura anual de $99.99 = $30.00) 2. Em vez de exibir o valor total de $30.00 como um único pagamento, ele é dividido em parcelas menores (ex.: 12 x $2.50) 3. A primeira parcela fica disponível imediatamente 4. As parcelas subsequentes ficam disponíveis conforme o cronograma que você escolher (mensalmente no dia 1º de cada mês ou em um intervalo de dias personalizado) 5. Os afiliados veem apenas as parcelas que já ficaram disponíveis — parcelas futuras ficam ocultas da visão deles 6. Apenas as parcelas disponíveis contam para o saldo total devido ao afiliado A transação original ainda é registrada para fins de auditoria, mas é excluída de todos os totais e exibições de pagamento. ## Configurando Regras de Parcelamento 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Payments & Payouts** 2. Role até a seção **Auto Chunk Payments** 3. Clique em **Add Chunk Rule** 4. Configure a regra: | Configuração | Descrição | |---------|-------------| | **IAP Product ID** | O ID do produto da compra dentro do app ao qual aplicar o parcelamento (ex.: `com.yourapp.annual_subscription`). Deve corresponder exatamente ao ID do produto como aparece nas suas transações do RevenueCat. | | **Number of Chunks** | Em quantos pagamentos dividir a comissão (mínimo 2, máximo 20). | | **Schedule Type** | Escolha **Monthly (1st of each month)** para liberar as parcelas no dia 1º de cada mês seguinte, ou **Custom interval (days)** para definir um número específico de dias entre cada parcela. | | **Days Between Chunks** | Mostrado apenas para cronogramas de intervalo personalizado. O número de dias entre cada parcela ficar disponível (ex.: 7 para semanal, 30 para aproximadamente mensal). | 5. Clique em **Save** para aplicar Seção Auto Chunk Payments nas Configurações com uma regra configurada dividindo um produto IAP em 12 parcelas mensais e o botão Add Chunk Rule destacado

Clique para ver em tamanho real

Cada ID de produto pode ter apenas uma regra de parcelamento. As alterações se aplicam apenas a transações futuras — pagamentos já parcelados não são afetados. ## Exemplo Você vende uma assinatura anual por $99.99 com uma comissão de afiliado de 30% ($30.00). Você configura uma regra de parcelamento com 12 parcelas mensais: - **Parcela 1** ($2.50): Disponível imediatamente quando a compra acontece - **Parcela 2** ($2.50): Disponível no dia 1º do mês seguinte - **Parcela 3** ($2.50): Disponível no dia 1º do mês seguinte a esse - ...e assim por diante até a **Parcela 12** O afiliado vê cada parcela aparecer em seu painel à medida que fica disponível. Seu saldo total devido inclui apenas as parcelas que atingiram sua data de disponibilidade. ## Visualizando Pagamentos Parcelados ### Como Administrador da Empresa Ao visualizar as transações de um afiliado em [Search Affiliate](https://app.insertaffiliate.com/affiliate-search), você verá uma aba **Chunked Payments** se o afiliado tiver alguma transação parcelada. Essa aba mostra: - **Cartões de resumo**: valores Available total, Paid, Unpaid e Scheduled - **Parcelas disponíveis**: parcelas que atingiram sua data de disponibilidade, com a possibilidade de marcar como pagas ou pagar via Stripe - **Parcelas agendadas**: parcelas futuras que ainda não atingiram sua data de disponibilidade, exibidas em cinza com sua data agendada - **Parcelas canceladas**: quaisquer parcelas que foram canceladas devido a um reembolso Clique no ícone de informação ao lado de qualquer número de parcela para ver todas as parcelas dessa transação agrupadas, mostrando seu status de relance. A transação original (ex.: a comissão total de $30.00) fica oculta na aba In App Transactions para evitar contagem dupla. Ela ainda existe no banco de dados para fins de auditoria. ### Como Afiliado Os afiliados veem suas parcelas disponíveis na aba **Chunked Payments** em seu painel. Eles só podem ver as parcelas que já ficaram disponíveis — parcelas futuras agendadas não ficam visíveis. Isso significa que seu saldo total devido reflete com precisão o que é atualmente pagável. ## Reembolsos Se um cliente receber um reembolso por um produto parcelado, parcelas de reembolso negativas correspondentes são criadas para cada parcela original: - As parcelas de reembolso têm a **mesma data de disponibilidade** da parcela original que compensam - As parcelas disponíveis recebem uma parcela de reembolso negativa imediata, zerando-as a $0 - As parcelas futuras também recebem uma parcela de reembolso negativa correspondente na mesma data agendada, de modo que, quando essa data chegar, tanto a parcela original quanto seu reembolso apareçam juntos, zerando a $0 - Nada é ocultado ou cancelado — a trilha de auditoria completa é preservada ## Pontos a Observar - Apenas uma regra de parcelamento pode ser definida por ID de produto - O parcelamento se aplica apenas a **transações in-app do RevenueCat** (não à cobrança web do Stripe) - A porcentagem de comissão ou o valor fixo é calculado normalmente antes do parcelamento — o parcelamento afeta apenas como o valor resultante é dividido e exibido - Arredondamento: se a comissão não dividir de forma exata, as parcelas iniciais recebem o valor arredondado para baixo e a parcela final absorve qualquer resto para garantir que o total seja exato - As regras de parcelamento são registradas como snapshot no momento da criação — se você alterar uma regra, apenas as transações futuras são afetadas --- # Guia de configuração do Branch Source: https://docs.insertaffiliate.com/pt/branch > Configure o Branch.io pronto para criar um novo afiliado com o Insert Affiliate # Configurando o Branch Para começar, [crie uma conta no Branch](https://dashboard.branch.io/) Depois de criar uma conta, siga os guias de configuração específicos de cada plataforma do Branch.io, que podem ser [encontrados aqui](https://help.branch.io/developers-hub/docs/native-sdks-overview). Se você encontrar algum problema ao configurar sua conta do Branch, entre em contato com o [Suporte do Branch](https://help.branch.io/using-branch/page/submit-a-ticket) para obter ajuda. ## Configuração no iOS ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/deep-linking-branch.md) ## Configuração no Android ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Android do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK/blob/main/docs/deep-linking-branch.md) ## Configuração no React Native ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/deep-linking-branch.md) ## Configuração no Flutter ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/deep-linking-branch.md) ## Configuração no Javascript / Capacitor #### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Javascript do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk/blob/main/docs/deep-linking-web.md) ## Configuração no Unity ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/deep-linking-branch.md) ## Criando um link com o Branch.io Use os Quick Links do Branch para gerar um deep link que abre o seu app. Para um passo a passo detalhado, consulte [Exemplo: Criando um link com o Branch.io](/pt/create-affiliate#example-creating-a-link-with-branch-io). --- # Guia de Criação de Afiliado (Link Único) Source: https://docs.insertaffiliate.com/pt/create-affiliate > Guia para criar um afiliado no Insert Affiliate usando Branch.io ou qualquer plataforma de deep linking. # Criando um Novo Afiliado Este guia explica como criar um único afiliado usando qualquer plataforma de deep linking. Para cadastros de afiliados em massa e para permitir que afiliados se cadastrem sem a sua intervenção manual, consulte [Criando um Afiliado [Autocadastro de Afiliados]](/pt/create-affiliate-affiliate-self-signup). ## Passo 1: Abra o Painel do Insert Affiliate Acesse a página [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) no Insert Affiliate e selecione "Create Affiliate (Admin)". ## Passo 2: Insira os Detalhes do Afiliado Forneça o nome e o endereço de e-mail do afiliado. Formulário de criação de afiliado no painel da Insert Affiliate

Clique para ver em tamanho real

## Gere um Link de Afiliado Use qualquer plataforma de deep linking de sua escolha para criar um link que abra seu app quando clicado. Este link será atribuído ao afiliado. Nossa recomendação é o [Branch.io](https://docs.insertaffiliate.com/branch). ### Passos Gerais 1. **Crie um Deep Link**: Use qualquer plataforma de deep linking para gerar um link que abra seu app. 2. **Copie o Link**: Cole-o no campo **Affiliate Deep Link** no Insert Affiliate. **Exemplo de Link** ```plaintext https://insert.app.link/vessp13GH0lb ``` ## Exemplo: Criando um Link com Insert Links Para informações sobre como criar um link para seu afiliado com os Insert Links, confira nosso [guia](http://docs.insertaffiliate.com/insert-links#enable-affiliate-self-signup) ## Exemplo: Criando um Link com Branch.io 1. Acesse o [Branch Quick Link](https://dashboard.branch.io/quick-links/qlc/). 2. Insira um **Link Name** (opcional). 3. Pule as **Analytics Tags** 4. Garanta que os **Redirects** estejam definidos como "default redirect." 5. Pule os **Link Data**. 6. Clique em **Save & Continue** 7. Copie o link gerado e cole-o no campo **Affiliate Deep Link** no Insert Affiliate. ### Tutorial em Vídeo Assista a este vídeo passo a passo sobre como criar um deep link no Branch.io e adicioná-lo ao Insert Affiliate:
## Exemplo: Criando um Link com AppsFlyer 1. Acesse a [página de criação do AppsFlyer OneLink](https://hq1.appsflyer.com/onelink). 2. Siga o [guia de configuração do AppsFlyer OneLink](https://support.appsflyer.com/hc/en-us/articles/208874366-Create-a-OneLink-link-for-your-campaigns) para criar seu OneLink. 3. Copie o OneLink gerado e cole-o no campo **Affiliate Deep Link** no Insert Affiliate. ### Caminho rápido para links adicionais do AppsFlyer - Clique em **+ New Link**. - Selecione **Custom experience**. - Defina o nome da fonte de mídia personalizada como **Insert Affiliate**. - Pule as configurações opcionais adicionais. - Clique em **Create link** e cole o resultado no campo **Affiliate Deep Link** no Insert Affiliate. ### Criação em massa (recurso pago do AppsFlyer) O AppsFlyer oferece uma ferramenta de criação de links em massa para gerar vários OneLinks de uma vez. Este é um recurso pago disponível no AppsFlyer. Saiba mais e acesse em [AppsFlyer Bulk Links](https://hq1.appsflyer.com/onelink/bulk-links). --- # Guia de Criação de Afiliados (Links em Massa) Source: https://docs.insertaffiliate.com/pt/create-affiliate-affiliate-self-signup > Aprenda a criar deep links em massa para novos afiliados usando Branch.io ou qualquer outra plataforma de deep linking no Insert Affiliate. # Criando um Novo Afiliado Este guia ajudará você, como administrador de uma empresa, a permitir que afiliados se autocadastrem na sua empresa. **Você pode escolher entre dois métodos de deep linking:** 1. **Branch.io** – **Gere** deep links automaticamente usando o processo de criação de links em massa do Branch.io. 2. **Outras Plataformas de Deep Linking** – Insira manualmente uma lista de deep links separados por vírgula. Se você deseja criar manualmente um único afiliado, consulte [Criando um Afiliado (Criação pelo Admin)](/pt/create-affiliate). --- ## 1. Escolhendo uma Plataforma de Deep Linking Ao criar links de afiliado em massa, primeiro selecione se você está usando: - **Branch.io** – Se seus deep links são gerados pelo Branch.io. - **Outras Plataformas** – Se você já tem deep links e quer carregá-los diretamente. Após selecionar uma plataforma, siga os passos relevantes abaixo. --- ## 2. Criando Múltiplos Deep Links para o Cadastro de Afiliados ### **Método 1: Usando Branch.io** Se você está usando o Branch.io para deep linking, siga estes passos: 1. **Baixe o Modelo CSV** - Acesse a página [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate). - Selecione **Enable Affiliate Self-Signup** e baixe o "personal Deep Link CSV template" com o botão de download. 2. **Gere os Links no Branch.io** - Acesse o [Branch Bulk Links Manager](https://dashboard.branch.io/quick-links/manager/link/bulk). - Faça upload do arquivo CSV e pressione **Create Links**. 3. **Exporte os Deep Links Gerados** - Acesse o [Branch Export Deep Links](https://dashboard.branch.io/quick-links/manager/export). - Exporte os deep links que você acabou de criar (selecione a data de hoje para facilitar a filtragem). 4. **Faça Upload no Insert Affiliate** - Volte à plataforma do Insert Affiliate e faça upload do CSV de deep links exportado. Após o upload, esses deep links serão automaticamente atribuídos aos afiliados quando eles se cadastrarem. --- ### **Método 2: Usando Qualquer Outra Plataforma de Deep Linking** Se você está usando outra plataforma de deep linking, siga estes passos: 1. **Insira Seus Deep Links** - Na página [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate), selecione **Enable Affiliate Self-Signup**. - Em vez de baixar um modelo, insira uma **lista separada por vírgula** de deep links. - Formato de exemplo: ``` https://your-deeplink.com/abc123, https://your-deeplink.com/xyz789 ``` 2. **Envie Seus Deep Links** - Clique em **Submit** para fazer upload dos deep links. - Eles serão armazenados e atribuídos automaticamente aos afiliados quando eles se cadastrarem. --- ## 3. Requisitos para o Cadastro de Afiliados Para se cadastrar como afiliado, os usuários precisam saber **o nome da sua empresa** dentro da plataforma do Insert Affiliate. Para encontrar o nome da sua empresa: - Acesse a [Página de Configurações](https://app.insertaffiliate.com/settings) (aba **General**). - Compartilhe o nome da sua empresa com os afiliados para que eles possam se cadastrar. --- ## 4. Processo de Cadastro do Afiliado Os afiliados podem se cadastrar seguindo estes passos: 1. **Acesse a Página de Cadastro** - Direcione os afiliados para o [Cadastro do Insert Affiliate](https://app.insertaffiliate.com/signup/affiliate). 2. **Insira o Nome da Sua Empresa** - Eles devem inserir o **nome da sua empresa** exatamente como aparece no Insert Affiliate. 3. **Atribuição de Deep Link** - Ao se cadastrar, o afiliado receberá automaticamente um dos deep links pré-gerados. - Eles podem começar a compartilhar este link para **ganhar comissões para a sua empresa**. ## 4.5. Incorporando o Formulário de Cadastro de Afiliados no Seu Site (Opcional) Você pode permitir que afiliados se cadastrem **diretamente do seu próprio site** incorporando o formulário de cadastro do Insert Affiliate como um iFrame. ### Como Usar o Widget de Incorporação por iFrame: 1. Acesse a página [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate) e escolha **Enable Affiliate Self-Signup**. 2. Role até a seção **Embed Widget Preview**. 3. Personalize as cores de fundo e de texto usando os seletores de cor. 4. Copie o código ` ``` --- ## 4.6. Deep Links Personalizados (Opcional) Se seus afiliados já têm seus próprios deep links — por exemplo, do AppsFlyer, Branch.io ou outro provedor — você pode ignorar completamente o pool de deep links não atribuídos. Em vez de atribuir um link do seu pool, o próprio deep link do afiliado é usado diretamente. Isso é feito adicionando o parâmetro `deeplink` à sua URL de cadastro (tanto na página de cadastro hospedada quanto na incorporação por iFrame). ### Opção 1: Pré-preencher um deep link específico Use isso quando você já souber o deep link de um afiliado específico. O link é passado silenciosamente — o afiliado não o verá nem o editará durante o cadastro. Adicione `&deeplink=` seguido do deep link **codificado em URL** à sua URL de cadastro: ``` ...affiliate-signup-iframe?companyName=YOUR_COMPANY_NAME&deeplink=https%3A%2F%2Fmyapp.onelink.me%2Fabc123 ``` ### Opção 2: Deixar o afiliado inserir seu próprio deep link Use isso quando cada afiliado tem seu próprio link, mas você não o conhece de antemão. Um campo de texto aparecerá no formulário de cadastro para o afiliado digitar a URL do seu deep link. Adicione `&deeplink=null` à sua URL de cadastro: ``` ...affiliate-signup-iframe?companyName=YOUR_COMPANY_NAME&deeplink=null ``` ### Notas importantes - Quando um deep link personalizado é fornecido, **nenhum link é retirado do seu pool de deep links não atribuídos**. - A URL do deep link deve usar **HTTPS**. - Isso funciona com qualquer provedor de deep link (AppsFlyer OneLink, Branch.io, Insert Links, etc.). - Deep links personalizados também funcionam com a URL da página de cadastro hospedada, não apenas com a incorporação por iFrame. - Você pode encontrar URLs de exemplo e documentação para esses parâmetros na página [Create a New Affiliate](https://app.insertaffiliate.com/create-an-affiliate) na seção **Custom Deep Links**. --- ## 5. Exigindo Aprovação de Afiliados Por padrão, os afiliados são aprovados instantaneamente quando se cadastram. Se você quiser revisar e aprovar manualmente cada afiliado antes que ele tenha acesso, você pode ativar **Require Affiliate Approval**. ### Ativando a Aprovação 1. Acesse a [Página de Configurações](https://app.insertaffiliate.com/settings) (aba **Payments & Payouts**). 2. Ative o botão **Require Affiliate Approval**. Quando ativado, novos cadastros de afiliados ficarão em um estado **Pending** em vez de receberem acesso imediato. ### O Que Acontece Quando um Afiliado se Cadastra (Aprovação Ativada) 1. O afiliado preenche o formulário de cadastro normalmente. 2. Em vez de fazer login, eles veem uma mensagem de confirmação: **"Application Submitted - Pending Approval"**. 3. Nenhuma conta ou deep link é atribuído ainda — eles são criados apenas depois que você os aprova. 4. Uma aplicação pendente é armazenada para sua revisão. 5. Você receberá uma **notificação por e-mail** com os detalhes do candidato e um link para revisar a aplicação. ### Revisando Afiliados Pendentes 1. Acesse [Manage Affiliates](https://app.insertaffiliate.com/manage-affiliates) no seu painel. 2. Você verá uma aba **Pending Affiliates** mostrando todas as aplicações aguardando revisão. 3. Para cada afiliado pendente, você pode: - **Approve** — Cria a conta dele, atribui um deep link e envia um e-mail de boas-vindas com os detalhes de login. - **Reject** — Remove a aplicação. O candidato não é notificado automaticamente. ### O Que Acontece na Aprovação Quando você aprova um afiliado pendente: - Uma conta do Firebase Auth é criada para ele. - Um deep link é atribuído do seu pool disponível. - Ele recebe um e-mail de boas-vindas com os detalhes de login. Você pode [personalizar este e-mail](/pt/affiliate-emails#self-signup-affiliate-welcome-email) nas Configurações. - Ele pode então fazer login e começar a promover seu app. Modelos de e-mail de afiliados com a aba Self-Signup Welcome ativa nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### O Que Acontece na Rejeição Quando você rejeita um afiliado pendente: - A aplicação pendente dele é excluída. - Nenhuma conta ou deep link é criado. - O e-mail do candidato não é armazenado, então ele pode se candidatar novamente no futuro, se necessário. --- ## **Notas Finais** - O **método Branch.io** é o melhor para automatizar a geração de deep links. - O **método de lista separada por vírgula** é mais simples se você já tem os deep links. - Use **deep links personalizados** se seus afiliados já têm seus próprios links de outro provedor — isso ignora o pool de deep links completamente. - Garanta que os **deep links sejam únicos** e não estejam já atribuídos a um afiliado existente. - Ative **Require Affiliate Approval** nas [Configurações](https://app.insertaffiliate.com/settings) se você quiser avaliar manualmente os afiliados antes que eles tenham acesso. --- # Descoberta de Criadores — Encontre Criadores para o Seu Programa de Afiliados | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/creator-discovery > Use a Descoberta de Criadores para encontrar criadores de redes sociais no TikTok, Instagram e YouTube para o seu programa de afiliados, montar uma lista no CRM integrado e desbloquear e-mails verificados para contato. # Descoberta de Criadores A Descoberta de Criadores ajuda você a encontrar criadores de redes sociais para o seu programa de afiliados e a montar uma lista para contato. Pesquise no TikTok, Instagram e YouTube usando uma base de dados de criadores com tecnologia de IA, salve os criadores que gostar em um CRM integrado, acompanhe seus contatos e desbloqueie endereços de e-mail verificados para os criadores que realmente deseja contatar. **A Descoberta de Criadores é um recurso Enterprise.** Se você estiver em outro plano, verá um aviso de upgrade em vez das ferramentas de busca. --- ## O Que Você Pode Fazer - **Pesquisar uma base de dados de criadores** no TikTok, Instagram e YouTube usando uma descrição em linguagem natural mais filtros (seguidores, engajamento, localização). - **Encontrar criadores similares** — escolha alguém que seja uma ótima opção e encontre criadores parecidos, com audiência e estilo semelhantes. - **Montar uma lista (CRM)** — salve criadores, acompanhe o status deles ao longo do seu funil de contato e adicione notas. - **Desbloquear e-mails verificados** — enriqueça os criadores salvos sob demanda para obter um e-mail verificado e os perfis deles em outras plataformas. - **Exportar sua lista** para CSV para usar em outro lugar. --- ## Primeiros Passos A Descoberta de Criadores fica na seção **Creator Discovery** do seu [painel](https://app.insertaffiliate.com). A página tem duas abas: - **Discover** — pesquise e navegue por criadores. - **Saved** — sua lista e CRM de contato. ### Configure os Detalhes do Seu App Na primeira vez que abrir a Descoberta de Criadores, será solicitado que você preencha um pequeno formulário de **App details**. Essas informações são usadas para configurar sua busca de criadores padrão e para melhorar a relevância dos seus resultados. | Campo | O que informar | |-------|----------------| | **App name** | O nome do seu app ou produto (ex.: "FitStreak"). Até 120 caracteres. | | **What does your app do?** | Uma breve descrição do que seu app faz, para quem ele é e a categoria (fitness, receitas, etc.). Até 4.000 caracteres. | | **Default search prompt** | Uma consulta curta e focada usada para encontrar criadores por padrão (ex.: "criadores micro de fitness para treinos em casa e bem-estar"). Até 150 caracteres. | Clique em **Save app details** quando terminar. Você pode alterar esses dados a qualquer momento usando o botão **Edit profile**. Página Creator Discovery com o medidor de créditos de busca, as abas Discover e Saved, e o formulário App details preenchido com o botão Save app details destacado

Clique para ver em tamanho real

--- ## Pesquisando Criadores Na aba **Discover**, use os **Search filters** para refinar quem você procura. Sua busca padrão é preenchida automaticamente — edite-a a cada busca ou deixe os filtros como estão. | Filtro | Descrição | |--------|-----------| | **Search prompt / keywords** | Uma descrição em linguagem natural dos criadores que você quer (até 150 caracteres). Preenchido a partir do seu padrão; deixe em branco para usar o padrão. | | **Platform** | TikTok, Instagram ou YouTube. O padrão é TikTok. | | **Followers min** / **Followers max** | Limita os resultados a um intervalo de número de seguidores. Ambos opcionais. | | **Engagement % min** | Mostra apenas criadores acima de uma taxa de engajamento mínima. Opcional. | | **Location** | Filtra por localização, ex.: "United States". Opcional. | | **Results per search** | Escolha 10, 20 ou 30 criadores por página. Isso define o número máximo de créditos de busca que uma pesquisa pode usar. | Clique em **Search creators** para executar a busca. Cada resultado é exibido como um cartão com o avatar do criador, nome, perfil, número de seguidores, taxa de engajamento e nicho. Cartão Search filters no Creator Discovery com prompt de busca, plataforma, faixa de seguidores e localização preenchidos, e o botão Search creators destacado

Clique para ver em tamanho real

Para cada criador você pode: - **Save** — adicionar o criador à sua lista (CRM). Criadores salvos exibem um selo verde **Saved**. - **Dismiss** — ocultar o criador. Criadores descartados não aparecerão em buscas futuras. - **View** — abrir o perfil do criador na rede social dele em uma nova aba. Use **Previous** e **Next** para navegar pelos resultados. Páginas que você já viu podem ser revisitadas gratuitamente — apenas carregar uma página totalmente nova usa créditos (veja abaixo). ### Encontrando Criadores Similares Quando você encontra um criador perfeito, pode encontrar outros parecidos com ele. Na aba **Saved**, clique em **Find similar** ao lado de qualquer criador salvo. Isso muda para a aba **Discover** e busca criadores com audiência e estilo semelhantes, respeitando ainda seus filtros de seguidores, engajamento e localização. Um banner mostra com quem você está comparando — clique em **Clear** para voltar a uma busca normal. --- ## Como Funcionam os Créditos de Busca A Descoberta de Criadores usa **créditos de busca**. As empresas Enterprise recebem **5.000 créditos de busca por mês**, e o saldo é zerado no início de cada mês civil. Os créditos restantes são exibidos no topo da página (ex.: **4.250 / 5.000**). - **Pesquisa:** Uma busca usa **1 crédito por criador retornado**, até o limite de "Results per search" que você escolheu. Se você pedir 20 resultados, mas apenas 15 voltarem, você será cobrado apenas pelos 15. - **Revisitar páginas:** Páginas que você já carregou são **gratuitas** para visualizar novamente. Você só é cobrado ao carregar uma nova página de resultados. - **Enriquecimento de e-mail:** Desbloquear o e-mail de um criador custa **100 créditos** (veja abaixo). Se você ficar sem créditos, a busca e o enriquecimento são pausados até que o limite seja zerado no próximo mês, e você verá uma mensagem de "Monthly limit reached". --- ## Criadores Salvos e Seu CRM A aba **Saved** é o seu funil de contato. Ela mostra todos que você salvou, junto com a contagem de quantos você contatou, e um botão **Export CSV**. Cada criador salvo tem: - **Status** — acompanhe onde está cada criador no seu contato. As opções são **New**, **Contacted**, **Responded**, **Joined** e **Passed**. - **Notes** — um campo de texto livre para suas próprias notas (salvo automaticamente quando você clica fora). - **Email** — uma vez enriquecido, o e-mail verificado aparece aqui como um link clicável. Antes do enriquecimento você verá um botão **Enrich**. - **Find similar** — encontre criadores parecidos com base neste. - **Remove** — retire o criador da sua lista. ### Desbloqueando E-mails (Enriquecimento) Para contatar um criador diretamente, clique em **Enrich** na coluna **Email**. O enriquecimento busca um endereço de e-mail verificado (e os perfis do criador em outras plataformas) para aquele criador. - O enriquecimento custa **100 créditos de busca** por criador. - Se um e-mail verificado for encontrado, ele aparece como um link de e-mail clicável. Se nenhum for encontrado, você verá "No email found". - O enriquecimento é feito uma vez por criador — criadores já enriquecidos não serão cobrados novamente. Como o enriquecimento é a ação que mais consome créditos, é melhor enriquecer apenas os criadores que você decidiu que valem a pena contatar. ### Exportando Sua Lista Clique em **Export CSV** na aba Saved para baixar sua lista. A exportação inclui o nome de cada criador, nome de usuário, plataforma, número de seguidores, taxa de engajamento, nicho, e-mail (se enriquecido), status, notas e URL do perfil. --- ## Perguntas Frequentes **Quais planos incluem a Descoberta de Criadores?** A Descoberta de Criadores está disponível no plano **Enterprise**. Em outros planos você verá um aviso de upgrade. Para fazer upgrade, acesse suas [configurações de cobrança](https://app.insertaffiliate.com/billing). **Quais plataformas posso pesquisar?** TikTok, Instagram e YouTube. **Sou cobrado por navegar em páginas que já vi?** Não. Apenas carregar uma nova página de resultados usa créditos. Revisitar páginas que você já carregou é gratuito. **O que acontece quando fico sem créditos?** A busca e o enriquecimento são pausados até que sua cota mensal seja zerada no início do próximo mês civil. **Os criadores descartados voltam?** Não — descartar um criador o oculta de buscas futuras. Se você salvar um criador que descartou anteriormente, ele será adicionado de volta à sua lista. --- Pronto para encontrar criadores para o seu programa? Abra a seção **Creator Discovery** no seu [painel](https://app.insertaffiliate.com). Para recrutar afiliados de outras formas, consulte [Criando Afiliados](/pt/create-affiliate) e [Autocadastro de Afiliados](/pt/create-affiliate-affiliate-self-signup). --- # Guia de Configuração de Domínios Personalizados Source: https://docs.insertaffiliate.com/pt/custom-domains > Configure seu próprio domínio com sua marca para deep links da Insert Affiliate # Domínios Personalizados

Recurso Enterprise

Os domínios personalizados estão disponíveis exclusivamente no plano Enterprise.

Os domínios personalizados permitem que você use seu próprio subdomínio com a sua marca para deep links de afiliados, em vez do domínio padrão `insertaffiliate.link`. Isso cria uma experiência mais profissional e alinhada à sua marca para seus afiliados e o público deles. ## Por Que Usar um Domínio Personalizado? | Link Padrão | Link com Domínio Personalizado | |-------------|-------------------| | `https://insertaffiliate.link/abc123/MIKEYB` | `https://links.yourcompany.com/abc123/MIKEYB` | **Benefícios:** - **Reconhecimento da marca** - Seu domínio reforça sua marca a cada link compartilhado - **Aparência profissional** - Branding de nível enterprise para programas de parceria - **Maiores taxas de cliques** - Os usuários tendem a confiar mais em links de domínios reconhecíveis - **Marketing consistente** - Todos os pontos de contato refletem a identidade da sua marca --- ## Pré-requisitos Antes de configurar um domínio personalizado, certifique-se de ter: 1. **Plano Enterprise** - Os domínios personalizados são um recurso exclusivo do Enterprise 2. **Insert Links habilitado** - Você deve estar usando [Insert Links](/pt/insert-links) como sua plataforma de deep linking 3. **Acesso ao DNS** - Capacidade de adicionar registros DNS no seu registrador de domínio (GoDaddy, Cloudflare, Namecheap, etc.) --- ## Instruções de Configuração ### Passo 1: Adicione Seu Domínio Personalizado 1. Vá até [Settings](https://app.insertaffiliate.com/settings) (aba **Branding**) no seu painel da Insert Affiliate 2. Role até a seção **Custom Domain for Insert Links** 3. Insira o subdomínio desejado (ex.: `links.yourcompany.com` ou `go.yourcompany.com`) 4. Clique em **Add Domain** Seção Custom Domain for Insert Links nas Configurações com um subdomínio digitado e o botão Add Domain destacado

Clique para ver em tamanho real

Subdomínios Recomendados

Recomendamos usar um subdomínio como links, go ou click em vez do seu domínio raiz. Exemplos: links.yourcompany.com, go.yourapp.io

### Passo 2: Configure os Registros DNS Depois de adicionar seu domínio, você verá instruções para dois registros DNS que precisam ser adicionados no seu registrador de domínio: #### Registro CNAME Isso aponta seu subdomínio para nossos servidores. | Tipo | Host/Nome | Valor/Destino | |------|-----------|--------------| | CNAME | `links` (ou o subdomínio escolhido) | `custom.insertaffiliate.link` | #### Registro TXT Isso verifica a propriedade do domínio. | Tipo | Host/Nome | Valor | |------|-----------|-------| | TXT | `_ia-verify.links` (ou `_ia-verify.{subdomain}`) | `ia-verify-{your-unique-token}` | Os valores exatos serão exibidos no seu painel após a adição do domínio. ### Passo 3: Aguarde a Propagação do DNS As mudanças de DNS podem levar de alguns minutos a 48 horas para se propagar globalmente. A maioria das mudanças fica visível em 1-2 horas. Você pode verificar a propagação do DNS usando ferramentas como: - [whatsmydns.net](https://www.whatsmydns.net/) - [dnschecker.org](https://dnschecker.org/) ### Passo 4: Verifique Seu Domínio 1. Volte à seção Custom Domain no seu painel 2. Clique em **Verify DNS Records** 3. Se a verificação for bem-sucedida, o provisionamento do certificado SSL começará automaticamente ### Passo 5: Provisionamento do Certificado SSL Assim que o DNS for verificado, provisionamos automaticamente um certificado SSL gratuito via Let's Encrypt. Esse processo geralmente leva de 5 a 10 minutos, mas pode levar até 15 minutos. O painel será atualizado automaticamente quando seu domínio estiver totalmente ativo. ### Passo 6: Habilite o Domínio Personalizado para Novos Links Depois que seu domínio estiver ativo, você verá uma opção: - **Use custom domain for new links** - Quando habilitada, todos os links de afiliados recém-criados usarão seu domínio personalizado

Links Existentes Continuam Funcionando

Os links existentes que usam insertaffiliate.link continuarão funcionando. Apenas os novos links usarão seu domínio personalizado quando a opção estiver habilitada.

--- ## Resolução de Problemas ### Falha na Verificação do DNS **Causas comuns:** - Registros DNS ainda não propagados (aguarde mais e tente novamente) - Valores de registro incorretos (verifique o copiar/colar) - CNAME apontando para o destino errado - Registro TXT no subdomínio errado (deve ser `_ia-verify.{subdomain}`) **Solução:** Verifique seus registros DNS usando [whatsmydns.net](https://www.whatsmydns.net/) e certifique-se de que correspondem exatamente ao que é mostrado no seu painel. ### Falha no Provisionamento do SSL **Causas comuns:** - DNS não totalmente propagado quando o SSL foi solicitado - Firewall ou CDN bloqueando as solicitações de verificação **Solução:** Entre em contato com o suporte em [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) para obter assistência. ### Links Não Usam o Domínio Personalizado **Verifique:** 1. O status do seu domínio personalizado está como **Active**? 2. A opção "Use custom domain for new links" está **habilitada**? 3. Você está criando links **novos**? (Links existentes não são atualizados automaticamente) --- ## Removendo um Domínio Personalizado Para remover seu domínio personalizado: 1. Vá até Settings → aba **Branding** → seção Custom Domain 2. Clique em **Remove Custom Domain** 3. Confirme a remoção **Observação:** Os links existentes que usam o domínio personalizado continuarão funcionando enquanto seus registros DNS permanecerem ativos. Para desabilitar completamente, remova os registros DNS do seu registrador. --- ## Perguntas Frequentes ### Posso usar meu domínio raiz (ex.: yourcompany.com)? Recomendamos usar um subdomínio por razões técnicas. Domínios raiz não podem usar registros CNAME, que nosso sistema exige para o roteamento. ### Meus links existentes vão parar de funcionar se eu habilitar um domínio personalizado? Não. Os links existentes continuam funcionando. Apenas os links recém-criados usarão o domínio personalizado. ### Posso voltar para o domínio padrão? Sim. Basta desativar a opção "Use custom domain for new links" e os novos links voltarão a usar `insertaffiliate.link`. A configuração do seu domínio personalizado permanece salva. ### Quanto tempo até meu domínio personalizado ficar ativo? Após a propagação do DNS (geralmente 1-2 horas, até 48 horas) e a verificação, o provisionamento do SSL leva de 5 a 15 minutos. O tempo total geralmente é inferior a 2 horas. ### Há um custo adicional para domínios personalizados? Os domínios personalizados estão incluídos no plano Enterprise sem custo adicional. --- # Guia de Configuração Direta da Google Play Store Source: https://docs.insertaffiliate.com/pt/direct-google-play-store-purchase-integration > Configure o Insert Affiliate diretamente pela Google Play Store, sem a necessidade de um serviço terceirizado de verificação de compras. # Integração Direta com a Google Play Store para Android ## Notificações em Tempo Real para Desenvolvedores As Notificações em Tempo Real para Desenvolvedores [RTDN](https://developer.android.com/google/play/billing/rtdn-reference) são necessárias para permitir que o Insert Affiliate rastreie eventos de compra. ### 1. Defina o Método de Verificação de Compra do Insert Affiliate Nas [configurações do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **Integrations**), defina seu **In-App Purchase Verification Method** como "I don't use a Receipt Validatior (Native App Store / Google Play Integration)." - Após alterar essa configuração, uma nova seção chamada "**Google Play Store Pub/Sub Endpoint URL**" aparecerá, contendo uma URL — você precisará dela mais tarde. Seção Purchase Verification nas configurações do painel da Insert Affiliate com o menu do método de verificação destacado

Clique para ver em tamanho real

### 2. Habilite o Google Cloud Pub/Sub para o Seu Projeto 1. Acesse o [Google Cloud Console](https://console.cloud.google.com/), fazendo login com a conta Google associada ao seu app. 2. Crie um novo projeto ou selecione um projeto existente. 3. Habilite a Cloud Pub/Sub API, que pode ser encontrada [aqui](https://console.cloud.google.com/flows/enableapi?apiid=pubsub) ### 3. Crie um Tópico Pub/Sub 1. Crie um novo tópico [aqui](https://console.cloud.google.com/cloudpubsub/topic/list), definindo o Topic ID como `insert-affiliate`. 2. Deixe as configurações padrão e clique em **Create**. ### 4. Crie uma Conta de Serviço 1. Acesse a página [Service Accounts](https://console.cloud.google.com/iam-admin/serviceaccounts) no Google Cloud Console. 2. Clique em **Create Service Account**, informe um nome (ex.: `insert-affiliate`) e clique em **Create**. 3. Copie o **endereço de e-mail** da conta de serviço que você acabou de criar. ### 5. Crie uma Chave para a Conta de Serviço 1. Clique na conta de serviço que você acabou de criar. 2. Clique em **Add Key** > **Create new key**. 3. Selecione **JSON** e clique em **Create**. 4. Faça o upload da Service Key que foi baixada na página de [configurações do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **Integrations**), em **Google Service Account Key**. 5. Clique em **Save**. ### 5.1 Atribua Funções IAM à Conta de Serviço Antes de prosseguir, você precisa conceder as permissões corretas à conta de serviço no **Google Cloud IAM**. 1. Acesse o **[Google Cloud IAM & Admin](https://console.cloud.google.com/iam-admin/iam)**. 2. Encontre a **Service Account** que você acabou de criar; se ela não existir, selecione **Grant Access** e defina o **New Principal** como o endereço de e-mail da conta de serviço criada no passo 4. 3. Clique em **Edit Permissions**. 4. Atribua as seguintes funções: - **Pub/Sub Admin** (para lidar com notificações da Google Play) 5. Clique em **Save** para aplicar as alterações. Agora, sua conta de serviço tem as permissões necessárias para interagir com ### 6. Configure as Permissões do Pub/Sub 1. Acesse a [seção Topics](https://console.cloud.google.com/cloudpubsub/topic/list) no Google Cloud Console, selecionando o tópico `insert-affiliate` que você acabou de criar. 2. Em Topic Settings, clique em **Add Principal**. 3. Cole o **endereço de e-mail** da conta de serviço que você criou no passo 4. 4. No dropdown Role, selecione **Pub/Sub Publisher** e clique em **Save**. ### 7. Adicione a Conta de Notificações da Google Play ao Tópico Pub/Sub 1. Acesse a [seção Topics](https://console.cloud.google.com/cloudpubsub/topic/list) no Google Cloud Console, selecionando o tópico `insert-affiliate` que você acabou de criar. 2. Em Topic Settings, clique em **Add Principal**. 3. Cole o endereço de e-mail `google-play-developer-notifications@system.gserviceaccount.com` 4. No dropdown Role, selecione **Pub/Sub Publisher** e clique em **Save**. ### 8. Crie uma Assinatura 1. Acesse a [seção Subscriptions](https://console.cloud.google.com/cloudpubsub/subscription/list) no Google Cloud Console. 2. Selecione o tópico `insert-affiliate`. 3. Clique em **Edit**. 4. Altere o **Delivery Type** para **Push**. 5. Cole a **Google Play Store Pub/Sub Endpoint URL** das [configurações do Insert Affiliate](https://app.insertaffiliate.com/settings), obtida no Passo 1, no campo **Push Endpoint**. 6. Clique em **Update** para salvar as alterações. ### 9. Habilite a Google Play Android Developer API Antes de conceder permissões, certifique-se de que a **Google Play Android Developer API** está habilitada: 1. Acesse a página da [Google Play Android Developer API](https://console.cloud.google.com/apis/library/androidpublisher.googleapis.com) no Google Cloud Console. 2. Clique em **Enable API**. ### 10. Conceda Permissões no Google Play Console 1. Acesse Users and Permissions no [Google Play Console](https://play.google.com/console/developers/). 2. Clique em **Invite new users**. 3. Insira o endereço de e-mail da conta de serviço que você criou no passo 4. 4. Selecione o app para o qual deseja conceder permissões - Conceda a permissão **Financial Data: View Financial Data and Manage Orders and Subsciprtions**. 5. Pressione **Apply** para salvar as alterações. ### 10.1 Atualize as Assinaturas Ativas Se você usava anteriormente um método diferente de validação de recibos, talvez precise **desativar e reativar suas assinaturas** na Google Play para garantir que sejam reconhecidas corretamente pelo Insert Affiliate. 1. Acesse o [Google Play Console](https://play.google.com/console/developers/). 2. Selecione seu app. 3. Navegue até **Monetise with Play** > **Subscriptions**. 4. Selecione cada assinatura ativa e **desative-a temporariamente**. 5. Após alguns instantes, **reative as assinaturas**. 6. Isso força a Google Play a reconhecer a nova integração com o Insert Affiliate. ### 11. Habilite as RTDN no Seu App no Google Play Console 1. Acesse o [Google Play Console](https://play.google.com/console/developers/). 2. Selecione seu app. 3. Na navegação à esquerda, selecione **Monetise with Play** > **Monetisation Setup**. 4. Habilite a caixa de seleção **Real-time developer notifications*. 5. Adicione o **Topic Name** como `projects/{{ProjectID}}/topics/{{TopicID}}` (substitua `{{ProjectId}}` e `{{TopicID}}` pelos IDs do Google Cloud Project e do Topic definidos anteriormente). Para o exemplo acima, o Topic Name seria `projects/insert-affiliate/topics/insert-affiliate`. - Você pode encontrar o ID do seu Google Cloud Project [aqui](https://console.cloud.google.com/iam-admin/settings/project). - Você pode encontrar o ID do seu Google Cloud Topic [aqui](https://console.cloud.google.com/cloudpubsub/topic/list). 6. O conteúdo da notificação deve ser definido como **Subscriptions, voided purchases and all one-time products**. 7. Clique em **Save**. ### 12. Se Você Anteriormente Não Validava Recibos Se você anteriormente não validava recibos, talvez precise **desativar e reativar suas assinaturas** na Google Play para garantir que sejam reconhecidas corretamente pelo Insert Affiliate. 1. Acesse o [Google Play Console](https://play.google.com/console/developers/). 2. Selecione seu app. 3. Navegue até **Monetise with Play** > **Subscriptions**. 4. Selecione cada assinatura ativa e **desative-a temporariamente**. 5. Após alguns instantes, **reative as assinaturas**. 6. Isso força a Google Play a reconhecer a nova integração com o Insert Affiliate. ## Integre o SDK do Insert Affiliate Para concluir a integração, siga os passos finais de integração detalhados no SDK do Insert Affiliate para a sua plataforma específica: - [Insert Affiliate Android SDK](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-2-google-play-direct) - [Insert Affiliate React Native SDK](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-4-google-play-direct-beta) - [Insert Affiliate Flutter SDK](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-4-google-play-direct) - **Unity SDK**: A Integração Direta com a Google Play Store ainda não é suportada. Se você precisar deste recurso, por favor [entre em contato com o suporte](mailto:michael@insertaffiliate.com). {/* - [Insert Affiliate Javascript SDK](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-4-google-play-store-direct-integration) */} --- # Guia de Configuração Direta da App Store Source: https://docs.insertaffiliate.com/pt/direct-store-purchase-integration > Configure o Insert Affiliate diretamente pela App Store, sem a necessidade de um serviço terceirizado de verificação de compras. # Integração Direta com a App Store do iOS No momento, suportamos apenas **assinaturas**, não consumíveis ou compras únicas. Isso se deve a uma limitação das notificações servidor a servidor da App Store. Lançaremos suporte para consumíveis e compras únicas em breve; se isso for importante para você, por favor [avise-nos](mailto:michael@insertaffiliate.com). Para começar a usar consumíveis/compras únicas mais cedo, utilize uma das integrações com plataformas de verificação de recibos. ## 1. Notificações de Servidor da Apple App Store As Notificações Servidor a Servidor da Apple são necessárias para permitir que o Insert Affiliate rastreie eventos de assinatura. Você precisa ter uma das seguintes funções na conta da App Store: Account Holder, Admin, App Manager ou Marketing para fazer essas alterações. 1. Nas [configurações do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **Integrations**), defina seu **In-App Purchase Verification Method** como "I don't use a Receipt Validatior (Native App Store / Google Play Integration)." - Após alterar essa configuração, uma nova seção chamada "**App Store Server Notifications**" aparecerá, contendo uma URL — você precisará dela no passo 5. Seção Purchase Verification nas configurações do painel da Insert Affiliate com o menu do método de verificação destacado

Clique para ver em tamanho real

2. Faça login no [App Store Connect](https://appstoreconnect.apple.com/apps), selecionando seu app. 3. Na navegação à esquerda, selecione **App Information**. 4. Role para baixo até a seção **App Store Server Notifications**. 5. Defina a **Sandbox Sever URL** e a **Production Server URL** como a URL de **App Store Server Notifications** fornecida nas [configurações do Insert Affiliate](https://app.insertaffiliate.com/settings). ## 2. Defina o Seu iOS Bundle Identifier O Insert Affiliate vincula cada recibo da Apple ao identificador de bundle do seu app, para que um recibo genuíno de outro app não possa ser creditado à sua conta. Isso precisa estar configurado para que a verificação Native funcione com segurança. 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Business & Profile**. 2. Encontre o campo **iOS Bundle Identifier** e insira o identificador de bundle do seu app (por exemplo, `com.suaempresa.seuapp`). 3. Clique em **Save**. Você pode encontrar o identificador de bundle no Xcode: selecione seu projeto → selecione o alvo do seu app → aba **General** → campo **Bundle Identifier**. Até que isso seja configurado, seu painel exibirá um aviso lembrando você de adicioná-lo. ## 3. Integre o SDK do Insert Affiliate Para concluir a integração, siga os passos finais de integração detalhados no SDK do Insert Affiliate para a sua plataforma específica: - [Insert Affiliate Swift SDK](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-3-app-store-direct-beta) - [Insert Affiliate React Native SDK](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-3-app-store-direct-beta) - [Insert Affiliate Flutter SDK](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-3-app-store-direct) - [Insert Affiliate Unity SDK](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-2-app-store-direct-ios) {/* - [Insert Affiliate Javascript SDK](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-3-app-store-direct-integration) */} --- # Descontos para Usuários Finais Source: https://docs.insertaffiliate.com/pt/discounts-for-end-users > Um guia sobre como criar e oferecer um desconto para usuários do seu app que se cadastram por meio de afiliados na plataforma Insert Affiliate. # Descontos para Usuários Finais A plataforma Insert Affiliate permite que você ofereça descontos automáticos e ofertas de teste gratuito para usuários que descobrem seu app por meio de links de afiliado ou short codes. Isso cria uma experiência fluida em que os usuários recebem automaticamente preços promocionais sem precisar inserir códigos de desconto manualmente. ## Como Funciona Quando alguém clica em um link de afiliado ou insere um short code vinculado a uma oferta (configurada no seu Painel do Insert Affiliate), o SDK preenche automaticamente a variável `OfferCode` do nosso SDK com o modificador apropriado que você associou a esse afiliado (como `_oneWeekFree`). Você pode então anexar esse modificador ao ID do seu produto regular para carregar a versão promocional correta da sua assinatura ou compra no app, para a qual você configurou ofertas Promocionais ou ofertas Introdutórias (Intro Offers) ### Exemplo de Fluxo: 1. **Afiliado compartilha o link**: `https://your-app.com/affiliate/ABC123` (este afiliado tem um modificador de oferta "uma semana grátis" associado através do nosso painel) 2. **Usuário abre o app**: O SDK detecta a oferta do afiliado e define `OfferCode = "_oneWeekFree"` 3. **Usuário navega até a tela de Compra**: Em vez de carregar `"monthlySubscription"`, seu app verifica se o nosso SDK está armazenando um modificador de um afiliado e o anexa à oferta base - resultando no carregamento da compra `"monthlySubscription_oneWeekFree"` 4. **Usuário vê o desconto**: Preço promocional automático sem inserção manual de código ### Configuração do Google Play Console (Obrigatório se suportar Android) Existem várias formas de configurar seus produtos no Google Play Console: 1. **Abordagem de Múltiplos Produtos**: Crie um produto base e um produto promocional: - Produto base: `oneMonthSubscription` - Produto promocional: `oneMonthSubscription-oneweekfree` 2. **Produto Único com Múltiplos Planos Base**: Crie um produto com múltiplos planos base, um deles com uma oferta anexada 3. **Ofertas Acionadas pelo Desenvolvedor (Developer Triggered Offers)**: Tenha um produto base e aplique a oferta por meio de ofertas acionadas pelo desenvolvedor 4. **Produto Base com Ofertas Introdutórias**: Tenha um produto base que inclua uma oferta introdutória Qualquer uma dessas abordagens é adequada e funciona com o SDK. A parte importante é que a nomenclatura dos seus produtos siga o padrão em que o modificador do código de oferta possa ser anexado para identificar a versão promocional. **Se usar a Abordagem de Múltiplos Produtos:** - Garanta que **ambos** os produtos estejam ativados e disponíveis para compra. - Gere um lançamento ao menos para **Internal Testing** para tornar os produtos disponíveis no seu build atual do app ### Configuração do App Store Connect (Obrigatório se suportar iOS) Certifique-se de criar os produtos de assinatura correspondentes no App Store Connect: - **Assinatura base**: por exemplo, `oneMonthSubscription` - **Variantes promocionais**: `oneMonthSubscription_oneWeekFree`, `oneMonthSubscription_threeMonthsFree`, etc. Discount system workflow diagram showing how affiliate modifiers are applied to product IDs

Clique para ver em tamanho real

### Instruções de Configuração no Insert Affiliate 1. Acesse seu painel do Insert Affiliate em [app.insertaffiliate.com/affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione o afiliado que deseja configurar 3. Clique em "View" para acessar as configurações do afiliado 4. Atribua um **iOS IAP Modifier** ao afiliado (por exemplo, `_oneWeekFree`, `_threeMonthsFree`) 5. Salve as configurações Uma vez configurado, quando os usuários clicarem nos links desse afiliado ou inserirem os short codes dele, seu app receberá automaticamente o modificador e poderá carregar o produto com desconto apropriado. ### Configuração do RevenueCat (Obrigatório se usar o RevenueCat) Se você usa o RevenueCat para o gerenciamento de compras no app, recomendamos usar o **RevenueCat Targeting** para exibir automaticamente ofertas diferentes com base nos códigos de oferta de afiliado. #### Opção 1: RevenueCat Targeting (Recomendado) O RevenueCat Targeting permite exibir automaticamente ofertas diferentes com base em atributos do usuário — sem necessidade de construir IDs de produto manualmente. **Como Funciona:** 1. Quando um usuário clica em um link de afiliado, o SDK define o atributo `affiliateOfferCode` no RevenueCat 2. As regras de targeting do RevenueCat detectam esse atributo e mudam automaticamente para a oferta apropriada 3. Seu app simplesmente exibe `offerings.current` — o RevenueCat cuida do resto **Passo 1: Crie Ofertas no RevenueCat** 1. Acesse seu [RevenueCat Dashboard](https://app.revenuecat.com) → **Products** → **Offerings** 2. Crie sua oferta base (por exemplo, `default`) com produtos padrão 3. Crie ofertas promocionais (por exemplo, `oneWeekFree`) com produtos com desconto **Passo 2: Configure as Regras de Targeting** 1. Vá em **Project Settings** → **Targeting** 2. Crie uma nova regra: - **Name**: por exemplo, "Insert Affiliate - One Week Free" - **Condition**: `affiliateOfferCode` is any of `oneWeekFree` - **Show Offering**: Selecione sua oferta promocional 3. Salve e publique RevenueCat Targeting configuration showing how to set up rules based on affiliateOfferCode attribute

Clique para ver em tamanho real

**Passo 3: Integração do SDK** O SDK do Insert Affiliate define automaticamente o atributo `affiliateOfferCode` quando configurado corretamente. Veja o [Guia de Configuração do RevenueCat](/pt/revenuecat) para a configuração completa do callback. No seu app, simplesmente use a oferta atual do RevenueCat: ```swift // Swift Purchases.shared.getOfferings { offerings, error in if let current = offerings?.current { // Display current.availablePackages // RevenueCat targeting automatically shows the right offering } } ``` ```javascript // React Native const offerings = await Purchases.getOfferings(); if (offerings.current) { // Display offerings.current.availablePackages // RevenueCat targeting automatically shows the right offering } ``` --- #### Opção 2: Construção Manual de ID de Produto (Alternativa) Se você preferir não usar o RevenueCat Targeting, pode construir IDs de produto manualmente anexando o modificador do código de oferta. **Configuração do Catálogo de Produtos:** 1. **Produtos base**: Crie seus produtos de assinatura padrão (por exemplo, `monthlySubscription`, `yearlySubscription`) 2. **Variantes promocionais**: Para cada modificador de afiliado que você planeja usar, crie os produtos correspondentes no RevenueCat: - `monthlySubscription_oneWeekFree` - `monthlySubscription_threeMonthsFree` - `yearlySubscription_oneWeekFree` - etc. RevenueCat products catalogue setup showing how to create promotional variants with modifiers

Clique para ver em tamanho real

**Observações Importantes:** - Os IDs de produto no RevenueCat devem corresponder exatamente à convenção de nomenclatura: `{baseProductId}{modifier}` - Cada variante promocional deve ser configurada com o preço/período de teste apropriado - Garanta que esses produtos também estejam configurados corretamente no App Store Connect/Google Play Console - O sistema de modificadores funciona perfeitamente com os recursos existentes de oferta promocional e preço introdutório do RevenueCat Para etapas detalhadas de integração do RevenueCat, veja nosso [Guia de Configuração do RevenueCat](/pt/revenuecat). --- ## Código Necessário Exemplos de código, implementação e requisitos adicionais estão detalhados nos repositórios na seção relevante. ## Configuração no iOS ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK/blob/main/docs/dynamic-offer-codes.md). ## Configuração no React Native ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK/blob/main/docs/dynamic-offer-codes.md). ## Configuração no Flutter ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk/blob/main/docs/dynamic-offer-codes.md). ## Configuração no Unity ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração de Descontos para Usuários Finais podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK/blob/main/docs/dynamic-offer-codes.md). --- ## Configuração de Stripe / Pagamentos Web Para compras baseadas na web usando o Stripe, você pode aplicar automaticamente cupons ou códigos promocionais às sessões de checkout quando um usuário chega por meio de um link de afiliado. ### Como Funciona (Stripe) 1. **Configure o Cupom no Stripe**: Crie um cupom ou código promocional no seu [Stripe Dashboard](https://dashboard.stripe.com/coupons) 2. **Atribua ao Afiliado**: No seu painel do Insert Affiliate, atribua o código do cupom do Stripe a um afiliado (padrão para toda a empresa ou substituição por afiliado) 3. **Recupere no Checkout**: Use o SDK para recuperar o código do cupom e aplicá-lo à sua sessão de checkout do Stripe ### Configuração no Painel do Insert Affiliate 1. Acesse seu painel do Insert Affiliate em [app.insertaffiliate.com/settings](https://app.insertaffiliate.com/settings) 2. Encontre o campo **"Default Stripe Coupon/Promo Code (Company-Wide)"** 3. Insira seu código de cupom do Stripe (por exemplo, `SUMMER2024`, `AFFILIATE10OFF`) 4. Salve as configurações Para substituir o padrão da empresa para afiliados específicos: 1. Acesse [app.insertaffiliate.com/affiliates](https://app.insertaffiliate.com/affiliates) 2. Selecione o afiliado e clique em "View" 3. Defina um **Stripe Coupon/Promo Code** personalizado para esse afiliado 4. Salve as configurações ### Uso do SDK JavaScript Use o SDK JavaScript do Insert Affiliate para recuperar o código do cupom do Stripe: ```javascript // Initialize the SDK await InsertAffiliate.initialize('YOUR_COMPANY_CODE'); // Get the Stripe coupon code for the current affiliate const stripeCoupon = await InsertAffiliate.getStripeCouponCode(); // Or use the more explicit method with platform parameter const stripeCoupon = await InsertAffiliate.getOfferCode('stripe'); if (stripeCoupon) { // Apply the coupon to your Stripe checkout // Example using Stripe.js: const session = await stripe.checkout.sessions.create({ // ... your checkout config discounts: [{ coupon: stripeCoupon, }], }); } ``` ### Exemplo de Integração com o Stripe Checkout ```javascript // On your checkout page const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(); const stripeCoupon = await InsertAffiliate.getStripeCouponCode(); // Create checkout session with the coupon const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_xxx', coupon: stripeCoupon, // Will be null if no affiliate coupon affiliateId: affiliateId, }), }); ``` --- # Rastreamento de Eventos (Beta) | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/event-tracking > Rastreie eventos personalizados de usuários, como cadastros, indicações e ações importantes, para medir a eficácia das campanhas e incentivar afiliados além das compras. Aprenda a implementar o rastreamento de eventos no seu app. # Rastreamento de Eventos (Beta) Rastreie ações personalizadas de usuários e recompense afiliados por comportamentos específicos além das compras. O rastreamento de eventos oferece insights mais profundos sobre o comportamento do usuário e estruturas de comissão flexíveis. > **Aviso de Recurso Beta:** O Rastreamento de Eventos está atualmente em beta. Embora totalmente funcional, não podemos garantir resistência completa a adulteração ou manipulação nesta fase. Use validação e monitoramento apropriados para implementações de missão crítica. ## O Que É o Rastreamento de Eventos? O rastreamento de eventos permite registrar ações específicas de usuários no seu app e atribuí-las ao afiliado que indicou aquele usuário. Em vez de rastrear apenas compras, agora você pode monitorar e recompensar afiliados por: - Cadastros e registros de usuários - Ativações de teste gratuito - Conclusões de perfil - Compartilhamentos de conteúdo e indicações - Marcos de uso de recursos - Metas de conversão personalizadas ## Por Que Usar o Rastreamento de Eventos? ### 1. Compensação Flexível de Afiliados Pague afiliados por ações que importam para o seu negócio, não apenas por compras: ``` Traditional: Affiliate earns commission only when user makes a purchase With Event Tracking: Affiliate earns when user signs up, completes onboarding, invites friends, or achieves specific milestones ``` ### 2. Incentive Comportamentos Específicos Crie programas de afiliados direcionados com base nas metas do seu negócio: - **Growth Focus**: Pague $5 por cada cadastro verificado - **Engagement Focus**: Recompense afiliados quando os usuários concluem o onboarding - **Viral Growth**: Compense por indicações bem-sucedidas de usuários indicados - **Product Adoption**: Incentive o uso de recursos premium ### 3. Otimização Orientada por Dados Acesse analytics detalhados para melhorar seu programa de afiliados: - Identifique quais afiliados geram usuários de mais alta qualidade - Compare taxas de conversão de cadastro para compra por afiliado - Otimize estruturas de comissão com base no valor de vida útil do usuário - Detecte e resolva parcerias de baixo desempenho ## Como Funciona o Rastreamento de Eventos O sistema de rastreamento de eventos segue um fluxo simples: 1. **Usuário chega via link de afiliado** → Atribuição estabelecida 2. **Usuário realiza ação rastreada** → Evento registrado com atribuição ao afiliado 3. **Evento aparece no painel** → Visualize e analise em tempo real 4. **Comissão processada** (opcional) → Pague afiliados por eventos específicos ## Implementação O rastreamento de eventos está disponível por meio dos nossos SDKs para iOS, Android e outras plataformas. A implementação básica é consistente em todos os SDKs. ### Uso Básico Antes de rastrear eventos, garanta que você inicializou o SDK e definiu um identificador de afiliado. Em seguida, use a função de rastreamento de eventos: ```swift // iOS Example InsertAffiliateSwift.trackEvent(eventName: "user_signup") ``` ```kotlin // Android Example InsertAffiliate.trackEvent("user_signup") ``` ```javascript // React Native Example InsertAffiliate.trackEvent("user_signup") ``` ```csharp // Unity Example InsertAffiliate.TrackEvent("user_signup"); ``` ### Exemplos de Eventos Comuns **Cadastro de Usuário** ```swift InsertAffiliateSwift.trackEvent(eventName: "user_signup") ``` **Ativação de Teste** ```swift InsertAffiliateSwift.trackEvent(eventName: "trial_started") ``` **Conclusão de Perfil** ```swift InsertAffiliateSwift.trackEvent(eventName: "profile_completed") ``` ### Requisitos Importantes 1. **A Atribuição ao Afiliado Deve Estar Definida**: Os eventos não serão rastreados se nenhum identificador de afiliado estiver ativo 2. **Dentro da Janela de Atribuição**: Os eventos devem ocorrer dentro da sua janela de timeout configurada 3. **Nomes de Eventos Únicos**: Use convenções de nomenclatura consistentes em todo o seu app 4. **Inicialização do SDK**: Garanta que o SDK está inicializado corretamente antes de rastrear eventos ## Visualizando os Dados de Eventos Rastreie e analise eventos no seu painel do Insert Affiliate: 1. Acesse [Search Affiliate](https://app.insertaffiliate.com/affiliate-search), digite o short code do afiliado e abra a aba **Events** 2. Veja todos os eventos rastreados com atribuição ao afiliado 3. Filtre por tipo de evento, afiliado ou intervalo de datas 4. Exporte dados para análise mais aprofundada Aba Events na seção Search Affiliate listando eventos rastreados como cadastros de usuários e inícios de teste, com seus status e datas

Clique para ver em tamanho real

### O Que Você Pode Ver - **Event Name**: A ação que foi rastreada - **Affiliate**: Qual afiliado indicou o usuário que disparou o evento - **Timestamp**: Quando o evento ocorreu - **User Identifier**: O usuário atribuído (quando disponível) - **Attribution Source**: O deep link ou campanha original ## Boas Práticas ### 1. Comece Simples Comece com 2-3 eventos principais: - Cadastro de usuário - Ação principal de conversão - Uma métrica de engajamento Expanda assim que entender os dados e o impacto. ### 2. Use Convenções de Nomenclatura Claras Uma boa nomenclatura facilita a análise: - ✅ `user_signup`, `trial_started`, `purchase_completed` - ❌ `event1`, `thing_happened`, `user_action` ### 3. Equilibre o Rastreamento de Eventos Não rastreie tudo: - **Poucos eventos demais**: Perde insights importantes - **Muitos eventos**: A análise fica sobrecarregada Foque em eventos que se correlacionam com valor de negócio. ### 4. Valide os Dados de Eventos Revise regularmente os dados de eventos quanto a: - Picos ou padrões incomuns - Possível manipulação ou fraude - Problemas de qualidade dos dados - Precisão da atribuição ### 5. Comunique-se com os Afiliados Torne o rastreamento de eventos transparente: - Documente quais eventos você rastreia - Explique como os eventos levam à compensação - Forneça aos afiliados seus dados de desempenho de eventos - Defina expectativas claras sobre a validação de dados ## Perguntas Comuns **Posso pagar afiliados diretamente por eventos?** Os dados de eventos são rastreados no seu painel. Como você compensa os afiliados pelos eventos fica a seu critério - seja manualmente pelo seu sistema de pagamento ou integrando os dados de eventos à sua estrutura de comissão. **Qual a diferença entre rastreamento de eventos e rastreamento de compras?** O rastreamento de compras usa recibos verificados da App Store/Google Play ou de processadores de pagamento, tornando-o resistente a adulteração. O rastreamento de eventos depende de relatórios do lado do cliente, o que é mais fácil de implementar, mas menos seguro. **Quantos eventos posso rastrear?** Não há limite rígido para nomes de eventos únicos, mas recomendamos manter o foco em 5-15 eventos principais que realmente importam para o seu negócio. **Posso rastrear o mesmo evento várias vezes para um usuário?** Sim. Você pode rastrear eventos várias vezes por usuário. Por exemplo, você pode rastrear "content_shared" toda vez que um usuário compartilha conteúdo. --- Pronto para implementar o rastreamento de eventos? Consulte a documentação do seu SDK para detalhes de implementação específicos da plataforma, ou entre em contato com o suporte se precisar de ajuda para começar. --- # Guia de Configuração do Iaptic Source: https://docs.insertaffiliate.com/pt/iaptic > Configure o Iaptic para criar um novo afiliado com o Insert Affiliate # Configurando o Iaptic Para começar, [crie uma conta no Iaptic](https://www.iaptic.com/signup). Após criar uma conta, siga o guia de configuração do Iaptic para iOS, que pode ser [encontrado aqui](https://www.iaptic.com/documentation/setup/ios). Se você encontrar algum problema ao configurar sua conta do Iaptic, entre em contato com o [Suporte do Iaptic](https://www.iaptic.com/contact-us) para obter ajuda. ## Configurações Necessárias Para usar o Insert Affiliate com o Iaptic em todas as plataformas (iOS, Android ou React Native), o primeiro passo é adicionar seu [Iaptic App Name](https://www.iaptic.com/account) e sua [Iaptic Secret Key](https://www.iaptic.com/setting) às suas [Configurações do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **Integrations**). Seção Purchase Verification nas configurações do painel da Insert Affiliate com o menu do método de verificação destacado

Clique para ver em tamanho real

Observação Importante: Você deve alterar sua Entitlement Strategy no Painel do Iaptic para "First Claimer" para evitar transações duplicadas! ## Configuração no iOS ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Compra no App podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-2-iaptic) ## Configuração no Android ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Android do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração de Compra no App podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-3-iaptic) ## Configuração no React Native ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. ## Configuração no Flutter ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. ## Configuração no Unity ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no Repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração do Iaptic podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-5-iaptic) {/* ## Javascript / Capacitor Setup #### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Javascript SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). All code changes required are described in detail with examples within the Github Repository. */} --- # Guia de configuração dos Insert Links Source: https://docs.insertaffiliate.com/pt/insert-links > Configure os Insert Links prontos para uso em Deep Linking e Marketing de Afiliados # O que são os Insert Links Os Insert Links são os links gerados internamente por nós que seus afiliados compartilham com os usuários finais para baixar seu aplicativo. Esses links inteligentes detectam automaticamente se o usuário está no iOS ou Android, e se ele já tem o aplicativo instalado. Isso é o que se conhece como **deferred deep link**. - Se o usuário já tem o aplicativo instalado, o link o levará diretamente para o local correto dentro do aplicativo, atribuindo vendas futuras ao seu afiliado. - Se o usuário ainda não tem o aplicativo, o link primeiro o envia para a App Store ou Google Play para baixá-lo — e então, assim que ele abre o aplicativo pela primeira vez, ele lembra qual afiliado o indicou e continua rastreando vendas futuras por meio dos nossos SDKs. # Configurando os Insert Links ## 1. Configuração Única no Painel Acesse as [configurações do Painel do Insert Affiliate](https://app.insertaffiliate.com/settings) e preencha: - **Website Link** (seu site principal ou landing page) Seção Company Profile nas configurações do painel do Insert Affiliate, onde links do site, URL schemes e bundle identifiers são configurados

Clique para ver em tamanho real

Se você tiver um **aplicativo iOS**, adicione também: - **iOS App Store Link** - **iOS URL Scheme** (pressione "Generate" se ainda não tiver um) - **iOS Bundle Identifier** (Xcode → Project → Targets → General → Bundle Identifier) - **Apple Team ID** (encontrado em [developer.apple.com/account](https://developer.apple.com/account) → Membership details → Team ID) — necessário para [Universal Links](#23-universal-links-optional-recommended) iOS Bundle identifier

Clique para ver em tamanho real

Se você tiver um **aplicativo Android**: - **Google Play Store Link** - **Android Bundle Identifier** (applicationId em app/build.gradle → defaultConfig → applicationId) Pressione **Save**. --- ## 2. Configuração no iOS Necessário para todas as stacks de código: Swift, Objective-C, React Native, Flutter, Unity, Capacitor — esta etapa é nativa e universal. ### 2.1 Esquema de URL personalizado (deep link mínimo viável) Adicione seu esquema de URL do iOS e o bundle identifier ao Info.plist: iOS Bundle identifier

Clique para ver em tamanho real

```xml CFBundleURLTypes CFBundleURLName com.yourcompany.yourapp CFBundleURLSchemes yourapp ``` **Para o fluxo gerenciado do Expo:** Você não edita o Info.plist diretamente. Em vez disso, adicione o esquema ao seu `app.json`: ```json { "expo": { "scheme": "yourapp" } } ``` O Expo configura automaticamente o Info.plist quando você executa `npx expo prebuild` ou `npx expo run:ios`. Em seguida, pule para [2.3 Code Updates](#23-code-updates). ### 2.2 Adicione os URL Types no Xcode Vá em Xcode → Project → Info → URL Types → + (Add) - Identifier → insira seu iOS Bundle Identifier (do [painel](https://app.insertaffiliate.com/settings)). - URL Schemes → insira seu iOS URL Scheme (gerado no [painel](https://app.insertaffiliate.com/settings)). Isso garante que o iOS possa reconhecer seu aplicativo quando um link com seu esquema for aberto. iOS Bundle identifier

Clique para ver em tamanho real

### 2.3 Universal Links (Opcional, Recomendado) Os Universal Links proporcionam uma experiência mais fluida do que os esquemas de URL personalizados. Quando um usuário toca em um Insert Link e já tem seu aplicativo instalado, o iOS abre o aplicativo diretamente — sem carregar o navegador primeiro e sem mostrar um erro "Safari cannot open the page" se algo der errado. Se o aplicativo **não** estiver instalado, o link simplesmente abre no Safari e mostra a landing page com seu botão de download da App Store — sem caixas de diálogo de erro. #### Passo 1: Adicione seu Apple Team ID no painel Nas [Configurações do Painel do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **General**), role até a seção **Deep Linking Platform** e encontre o campo identificado como **"Apple Team ID"**. Insira seu Team ID de 10 caracteres aqui. Para encontrar seu Team ID: 1. Acesse [developer.apple.com/account](https://developer.apple.com/account) 2. Procure em **Membership details** 3. Copie o **Team ID** (uma string alfanumérica de 10 caracteres, por exemplo, `A1B2C3D4E5`) O campo **"iOS Bundle Identifier"** já deve estar preenchido a partir do [Passo 1](#1-one-time-dashboard-setup). Ambos os campos são necessários para que os Universal Links funcionem. #### Passo 2: Adicione os Associated Domains no Xcode No Xcode, vá ao target do seu aplicativo → **Signing & Capabilities** → clique em **+ Capability** → selecione **Associated Domains**. Adicione as seguintes entradas: Se você estiver usando o domínio padrão do Insert Affiliate: ``` applinks:insertaffiliate.link ``` Se você configurou um [domínio personalizado](/pt/custom-domains) (por exemplo, `links.yourcompany.com`): ``` applinks:links.yourcompany.com ``` Você pode adicionar ambos se quiser suportar os dois domínios. #### Passo 3: Trate os Universal Links no seu aplicativo Seu aplicativo precisa passar as URLs de Universal Link recebidas para o Insert Affiliate SDK. A configuração é diferente para cada plataforma — consulte a seção Universal Links na documentação do seu SDK: - [Swift SDK — Universal Links](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#universal-links) - [React Native SDK — Universal Links](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#universal-links) - [Flutter SDK — Universal Links](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#universal-links) - [Android SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [Unity SDK — Insert Links Setup](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- ### 2.4 Atualizações de Código A alteração final necessária é diferente dependendo da sua linguagem de programação e pode ser encontrada no ReadMe do SDK: - [Alterações de Código do Insert Link para o React Native SDK](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Alterações de Código do Insert Link para o Flutter SDK](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-1-insert-links) - [Alterações de Código do Insert Link para o Swift SDK](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Alterações de Código do Insert Link para o Android SDK](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-1-insert-links-simplest) - [Alterações de Código do Insert Link para o Unity SDK](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- ## 3. Configuração no Android Necessário para todas as stacks (Kotlin, Java, React Native, Flutter, Capacitor). Esta etapa é **nativa e universal**. ### O que você deve adicionar Adicione **dois intent-filters** à sua **launcher activity** (a activity que abre primeiro, geralmente `MainActivity`) em: - **Nativo (Kotlin/Java):** `app/src/main/AndroidManifest.xml` - **React Native (CLI/Expo prebuild):** `android/app/src/main/AndroidManifest.xml` - **Flutter:** `android/app/src/main/AndroidManifest.xml` - **Capacitor:** `android/app/src/main/AndroidManifest.xml` **Importante:** O valor do esquema que você usar no AndroidManifest.xml para substituir "REPLACE_WITH_YOUR_SCHEME" *deve* corresponder exatamente ao Android Bundle Identifier que você configurou nas suas [Configurações do Insert Affiliate](https://app.insertaffiliate.com/settings). ```xml android:exported="true" android:launchMode="singleTop"> /> ``` ### 3.1 Android App Links (Opcional, Recomendado) Os Android App Links proporcionam uma experiência mais fluida do que os esquemas de URL personalizados. Quando um usuário toca em um Insert Link e já tem seu aplicativo instalado, o Android abre o aplicativo diretamente — sem carregar o navegador ou mostrar uma caixa de diálogo "Choose an app". Se o aplicativo **não** estiver instalado, o link abre no navegador e mostra a landing page com seu botão de download do Google Play. #### Passo 1: Adicione sua impressão digital SHA-256 no painel Nas [Configurações do Painel do Insert Affiliate](https://app.insertaffiliate.com/settings) (aba **General**), role até a seção **Deep Linking Platform** e insira sua **SHA-256 Certificate Fingerprint**. Para encontrar sua impressão digital SHA-256: ```bash # For debug builds keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android | grep SHA256 # For release builds (use your keystore) keytool -list -v -keystore your-release-key.keystore -alias your-alias | grep SHA256 ``` O campo **"Android Bundle Identifier"** já deve estar preenchido a partir do [Passo 1](#1-one-time-dashboard-setup). Ambos os campos são necessários para que os App Links funcionem. #### Passo 2: Adicione o intent filter dos App Links Adicione este intent filter à sua launcher activity no `AndroidManifest.xml`, ao lado do intent filter existente do esquema de URL personalizado: ```xml ``` Se você configurou um [domínio personalizado](/pt/custom-domains), adicione outro intent filter com seu domínio: ```xml ``` #### Passo 3: Defina o modo de inicialização Certifique-se de que sua launcher activity use `android:launchMode="singleTop"` (mostrado no exemplo de manifest acima). Isso impede que a activity seja recriada quando um App Link é tocado enquanto o aplicativo já está em execução. #### Passo 4: Trate os App Links no seu aplicativo Consulte a seção App Links na documentação do seu SDK: - [Android SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [React Native SDK — App Links](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#android-app-links-optional-recommended) - [Flutter SDK — App Links](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#android-app-links-optional-recommended) - [Unity SDK — Insert Links Setup](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#insert-links-setup) --- # Criando Insert Links para Seus Afiliados O processo de criação de Insert Links depende de como os afiliados são adicionados ao seu programa. ## Criar Afiliado (Admin) Ao criar afiliados [um de cada vez](http://docs.insertaffiliate.com/create-affiliate) como administrador da empresa: 1. Complete o formulário adicionando o código curto do afiliado, e-mail e todos os outros detalhes necessários. 2. Em **Deep Link** Source, selecione **Insert Link**. Um Insert Link será gerado e atribuído automaticamente ao afiliado no momento da criação. - O afiliado receberá um e-mail convidando-o ao painel, onde poderá encontrar seu Insert Link em **Settings**. - Você verá o afiliado, junto com seu Insert Link atribuído, na [seção Affiliates](https://app.insertaffiliate.com/affiliates) do seu painel. Formulário Create an Affiliate com Insert Link selecionado e a geração automática de link pronta

Clique para ver em tamanho real

## Ativar o Autocadastro de Afiliados Quando os afiliados [se cadastram por conta própria](http://docs.insertaffiliate.com/create-affiliate-affiliate-self-signup), os Insert Links são gerados automaticamente — sem necessidade de preparação: 1. Na página [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate), selecione **Enable Affiliate Self-Signup**. 2. Confirme que sua plataforma de deep linking mostra **Insert Link**. 3. Compartilhe seu link de cadastro hospedado ou o código da empresa com potenciais afiliados. 4. O Insert Link de cada afiliado é gerado automaticamente quando ele se cadastra (ou quando você o aprova, se **Require Manual Approval** estiver ativado). Modo de autocadastro de afiliados na página Create Affiliate, mostrando o link de cadastro hospedado, o código da empresa e a geração automática de Insert Links

Clique para ver em tamanho real

Para limitar quantos afiliados podem entrar, ative **Limit Affiliate Signups** — os Insert Links passam a ser gerados apenas enquanto houver vagas de cadastro criadas por você. --- # Domínios Personalizados para Insert Links

Recurso Enterprise

Domínios personalizados estão disponíveis no plano Enterprise.

Quer que seus links de afiliado usem seu próprio domínio com sua marca em vez de `insertaffiliate.link`? Os clientes Enterprise podem configurar um domínio personalizado como `links.yourcompany.com` para uma experiência mais profissional e alinhada à marca. **Benefícios dos domínios personalizados:** - **Consistência de marca** - Os links correspondem ao domínio da sua empresa - **Maior confiança** - Afiliados e usuários veem sua marca, não a nossa - **Aparência profissional** - Perfeito para parcerias enterprise **Exemplo:** - Padrão: `https://insertaffiliate.link/abc123/MIKEYB` - Personalizado: `https://links.yourcompany.com/abc123/MIKEYB` Para instruções de configuração, consulte o [Guia de Configuração de Domínios Personalizados](/pt/custom-domains). --- # Pré-visualização de Compartilhamento Social para Insert Links

Recurso Enterprise

A personalização da pré-visualização de compartilhamento social está disponível no plano Enterprise.

Quando seus afiliados compartilham seus Insert Links em redes sociais, aplicativos de mensagens ou outras plataformas (WhatsApp, Slack, iMessage, Facebook, Twitter, LinkedIn, etc.), é exibido um cartão de pré-visualização com uma imagem, título e descrição. Você pode personalizar a aparência dessas pré-visualizações para que correspondam à sua marca. ## Como Funciona Por padrão, os Insert Links usarão o **nome da sua empresa** como título e o **logotipo do seu painel** como imagem de pré-visualização. Se você não definiu um logotipo, o logotipo do Insert Affiliate é usado como fallback. Você pode substituir qualquer um desses padrões nas configurações da Social Share Preview. ## Configurando Sua Pré-visualização de Compartilhamento Social 1. Acesse [Settings](https://app.insertaffiliate.com/settings) (aba **Branding**) no seu painel do Insert Affiliate 2. Role até a seção **Social Share Preview for Insert Links** 3. Personalize o seguinte: - **Share Image** — Faça upload de uma imagem PNG, JPG ou WebP (tamanho recomendado: 1200x630px). Esta é a imagem mostrada nos cartões de pré-visualização de link. - **Title** — O título mostrado no cartão de pré-visualização. Usa como padrão o nome da sua empresa se deixado em branco. - **Description** — Uma breve descrição mostrada abaixo do título. Usa como padrão "Check out your company name" se deixado em branco. 4. Clique em **Save** na parte inferior da página de configurações Seção Social Share Preview nas configurações do painel da Insert Affiliate com o cartão de pré-visualização ao vivo e os campos de imagem, título e descrição

Clique para ver em tamanho real

A pré-visualização ao vivo na seção de configurações mostra como o link aparecerá quando compartilhado.

Imagens SVG Não Suportadas

A maioria das plataformas sociais (WhatsApp, Facebook, Twitter, etc.) não suporta imagens SVG para pré-visualizações de link. Se o logotipo do seu painel for um SVG, você verá um aviso solicitando que você faça upload de uma imagem PNG, JPG ou WebP.

## Comportamento de Fallback Se nenhuma configuração de pré-visualização de compartilhamento social for definida, os Insert Links recorrerão a esta ordem: 1. **Imagem de pré-visualização de compartilhamento social** (se enviada) 2. **Logotipo do painel** (se definido e não for um SVG) 3. **Logotipo padrão do Insert Affiliate** A mesma lógica de fallback se aplica aos campos de título e descrição. --- # Pagamentos por Evento de Instalação | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/install-event-payments > Pague aos afiliados uma taxa fixa por cada instalação do app gerada pelo short code ou insert link deles. Configure valores de pagamento, limites de eventos e substituições por afiliado. # Pagamentos por Evento de Instalação Pague aos seus afiliados uma taxa fixa toda vez que um usuário instalar seu app por meio do short code ou insert link deles. Isso é separado dos pagamentos baseados em comissão — os pagamentos por evento de instalação recompensam os afiliados por gerar downloads, independentemente de esses usuários fazerem uma compra. ## Por Que Pagar por Instalações? Os pagamentos por evento de instalação são uma ferramenta poderosa para campanhas de crescimento: - **Gere downloads** — Incentive os afiliados a promover ativamente seu app, em vez de apenas esperar por compras - **Recompense atividade no topo do funil** — Afiliados que geram instalações estão construindo sua base de usuários, mesmo que as conversões venham depois - **Atraia mais afiliados** — Pagamentos garantidos por instalação são atraentes para criadores que talvez não queiram esperar pela receita de comissão - **Flexibilidade de campanha** — Execute campanhas de instalação por tempo limitado (ex.: "ganhe $1 por instalação neste mês") para impulsionar o crescimento em períodos importantes ## Como Habilitar os Pagamentos por Evento de Instalação 1. Vá até [Settings](https://app.insertaffiliate.com/settings) → aba **Payments & Payouts** 2. Role até a seção **Install Event Payments** 3. Ative a opção **Pay Affiliates for Install Events** Uma vez habilitado, você verá opções de configuração para instalações por short code e instalações por insert link. Seção Install Event Payments nas Configurações com a opção ativada, mostrando os campos de valor do pagamento e limite de eventos para instalações por short code e insert link

Clique para ver em tamanho real

## Configuração ### Pagamentos por Instalação via Short Code Defina a taxa fixa paga a um afiliado toda vez que um usuário instala seu app por meio do [short code](/pt/short-codes) dele: | Configuração | Descrição | |---------|-------------| | **Payment Amount ($)** | O valor em dólares pago por instalação (ex.: $0.50) | | **Short Code Event Cap** | Número máximo de eventos pagos por afiliado. Deixe vazio para ilimitado. Defina como 1 para pagar apenas a primeira instalação. | ### Pagamentos por Instalação via Insert Link Se sua empresa usa [Insert Links](/pt/insert-links) como plataforma de deep linking, você também verá configurações para instalações por insert link: | Configuração | Descrição | |---------|-------------| | **Payment Amount ($)** | O valor em dólares pago por instalação via insert link (ex.: $0.75) | | **Insert Link Event Cap** | Número máximo de eventos pagos por afiliado. Deixe vazio para ilimitado. Defina como 1 para pagar apenas a primeira instalação. | Você pode definir valores de pagamento diferentes para short codes e insert links, dando flexibilidade com base no valor de cada canal. ## Substituições por Afiliado Você pode substituir as configurações de pagamento por instalação da empresa para afiliados individuais: 1. Vá até [Affiliates](https://app.insertaffiliate.com/affiliates) 2. Pesquise e selecione um afiliado 3. No painel de detalhes do afiliado, encontre a seção **Install Payment Overrides** 4. Defina valores de pagamento e/ou limites de eventos personalizados para esse afiliado específico As substituições por afiliado têm prioridade sobre suas configurações globais. Isso é útil para: - Recompensar afiliados de alto desempenho com taxas mais altas por instalação - Executar campanhas exclusivas com parceiros selecionados - Definir limites mais rígidos para afiliados que você deseja monitorar mais de perto Para reverter um afiliado às configurações padrão da empresa, limpe os valores de substituição dele. ## Limites de Eventos Os limites de eventos restringem quantos eventos de instalação são pagos por afiliado. Esta é sua principal ferramenta para controlar custos e reduzir o risco de fraude. **Exemplos:** - **Limite = 1** — Apenas a primeira instalação de cada afiliado é paga. Bom para bônus únicos. - **Limite = 10** — As primeiras 10 instalações são pagas, depois nenhuma mais. Bom para campanhas com limite. - **Sem limite (vazio)** — Toda instalação é paga sem limite. Use com cautela. A contagem de eventos de cada afiliado é rastreada de forma independente. O número do evento fica visível na tabela de transações de pagamentos por instalação. ## Visualizando as Transações de Pagamento por Instalação ### Como Administrador da Empresa Ao visualizar os detalhes de um afiliado na seção [Affiliates](https://app.insertaffiliate.com/affiliates), você verá uma aba **Install Payments** mostrando: - Cartões de resumo com os valores total, pago e pendente - Uma tabela de transações filtrável com data, tipo de origem (Short Code ou Insert Link), valor, número do evento e status do pagamento - Botões para marcar transações como pagas ou pagar via Stripe Connect ### Como Afiliado Os afiliados podem ver suas próprias transações de pagamento por instalação no [Painel do Afiliado](https://app.insertaffiliate.com). A aba **Install Payments** mostra o histórico de transações deles em modo somente leitura, com os totais de ganhos incluídos no resumo do painel. ## Processando Pagamentos As transações de pagamento por instalação seguem o mesmo fluxo de pagamento das transações regulares de comissão: - **Mark as Paid** — Para pagamentos processados fora da plataforma - **Pay via Stripe** — Processe o pagamento diretamente pelo [Stripe Connect](/pt/paying-affiliates/stripe-connect) se tanto a empresa quanto o afiliado tiverem contas conectadas As transações de pagamento por instalação contam para o seu nível gratuito de 100 transações. [Assine um plano pago](https://app.insertaffiliate.com/billing) para transações ilimitadas. ## Aviso sobre Fraude > **Importante:** Os afiliados podem potencialmente gerar seus próprios eventos de instalação. Como os eventos de instalação são disparados por aberturas do app via short code ou insert link, um afiliado desonesto poderia disparar instalações repetidamente para receber pagamentos. **Como se proteger:** 1. **Use limites de eventos** — Defina um limite de 1-10 para limitar a exposição por afiliado. Esta é a salvaguarda mais eficaz. 2. **Revise as transações antes de pagar** — Verifique a tabela de pagamentos por instalação em busca de padrões suspeitos (ex.: muitas instalações em um curto período) 3. **Comece com valores baixos** — Inicie com taxas pequenas por instalação (ex.: $0.25) e aumente quando confiar no afiliado 4. **Execute campanhas por tempo limitado** — Em vez de pagamentos por instalação sempre ativos, habilite-os para períodos promocionais específicos Apesar do risco de fraude, os pagamentos por evento de instalação continuam sendo valiosos porque incentivam os afiliados a promover ativamente seu app. A chave é usar limites de eventos e valores razoáveis para manter sua exposição sob controle. ## Boas Práticas - **Comece com limites de eventos** — Defina um limite de 1 ou um número pequeno enquanto avalia o impacto - **Taxas diferentes para canais diferentes** — Instalações por short code e por insert link podem ter valores diferentes para o seu negócio - **Use substituições estrategicamente** — Dê taxas mais altas a afiliados comprovados, e taxas mais baixas ou limites mais rígidos aos novos - **Combine com comissão** — Os pagamentos por instalação funcionam junto com os [pagamentos baseados em comissão](/pt/affiliate-commission). Um afiliado pode ganhar tanto uma taxa por instalação quanto uma comissão contínua sobre as compras. - **Monitore regularmente** — Revise as transações de pagamento por instalação no seu painel de busca de afiliados antes de processar os pagamentos --- # Visão Geral da Integração Source: https://docs.insertaffiliate.com/pt/integration-overview > Entenda os três passos para integrar o Insert Affiliate ao seu aplicativo: deep linking, verificação de compras e transações na web opcionais. # Visão Geral da Integração O Insert Affiliate rastreia indicações e compras de afiliados por meio de um processo de integração em três passos. Este guia explica cada passo e ajuda você a escolher as plataformas certas para suas necessidades. ## Como o Insert Affiliate Funciona O fluxo de rastreamento de afiliados funciona assim: 1. O usuário clica no link do afiliado 2. O deep linking abre seu aplicativo e identifica o afiliado 3. A atribuição é armazenada quando o aplicativo é iniciado 4. O usuário realiza uma compra 5. A compra é verificada e rastreada 6. A comissão é calculada para o afiliado Para que isso funcione, você precisa integrar: 1. **Plataforma de Deep Linking** - Rastreia qual afiliado indicou cada usuário 2. **Verificação de Compras** - Valida compras e assinaturas no aplicativo 3. **Transações na Web** (Opcional) - Rastreia compras baseadas na web, se aplicável --- ## Passo 1: Plataforma de Deep Linking ### O Que Ela Faz O deep linking permite que links de afiliados abram seu aplicativo e rastreiem qual afiliado indicou o usuário. Quando um usuário clica no link de um afiliado, a plataforma de deep linking: 1. Abre seu aplicativo (ou a App Store, se não estiver instalado) 2. Passa o identificador do afiliado para seu aplicativo 3. Permite que o Insert Affiliate atribua o usuário àquele afiliado ### Escolha Sua Plataforma Oferecemos suporte a várias plataformas de deep linking. Escolha com base nas suas necessidades: | Plataforma | Ideal Para | Complexidade | Custo | |----------|----------|------------|------| | **[Insert Links](/pt/insert-links)** | Configuração rápida, sem necessidade de terceiros | Baixa | Incluído | | **[Branch.io](/pt/branch)** | Análises avançadas, usuários existentes do Branch | Média | Pago | | **[AppsFlyer](/pt/appsflyer)** | Atribuição mobile, usuários existentes do AppsFlyer | Média | Camada gratuita disponível | | **[RevenueCat Web Purchase Links](/pt/revenuecat-web-billing#deep-linking-platforms)** | Assinaturas baseadas na web via RevenueCat | Média/Alta | Incluído com o RevenueCat | | **[Outras Plataformas](/pt/other-deep-linking-platform)** | Configuração de deep linking personalizada ou existente | Varia | Varia | ### Recomendado: Insert Links Para a maioria dos usuários, recomendamos começar com **[Insert Links](/pt/insert-links)**: - Integrado ao Insert Affiliate (sem necessidade de cadastro em terceiros) - Mais fácil de configurar e testar - Controle total sobre o comportamento dos links - Sem custos adicionais ### Passos de Integração Depois de escolher uma plataforma: 1. **Configure a plataforma** - Crie uma conta e configure seu aplicativo 2. **Instale nosso SDK** - Adicione o SDK do Insert Affiliate ao seu aplicativo 3. **Configure o tratamento de deep links** - Siga a documentação da sua plataforma 4. **Passe os links para nosso SDK** - Encaminhe os dados de deep link para o Insert Affiliate 5. **Teste a integração** - Verifique se a atribuição funciona corretamente Instruções detalhadas para cada plataforma estão em seus respectivos guias. --- ## Passo 2: Verificação de Compras ### O Que Ela Faz A verificação de compras valida que as compras no aplicativo são legítimas e notifica o Insert Affiliate quando um usuário atribuído realiza uma compra. ### Escolha Sua Plataforma | Plataforma | Ideal Para | Complexidade | Recursos | |----------|----------|------------|----------| | **[RevenueCat](/pt/revenuecat)** | Maioria dos usuários, apps de assinatura | Baixa | Configuração mais fácil, webhooks, multiplataforma | | **[Adapty](/pt/adapty)** | Testes A/B de paywall, análises | Baixa | Paywalls sem código, webhooks, multiplataforma | | **[Apphud](/pt/apphud)** | Usuários existentes do Apphud | Baixa | Semelhante ao RevenueCat | | **[Iaptic](/pt/iaptic)** | Usuários existentes do Iaptic | Baixa | Serviço de validação de recibos | | **[Direct App Store](/pt/direct-store-purchase-integration)** | Apps iOS, controle máximo | Alta | Sem terceiros, apenas Apple | | **[Direct Google Play](/pt/direct-google-play-store-purchase-integration)** | Apps Android, controle máximo | Alta | Sem terceiros, apenas Google | **Observação:** Você pode combinar Direct App Store + Direct Google Play para aplicativos multiplataforma sem serviços de terceiros. ### Recomendado: RevenueCat Para a maioria dos usuários, recomendamos o **[RevenueCat](/pt/revenuecat)**: - Integração mais simples com o Insert Affiliate - Lida tanto com iOS quanto com Android - Notificações automáticas por webhook - Excelente documentação e suporte - Camada gratuita disponível ### Passos de Integração O fluxo geral para todas as plataformas: 1. **Configure a plataforma escolhida** - Crie a conta e configure os produtos 2. **Configure as opções do Insert Affiliate** - Selecione seu método de verificação no [painel](https://app.insertaffiliate.com/settings) (aba **Integrations**) 3. **Configure webhooks** (RevenueCat, Apphud, Iaptic) - Conecte sua plataforma ao Insert Affiliate 4. **Passe o identificador do afiliado** - Garanta que o código curto do afiliado seja incluído nas compras 5. **Teste compras** - Verifique se as transações aparecem no painel do Insert Affiliate Visão geral do painel da Insert Affiliate com métricas, gráficos e principais afiliados

Clique para ver em tamanho real

### Crítico: Passando o Identificador do Afiliado A parte mais importante da verificação de compras é **passar o identificador do afiliado** quando ocorre uma compra. Cada plataforma tem um método diferente: - **RevenueCat**: Defina um atributo personalizado (`insert_affiliate`) - **Adapty**: Defina um atributo personalizado via `updateProfile` - **Apphud**: Defina uma propriedade personalizada - **Iaptic**: Inclua na solicitação de validação de compra - **Integrações diretas**: Inclua nas notificações servidor a servidor Consulte a documentação da plataforma escolhida para detalhes específicos de implementação. --- ## Passo 3: Transações na Web (Opcional) ### O Que Ela Faz Se você vende assinaturas ou produtos pela web (não por meio das lojas de aplicativos), pode rastrear essas transações por meio do Insert Affiliate. ### Escolha Sua Plataforma | Plataforma | Ideal Para | Integração | |----------|----------|-------------| | **[Stripe Web Transactions](/pt/stripe-web-transactions)** | Integração direta com o Stripe | Stripe Connect | | **[RevenueCat Stripe Billing](/pt/revenuecat-stripe-billing)** | Uso de RevenueCat + Stripe | Stripe Connect | | **[RevenueCat Web Billing](/pt/revenuecat-web-billing)** | Compras na web via RevenueCat | Stripe Connect | ### Quando Você Precisa Disso Você precisa de rastreamento de transações na web se: - Os usuários podem comprar assinaturas no seu site - Você oferece checkout baseado na web junto com o mobile - Você usa Stripe ou processadores de pagamento similares para vendas na web ### Pule Isto Se Você pode pular este passo se: - Todas as compras acontecem por meio da App Store ou Google Play - Você tem apenas um aplicativo mobile, sem presença na web --- ## Lista de Verificação Completa da Integração Use esta lista de verificação para garantir que você concluiu todos os passos necessários: ### Configuração - [ ] Cadastrado no Insert Affiliate e acessou o painel - [ ] Localizou sua chave de API nas [configurações do painel](https://app.insertaffiliate.com/settings) ### Passo 1: Deep Linking - [ ] Escolheu uma plataforma de deep linking - [ ] Criou uma conta na plataforma escolhida (se necessário) - [ ] Instalou o SDK do Insert Affiliate no seu aplicativo - [ ] Configurou o tratamento de deep links no seu aplicativo - [ ] Testou se os deep links abrem seu aplicativo corretamente ### Passo 2: Verificação de Compras - [ ] Escolheu uma plataforma de verificação de compras - [ ] Configurou a conta da sua plataforma de verificação - [ ] Configurou o método de verificação no painel do Insert Affiliate - [ ] Configurou webhooks (se estiver usando RevenueCat, Apphud ou Iaptic) - [ ] Implementou a passagem do identificador do afiliado no seu aplicativo - [ ] Testou se as compras em sandbox aparecem no seu painel ### Passo 3: Transações na Web (Opcional) - [ ] Determinou se você precisa de rastreamento de transações na web - [ ] Configurou a integração de transações na web (se necessário) - [ ] Testou se as compras na web aparecem no seu painel ### Testes e Lançamento - [ ] Criou um afiliado de teste - [ ] Testou a atribuição com códigos curtos - [ ] Testou a atribuição com deep links - [ ] Testou se as compras em sandbox aparecem corretamente - [ ] Verificou se os cálculos de comissão estão corretos - [ ] Revisou o guia [Testes e Modo Sandbox](/pt/testing-sandbox) - [ ] Leu o guia de [Solução de Problemas](/pt/troubleshooting) para problemas comuns --- ## Matriz de Compatibilidade de Plataformas Não tem certeza de quais plataformas funcionam juntas? Aqui está uma referência rápida: ### Deep Linking + Verificação de Compras Todas as plataformas de deep linking funcionam com todas as plataformas de verificação de compras. Escolha o que funciona melhor para suas necessidades. **Combinações Populares:** - Insert Links + RevenueCat (Mais fácil, recomendado para a maioria) - Branch.io + RevenueCat (Bom para usuários existentes do Branch) - AppsFlyer + RevenueCat (Bom para usuários existentes do AppsFlyer) - Insert Links + Direct App Store (Controle máximo, iOS) - Insert Links + Direct Google Play (Controle máximo, Android) ### Adicionando Transações na Web As plataformas de transações na web funcionam independentemente da sua configuração mobile: - Você pode usar Stripe Web Transactions com qualquer integração mobile - O RevenueCat Stripe Billing funciona melhor se você já estiver usando o RevenueCat para mobile --- ## Precisa de Ajuda para Escolher? Ainda não tem certeza de quais plataformas usar? Aqui estão algumas perguntas para guiar você: ### "Quero a configuração mais simples possível" → Use **[Insert Links](/pt/insert-links)** + **[RevenueCat](/pt/revenuecat)** ### "Já uso o Branch.io para atribuição" → Mantenha o **[Branch.io](/pt/branch)** + adicione o **[RevenueCat](/pt/revenuecat)** para verificação ### "Já uso o RevenueCat" → Adicione o **[Insert Links](/pt/insert-links)** para deep linking (ou mantenha sua plataforma existente) ### "Quero controle máximo, sem terceiros" → Use **[Insert Links](/pt/insert-links)** + **[Direct App Store](/pt/direct-store-purchase-integration)** ou **[Direct Google Play](/pt/direct-google-play-store-purchase-integration)** ### "Também vendo assinaturas no meu site" → Siga os passos 1 e 2, depois adicione **[Stripe Web Transactions](/pt/stripe-web-transactions)** ou **[RevenueCat Web Billing](/pt/revenuecat-web-billing)** --- ## Próximos Passos Pronto para começar a integração? Siga estes passos: 1. **[Início Rápido](/pt/quick-start)** - Coloque seu primeiro afiliado em funcionamento em 5 minutos 2. Escolha e configure sua plataforma de deep linking 3. Escolha e configure sua plataforma de verificação de compras 4. Configure transações na web (se necessário) 5. Teste minuciosamente no modo sandbox 6. Crie seus primeiros afiliados reais e comece a rastrear vendas ## Suporte Precisa de ajuda com sua integração? - Consulte o guia de [Solução de Problemas](/pt/troubleshooting) para problemas comuns - Revise a documentação específica de cada plataforma vinculada acima - Entre em contato com o suporte por meio do seu [painel](https://app.insertaffiliate.com/) --- # Mensagens para Afiliados Source: https://docs.insertaffiliate.com/pt/messaging # Mensagens para Afiliados A Insert Affiliate oferece um sistema de mensagens integrado que permite a comunicação direta entre empresas e seus afiliados. Mantenha suas relações com afiliados sólidas com mensagens dentro da plataforma e anúncios em massa. ## Visão Geral O recurso de mensagens oferece: - **Mensagens Diretas**: Conversas individuais entre empresas e afiliados - **Mensagens em Massa**: Envie anúncios para todos os seus afiliados de uma só vez - **Indicadores de Não Lidas**: Nunca perca uma mensagem com os selos de não lidas na barra lateral - **Notificações por E-mail**: Os afiliados recebem alertas por e-mail sobre novas mensagens --- ## Para Empresas ### Acessando as Mensagens Navegue até a seção [Messages](https://app.insertaffiliate.com/messages) na barra lateral do seu painel. Você verá um indicador de selo mostrando o número de conversas não lidas. Página de mensagens com lista de conversas e uma conversa aberta no painel da Insert Affiliate

Clique para ver em tamanho real

### Iniciando uma Conversa 1. Vá até [Messages](https://app.insertaffiliate.com/messages) na barra lateral 2. Clique em **New Conversation** (ou no botão +) 3. Pesquise e selecione um afiliado da sua lista 4. Digite sua mensagem e envie Você também pode iniciar uma conversa diretamente a partir de: - [Página All Affiliates](https://app.insertaffiliate.com/affiliates): Clique no ícone de chat ao lado de qualquer afiliado - **Página Affiliate Details**: Clique no botão "Message Affiliate" - [Affiliate Search](https://app.insertaffiliate.com/affiliate-search): Clique em "Message" ao lado do afiliado ### Visualização da Conversa Cada conversa mostra: - Histórico de mensagens com data e hora - Quem enviou cada mensagem (você ou o afiliado) - Status de lida/não lida - Opções de editar e excluir para suas próprias mensagens ### Editando e Excluindo Mensagens Você pode editar ou excluir mensagens que enviou: - **Editar**: Clique no ícone de editar na sua mensagem, modifique o texto e salve. Um indicador "edited" aparecerá. - **Excluir**: Clique no ícone de excluir para remover sua mensagem permanentemente. --- ## Mensagens em Massa As mensagens em massa permitem enviar anúncios para todos os seus afiliados de uma só vez — perfeitas para promoções, atualizações de produto ou mudanças no programa. ### Enviando uma Mensagem em Massa 1. Vá até [Messages](https://app.insertaffiliate.com/messages) 2. Clique em **Broadcast to All** 3. Insira a linha de assunto e a mensagem 4. Clique em **Send Broadcast** ### O Que os Afiliados Recebem - Uma notificação por e-mail com a sua mensagem - A mensagem aparece na seção Messages deles quando fazem login ### Cancelamento pelo Afiliado Os afiliados podem optar por não receber e-mails de mensagens em massa. Ao compor uma mensagem em massa: - Você verá quantos afiliados receberão o e-mail - Se algum afiliado tiver cancelado o recebimento, essa contagem é exibida Os e-mails de mensagens em massa incluem um rodapé de cancelamento de inscrição que permite aos afiliados optar por não receber mensagens em massa futuras, continuando a receber mensagens diretas. --- ## Para Afiliados ### Visualizando Mensagens 1. Vá até [Messages](https://app.insertaffiliate.com/messages) na barra lateral do seu painel 2. Selecione uma conversa para ver o histórico de mensagens 3. As mensagens não lidas são destacadas com um selo ### Respondendo a Mensagens 1. Abra uma conversa 2. Digite sua resposta na caixa de mensagem na parte inferior 3. Pressione Enter ou clique em Send ### Notificações de Mensagens Quando uma empresa lhe envia uma mensagem: - Você receberá uma notificação por e-mail - A barra lateral Messages mostra um selo de não lida - A conversa aparece no topo da sua lista de mensagens ### Preferências de Mensagens em Massa Se você quiser cancelar o recebimento de anúncios em massa: - Clique no link de cancelamento de inscrição em qualquer e-mail de mensagem em massa - Você deixará de receber mensagens em massa, mas continuará recebendo mensagens diretas das empresas --- ## Notificações por E-mail ### O Que Dispara um E-mail - **Nova mensagem direta**: Tanto empresas quanto afiliados recebem notificações por e-mail sobre novas mensagens - **Mensagens em massa**: Os afiliados recebem e-mails de anúncios em massa (a menos que tenham cancelado) ### Conteúdo do E-mail As notificações por e-mail incluem: - O nome do remetente - Uma prévia da mensagem - Um link para ver a conversa completa no painel --- ## Recursos das Mensagens ### Paginação As mensagens carregam 10 de cada vez. Role para cima em uma conversa para carregar mensagens mais antigas automaticamente. ### Datas e Horários Cada mensagem mostra quando foi enviada. Mensagens editadas exibem "edited" com a data e hora da edição. ### Confirmações de Leitura - Abrir uma conversa marca todas as mensagens como lidas - A contagem de não lidas é atualizada em tempo real --- ## Boas Práticas ### Para Empresas 1. **Seja responsivo**: Respostas rápidas geram confiança com os afiliados 2. **Use mensagens em massa com moderação**: Reserve-as para anúncios importantes 3. **Personalize quando possível**: Mensagens diretas parecem mais pessoais do que mensagens em massa 4. **Inclua chamadas para ação claras**: Facilite para os afiliados entenderem os próximos passos ### Para Afiliados 1. **Verifique as mensagens regularmente**: Não perca atualizações importantes das empresas 2. **Faça perguntas**: Use as mensagens para esclarecer estruturas de comissão ou promoções 3. **Responda prontamente**: A comunicação ativa constrói parcerias mais fortes --- ## Resolução de Problemas ### Não Estou Recebendo Notificações por E-mail 1. Verifique sua pasta de spam/lixo eletrônico 2. Confirme seu endereço de e-mail nas configurações da conta 3. Certifique-se de que você não cancelou as preferências de e-mail ### Mensagens Não Carregam 1. Atualize a página 2. Verifique sua conexão com a internet 3. Limpe o cache do navegador e tente novamente ### Não Consigo Iniciar uma Nova Conversa (Empresas) - Certifique-se de ter pelo menos um afiliado no seu programa - Tente pesquisar pelo afiliado por nome ou e-mail --- ## Suporte Precisa de ajuda com as mensagens? Entre em contato conosco: - E-mail: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use as opções de suporte no aplicativo --- # Múltiplos Aplicativos Source: https://docs.insertaffiliate.com/pt/multiple-apps # Múltiplos Aplicativos Gerencie múltiplos aplicativos em uma única conta do Insert Affiliate. O recurso de múltiplos aplicativos permite que você execute programas de afiliados separados para diferentes aplicativos, cada um com seus próprios afiliados, análises e configurações, tudo a partir de um único login. ## Visão Geral Com múltiplos aplicativos, você pode: - **Executar programas de afiliados separados**: Cada aplicativo tem seus próprios afiliados, regras de comissão e análises - **Alternar entre aplicativos instantaneamente**: Use o App Switcher no cabeçalho do painel para alternar entre os aplicativos - **Gerenciar tudo a partir de uma conta**: Sem necessidade de logins ou contas separados --- ## Limites do Plano O número de aplicativos que você pode gerenciar depende do seu plano: | Plano | Aplicativos | |------|------| | Free | 1 | | Starter | 1 | | Growth | Até 3 | | Enterprise | Ilimitado | Para adicionar mais aplicativos, [faça upgrade do seu plano](https://app.insertaffiliate.com/billing). --- ## Adicionando um Novo Aplicativo 1. Clique no menu suspenso **App Switcher** no canto superior direito do seu painel (ele mostra o nome do seu aplicativo atual) 2. Clique em **Add New App** 3. Insira um nome para o seu novo aplicativo 4. Clique em **Create** Menu App Switcher aberto no canto superior direito do painel com o formulário Add New App preenchido e o botão Create destacado

Clique para ver em tamanho real

Você será automaticamente alternado para o novo aplicativo. Cada novo aplicativo começa do zero com seu próprio company ID, pronto para você configurar afiliados e integrações. --- ## Alternando Entre Aplicativos 1. Clique no menu suspenso **App Switcher** no canto superior direito do seu painel 2. Seu aplicativo atual está marcado como **Active** 3. Clique em qualquer outro aplicativo para alternar para ele Menu App Switcher aberto mostrando Your Apps, com o aplicativo atual marcado como ativo e o outro aplicativo destacado como aquele em que clicar para alternar

Clique para ver em tamanho real

A página será recarregada com os dados do aplicativo selecionado. Todas as seções do painel (afiliados, análises, mensagens, configurações) refletirão o aplicativo selecionado. --- ## Como Funciona Cada aplicativo na sua conta é uma entidade de empresa separada com seus próprios: - **Company ID** para integração com o SDK - **Afiliados e regras de comissão** - **Histórico de transações e análises** - **Configurações e ajustes** Sua conta (login por e-mail) está vinculada a todos os seus aplicativos. Os membros da equipe que você convidar também terão acesso a todos os aplicativos vinculados. --- ## Fazendo Upgrade para Mais Aplicativos Se você estiver em um plano Free ou Starter, clicar em **Add New App** solicitará que você faça upgrade. Para adicionar mais aplicativos: 1. Acesse [Billing](https://app.insertaffiliate.com/billing) 2. Escolha um plano Growth ou Enterprise 3. Após o upgrade, você pode adicionar novos aplicativos imediatamente a partir do App Switcher --- ## Suporte Precisa de ajuda com múltiplos aplicativos? Entre em contato: - E-mail: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use as opções de suporte no aplicativo --- # Guia de Configuração de Todas as Outras Plataformas de Deep Linking Source: https://docs.insertaffiliate.com/pt/other-deep-linking-platform > Configure qualquer plataforma alternativa de deep linking pronta para criar um novo afiliado com o Insert Affiliate # Configurando com Qualquer Outra Plataforma de Deep Linking Para começar, crie uma conta com a plataforma de deep linking escolhida e conclua a configuração. Em seguida, faça as alterações de código necessárias no seu aplicativo para integrar o Insert Affiliate à plataforma de deep linking escolhida. ## Configuração no iOS ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate Swift SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a configuração do Deep Linking com a plataforma escolhida podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#3-set-up-deep-linking) ## Configuração no Android ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate Android SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração do Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#3-set-up-deep-linking) ## Configuração no React Native ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate React Native SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração do Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#3-set-up-deep-linking) ## Configuração no Flutter ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate Flutter SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração do Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#3-set-up-deep-linking) ## Configuração no Javascript / Capacitor #### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate Javascript SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração do Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#3-set-up-deep-linking) ## Configuração no Unity ### 1. Instale os Pacotes Necessários e Conclua a Configuração Para instalar o Insert Affiliate Unity SDK, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos dentro do repositório do GitHub. As alterações de código específicas exigidas pelo Insert Affiliate para a etapa de configuração do Deep Linking podem ser encontradas [aqui](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#basic-deep-link-handling) --- # Pagando Afiliados Source: https://docs.insertaffiliate.com/pt/paying-affiliates # Pagando Afiliados Oferecemos suporte a duas formas de processar pagamentos de afiliados: ### Pagamentos na Plataforma (Stripe Connect) - Processe pagamentos diretamente pela nossa plataforma - Os afiliados recebem os pagamentos diretamente na conta do Stripe - Taxas do Stripe: Aproximadamente 2,9% + $0,30 por transação ([veja as taxas atuais](https://stripe.com/connect/pricing)) ### Rastreamento de Pagamentos Externos - Rastreie comissões de pagamentos que você processa fora da nossa plataforma - Marque comissões como pagas manualmente - Perfeito para fluxos de pagamento existentes e para manter os custos baixos Escolha o método que melhor se adequa às necessidades do seu negócio. Você pode até usar ambos os métodos simultaneamente para diferentes afiliados. ## Métodos de Pagamento ### Pagamentos Externos Você pode rastrear e marcar pagamentos como pagos externamente para afiliados. Isso é útil quando: - Você prefere lidar com os pagamentos fora da plataforma - O afiliado não conectou a conta do Stripe - Sua empresa não conectou a conta do Stripe ### Pagamentos pelo Stripe Connect Para pagamentos processados pelo Stripe, tanto a empresa quanto o afiliado precisam conectar suas contas do Stripe: 1. **Configuração da Empresa** - Conecte a conta do Stripe da sua empresa nas [configurações da empresa](https://app.insertaffiliate.com/settings) - Conclua o processo de verificação do Stripe - Após a verificação, você poderá processar pagamentos aos afiliados Seção Stripe Connect nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

2. **Configuração do Afiliado** - Os afiliados precisam conectar a conta do Stripe deles nas [configurações de afiliado](https://app.insertaffiliate.com/affiliate-settings) - Eles precisarão concluir o processo de verificação do Stripe - Após a verificação, eles podem receber pagamentos diretamente ## Visualizações de Pagamento ### Visualização de Todas as Transações **Visão Geral em Tempo Real** A visualização de Todas as Transações oferece uma visão geral abrangente de todas as transações em tempo real. Você pode: - Ver todas as transações de todos os afiliados - Filtrar e pesquisar transações - Ver status e métodos de pagamento - Processar pagamentos diretamente desta visualização Se um afiliado estiver com pagamento devido, você verá: - Botão "Pay via Stripe" se tanto a empresa quanto o afiliado tiverem contas do Stripe conectadas - Botão "Mark as Paid" para rastreamento de pagamento externo ### Visualização Detalhada de Transações **Atualizada em Tempo Real** Para uma visão mais detalhada de transações individuais, você pode: - Pesquisar um afiliado - Navegar até a seção Affiliates e clicar em um afiliado na tabela Aqui, você verá: - Transações individuais conforme ocorrem - Status de pagamento de cada transação - Método de pagamento usado (Stripe ou externo) - IDs de referência de pagamento para pagamentos pelo Stripe ## Processamento de Pagamentos ### Pagamentos pelo Stripe Ao usar o Stripe Connect: 1. Clique em "Pay via Stripe" na transação 2. Insira os detalhes de pagamento no formulário seguro do Stripe 3. Após o processamento, o pagamento é marcado automaticamente como pago 4. Os afiliados recebem o pagamento diretamente na conta do Stripe conectada ### Pagamentos Externos Para pagamentos externos: 1. Clique em "Mark as Paid" na transação 2. Processe o pagamento fora da plataforma 3. A transação será marcada como paga no sistema Tabela de todos os afiliados no painel da Insert Affiliate com valores devidos e botões Mark as Paid

Clique para ver em tamanho real

## Status de Pagamento Cada transação mostra seu status de pagamento: - Unpaid: Pagamento pendente - Paid via Stripe: Pagamento processado pelo Stripe Connect - Paid Externally: Pagamento marcado como pago fora da plataforma ## Requisitos Para usar pagamentos pelo Stripe Connect: 1. A empresa deve ter uma conta do Stripe verificada 2. O afiliado deve ter uma conta do Stripe verificada 3. Ambas as contas devem estar conectadas à plataforma Se qualquer uma das partes não tiver concluído a configuração do Stripe, o rastreamento de pagamento externo estará disponível como opção alternativa. ## Faturas de IVA (Autofaturamento) Para empresas que precisam de faturas de IVA para pagamentos de comissão de afiliados, oferecemos **faturas de autofaturamento (self-billing)**. Este recurso permite gerar automaticamente faturas de IVA em nome dos seus afiliados quando você os paga via Stripe Connect. **Principais Recursos:** - Geração automática de fatura em cada pagamento - Numeração sequencial de faturas (SB-YYYY-XXXX) - Taxas de IVA configuráveis (padrão + por afiliado) - Resumos mensais de faturas para facilitar a manutenção de registros - Os afiliados consentem com o acordo de autofaturamento [Saiba mais sobre Faturas de IVA por Autofaturamento →](/pt/paying-affiliates/self-billing-invoices) --- # Faturas de Autofaturamento com IVA Source: https://docs.insertaffiliate.com/pt/paying-affiliates/self-billing-invoices > Saiba como configurar e usar faturas de autofaturamento para pagamentos de comissões a afiliados, simplificando a conformidade com o IVA. # Faturas de Autofaturamento com IVA O autofaturamento permite que você (a empresa) crie faturas de IVA em nome dos seus afiliados ao pagar-lhes comissões. Isso simplifica a conformidade com o IVA nos pagamentos a afiliados e facilita a recuperação do IVA sobre despesas comerciais. ## O que é Autofaturamento? Em um modelo de faturamento tradicional, o fornecedor (afiliado) emitiria uma fatura para o comprador (a sua empresa) pelos serviços prestados. Com o **autofaturamento**, esse processo é invertido - você cria a fatura em nome do afiliado. Isso é especialmente útil para programas de afiliados porque: - Os afiliados não precisam criar as suas próprias faturas - Você tem faturas consistentes e padronizadas para os seus registros - A conformidade com o IVA é simplificada quando você precisa recuperar o IVA sobre pagamentos de comissões - Escala bem ao gerenciar muitos afiliados ## Requisitos Para que o autofaturamento seja válido, as seguintes condições precisam ser atendidas: 1. **Acordo**: Ambas as partes precisam concordar com o modelo de autofaturamento 2. **Registro de IVA**: Você deve ter o status de registro de IVA do afiliado 3. **Documentação**: As faturas precisam conter todas as informações exigidas para fins de IVA 4. **Manutenção de Registros**: Ambas as partes devem manter registros de todas as faturas autofaturadas - os afiliados podem acessar as suas faturas nas [Configurações de Afiliado](https://app.insertaffiliate.com/affiliate-settings) ## Configurando o Autofaturamento ### Etapa 1: Habilitar o Autofaturamento (Empresa) 1. Acesse [Settings](https://app.insertaffiliate.com/settings) → aba **Payments & Payouts** 2. Role para baixo até **"Self-Billing VAT Invoices for Affiliate Payouts"** 3. Ative **"Enable Self-Billing Invoices"** para ON 4. Configure as suas opções: - **Default VAT Rate**: Defina a porcentagem padrão de IVA (por exemplo, 20% para o IVA do Reino Unido). Você pode substituí-la por afiliado. - **Require Affiliate Consent**: Quando habilitado, os afiliados precisam aceitar o acordo de autofaturamento antes que você possa pagá-los via Stripe. ### Etapa 2: Preencher os Dados Comerciais (Empresa) Para faturas válidas, garanta que os dados de faturamento da sua empresa estejam completos em Settings (aba **Business & Profile**): - Nome comercial - Endereço comercial - Cidade e Código Postal - País - Número de IVA (se registrado para IVA) Seção de Informações da Empresa nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### Etapa 3: Configuração de Faturamento do Afiliado Quando o autofaturamento está habilitado, os afiliados verão uma nova seção **"Billing Information for VAT Invoices"** nas suas [Configurações de Afiliado](https://app.insertaffiliate.com/affiliate-settings). Os afiliados precisam fornecer: - **Business Type**: Pessoa Física/Profissional Autônomo ou Empresa/Companhia - **Business Name** ou Nome Completo - **Address, City, Postal Code, Country** - **VAT Registered**: Se estão registrados para IVA - **VAT Number**: Se registrados para IVA - **Self-Billing Consent**: Concordância com o modelo de autofaturamento ## Como o Autofaturamento Funciona ### Geração de Faturas Quando você paga um afiliado via Stripe Connect: 1. O pagamento é processado pelo Stripe 2. Se o autofaturamento estiver habilitado, uma fatura é gerada automaticamente 3. A fatura é armazenada na sua seção Billing 4. Os números das faturas seguem o formato: `SB-YYYY-XXXX` (por exemplo, SB-2024-0001) ### Conteúdo da Fatura Cada fatura de autofaturamento inclui: **Dados do Comprador** (Sua Empresa): - Nome comercial e endereço - Número de IVA - E-mail de contato **Dados do Fornecedor** (Afiliado): - Nome comercial/pessoal - Endereço - Número de IVA (se registrado) - Data do consentimento de autofaturamento **Dados do Pagamento**: - Data do pagamento - Valor da comissão - Cálculo do IVA (se aplicável) - Valor total - Referência da transação Stripe ### Status da Fatura As faturas podem ter dois status: - **Complete**: Todas as informações de faturamento exigidas estavam disponíveis quando a fatura foi gerada - **Incomplete**: Alguns dados de faturamento do afiliado estavam ausentes no momento do pagamento. Essas faturas podem não ser adequadas para fins de recuperação de IVA. ## Visualizando e Baixando Faturas ### Para Empresas (Seção Billing) Acesse as faturas de pagamento dos seus afiliados na página [Billing](https://app.insertaffiliate.com/billing): 1. Role para baixo até **"Affiliate Payout Invoices (Self-Billing)"** 2. Filtre por mês, ano, afiliado ou status 3. Veja estatísticas resumidas (totais, contagens de completas/incompletas) ### Baixando Faturas Você tem duas opções de download: **Faturas Individuais**: - Clique em "Download PDF" ao lado de qualquer fatura - Cada PDF contém a fatura de autofaturamento completa **Resumo Mensal**: - Selecione um mês e ano - Clique em "Download [Month] [Year] Summary" - Receba um PDF combinado com todas as faturas daquele período ### Para Afiliados (Configurações de Afiliado) Os afiliados podem visualizar e baixar as suas faturas de autofaturamento nas suas [Configurações de Afiliado](https://app.insertaffiliate.com/affiliate-settings): 1. Role para baixo até **"My Commission Invoices"** 2. Veja todas as faturas de qualquer empresa que tenha pago você 3. Veja o nome da empresa, a data, o valor e o status de cada fatura 4. Clique em **"Download PDF"** para baixar faturas individuais **Observação:** Esta seção só aparece quando a empresa com a qual você trabalha tem o autofaturamento habilitado. As faturas de todas as empresas são mostradas em uma lista unificada. ## Indicadores de Alerta ### Na Página All Affiliates Quando o autofaturamento está habilitado, você verá uma coluna **"Invoice"** mostrando o status de faturamento de cada afiliado: | Status | Significado | |--------|-------------| | ✓ Ready (verde) | Informações de faturamento completas, consentimento dado | | ⚡ Warning (âmbar) | Consentimento ausente ou informações incompletas | | ⚠️ Error (vermelho) | Faltam tanto as informações de faturamento quanto o consentimento | ### Antes de Pagar Se um afiliado não tiver preenchido os seus dados de faturamento e você tiver habilitado "Require Affiliate Consent": - O afiliado será solicitado a preencher os seus dados de faturamento - Você verá um alerta antes de processar o pagamento ## Configuração da Alíquota de IVA ### Alíquota de IVA Padrão Defina uma alíquota de IVA padrão para toda a empresa em Settings. Ela se aplica a todos os afiliados, a menos que seja substituída. **Alíquotas de IVA Comuns**: - Reino Unido: 20% - UE (varia por país): 17-27% - EUA: Normalmente 0% (sem IVA) ### Alíquota de IVA por Afiliado Você pode definir alíquotas de IVA personalizadas para afiliados individuais com base em: - O status de registro de IVA do afiliado - O país de residência do afiliado - Acordos fiscais especiais Defina isso na seção de informações de faturamento do afiliado. ### Quando Usar IVA de 0% Defina a alíquota de IVA como 0% quando: - O afiliado não é registrado para IVA - O afiliado está abaixo do limiar de IVA - O afiliado está em uma jurisdição sem IVA - Aplicam-se regras de reverse charge (transações B2B transfronteiriças na UE) ## Boas Práticas ### Para Empresas 1. **Preencha os seus dados comerciais primeiro** antes de habilitar o autofaturamento 2. **Defina alíquotas de IVA adequadas** com base na localização e no status de registro dos seus afiliados 3. **Exija consentimento** se você precisar de faturas completas para recuperação de IVA 4. **Baixe os resumos mensais** para os seus registros contábeis 5. **Revise as faturas incompletas** e incentive os afiliados a atualizar os seus dados ### Para Afiliados 1. **Preencha todos os campos de faturamento** para garantir faturas válidas 2. **Mantenha o status de registro de IVA atualizado** - avise a empresa se isso mudar 3. **Aceite o acordo de autofaturamento** se você concordar com o modelo 4. **Não emita as suas próprias faturas** para transações autofaturadas 5. **Acesse as suas faturas** nas suas [Configurações de Afiliado](https://app.insertaffiliate.com/affiliate-settings) - role até "My Commission Invoices" ## Solução de Problemas ### A Fatura Aparece como Incompleta **Problema**: As faturas são geradas com status "incomplete" **Solução**: - Peça ao afiliado para preencher os seus dados de faturamento em Affiliate Settings - Garanta que ele tenha aceitado o consentimento de autofaturamento - Verifique se endereço, cidade e código postal estão todos preenchidos ### Os Afiliados Não Conseguem Ver a Seção de Faturamento **Problema**: Os afiliados não veem o formulário de informações de faturamento **Solução**: - O autofaturamento precisa estar habilitado nas Settings da sua empresa - O afiliado precisa estar logado com a sua conta de afiliado - Ele precisa estar associado à sua empresa ### O Cálculo do IVA Parece Errado **Problema**: Os valores de IVA não parecem corretos **Solução**: - Verifique a alíquota de IVA padrão em Settings - Verifique as substituições de alíquota de IVA por afiliado - O IVA é calculado sobre o valor da comissão, sem incluir o próprio IVA ## Considerações Legais O autofaturamento é uma prática legítima reconhecida pelas autoridades fiscais em muitas jurisdições, mas os requisitos variam. Consulte o seu contador ou consultor fiscal sobre: - Requisitos do acordo de autofaturamento na sua jurisdição - Obrigações de manutenção de registros - Elegibilidade para recuperação de IVA - Regras de transações transfronteiriças ## Documentação Relacionada - [Pagando Afiliados](/pt/paying-affiliates) - Visão geral dos métodos de pagamento - [Configuração do Stripe Connect](/pt/paying-affiliates/stripe-connect) - Configure o Stripe para pagamentos - [Definindo Taxas de Comissão](/pt/affiliate-commission) - Configure as comissões dos afiliados --- # Integração com Stripe Connect Source: https://docs.insertaffiliate.com/pt/paying-affiliates/stripe-connect > Aprenda a configurar e usar o Stripe Connect para processar pagamentos de afiliados. # Integração com Stripe Connect O Stripe Connect permite que você processe pagamentos diretamente para seus afiliados através da nossa plataforma. Este guia ajudará você a configurar e gerenciar pagamentos com o Stripe Connect. ## Requisitos Para usar o Stripe Connect, você precisa de: 1. Uma conta Stripe verificada para sua empresa 2. Afiliados com contas Stripe verificadas 3. Ambas as contas conectadas ao Insert Affiliate ## Processo de Configuração ### Configuração da Empresa 1. Acesse [Settings](https://app.insertaffiliate.com/settings) 2. Conecte a conta Stripe da sua empresa 3. Conclua o processo de verificação do Stripe 4. Após a verificação, você pode começar a processar pagamentos Seção Stripe Connect nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### Configuração do Afiliado 1. Os afiliados precisam conectar a conta Stripe deles nas [configurações de afiliado](https://app.insertaffiliate.com/affiliate-settings) 2. Eles precisarão concluir o processo de verificação do Stripe 3. Após a verificação, eles podem receber pagamentos diretamente ## Processando Pagamentos Ao usar o Stripe Connect: 1. Clique em "Pay via Stripe" na transação 2. Insira os detalhes do pagamento no formulário seguro do Stripe 3. Após o processamento, o pagamento é automaticamente marcado como pago 4. Os afiliados recebem o pagamento diretamente em sua conta Stripe conectada ## Taxas As taxas do Stripe Connect são de aproximadamente 2,9% + $0.30 por transação. [Ver tarifas atuais](https://stripe.com/connect/pricing) ## Testando Pagamentos a Afiliados ### Nota Importante Sobre Testes **Atualmente, o Insert Affiliate funciona apenas em uma instância de produção do Stripe Connect.** Isso significa que: - Você **não pode** usar o modo de teste do Stripe ou números de cartão de teste para testar pagamentos a afiliados - Você **deve** usar métodos de pagamento reais para testar o fluxo de pagamento a afiliados - **Abordagem recomendada:** Processe um pagamento real mínimo (ex.: $0,01 ou $1,00) para verificar se a integração funciona corretamente ### Boas Práticas de Teste 1. Comece com um valor de pagamento bem pequeno para minimizar custos durante os testes 2. Garanta que tanto sua empresa quanto o afiliado de teste tenham concluído a verificação do Stripe 3. Verifique se os pagamentos aparecem corretamente tanto no painel do Insert Affiliate quanto no Stripe Dashboard 4. Confirme que os afiliados recebem os pagamentos em sua conta Stripe conectada ## Resolução de Problemas ### Problemas Comuns 1. **Verification Failed** - Garanta que todas as informações necessárias foram fornecidas - Verifique se os detalhes da empresa correspondem aos registros oficiais - Entre em contato com o suporte do Stripe se os problemas persistirem 2. **Payment Failed** - Verifique se ambas as contas estão devidamente conectadas - Verifique se há saldo suficiente - Garanta que os detalhes do pagamento estão corretos --- # Prevent Affiliate Transfer Source: https://docs.insertaffiliate.com/pt/prevent-affiliate-transfer > Proteja a atribuição do afiliado original contra sobrescrição quando os usuários clicam em links de novos afiliados. # Prevent Affiliate Transfer O recurso **Prevent Affiliate Transfer** protege a atribuição do seu afiliado original contra sobrescrição caso um usuário clique no link de um afiliado diferente após já ter sido atribuído. Isso garante que o primeiro afiliado que adquiriu um usuário sempre receba crédito pelas compras desse usuário, evitando cenários de "roubo de afiliado". --- ## Visão Geral Sem essa proteção, se o Usuário A clicar no link do Afiliado 1 e depois clicar no link do Afiliado 2 antes de comprar, o Afiliado 2 receberia a comissão — mesmo que o Afiliado 1 tenha feito o trabalho original de adquirir esse usuário. Com o **Prevent Affiliate Transfer** habilitado: - O primeiro afiliado a ser atribuído a um usuário é protegido - Cliques subsequentes em links de afiliados são silenciosamente ignorados - O afiliado original continua recebendo comissão sobre compras e renovações --- ## Casos de Uso | Cenário | Sem Proteção | Com Proteção | |----------|-------------------|-----------------| | O usuário clica no link do Afiliado A e depois no link do Afiliado B | O Afiliado B recebe o crédito | O Afiliado A mantém o crédito | | O usuário insere o Short Code A e depois o Short Code B | O Short Code B sobrescreve | O Short Code A é protegido | | Um concorrente tenta "roubar" a atribuição | Atribuição transferida | Afiliado original protegido | --- ## Configuração na Plataforma Essa configuração pode ser definida na função `initialize()` de cada SDK. **Comportamento padrão:** Desativado — novos links de afiliados podem sobrescrever a atribuição existente | Plataforma | Documentação | |----------|---------------| | React Native | [Ver documentação do SDK →](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | iOS (Swift) | [Ver documentação do SDK →](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | Android | [Ver documentação do SDK →](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#prevent-affiliate-transfer) | | Flutter | [Ver documentação do SDK →](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#prevent-affiliate-transfer) | | Unity | [Ver documentação do SDK →](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#prevent-affiliate-transfer) | --- ## Como Funciona 1. **O usuário clica no link do Afiliado A** — Atribuição armazenada localmente no dispositivo 2. **Inicialização do SDK** — `preventAffiliateTransfer: true` está definido 3. **O usuário clica no link do Afiliado B** — O SDK detecta a atribuição existente 4. **Transferência bloqueada** — O link do Afiliado B é silenciosamente ignorado 5. **O usuário compra** — O Afiliado A recebe a comissão O bloqueio acontece no nível do SDK, portanto nenhuma requisição de rede é feita para tentativas de atribuição bloqueadas. --- ## Perguntas Frequentes ### Isso afeta o Attribution Timeout? Não. A [Attribution Timeout Window](/pt/attribution-timeout) e o Prevent Affiliate Transfer são recursos independentes: - **Attribution Timeout** controla por quanto tempo um link de afiliado permanece válido para uma *primeira* compra - **Prevent Affiliate Transfer** controla se um *novo* afiliado pode sobrescrever uma atribuição *existente* Ambos podem ser usados juntos. Por exemplo, você pode definir um attribution timeout de 7 dias E habilitar o prevent transfer — o que significa que o primeiro afiliado tem 7 dias para converter o usuário, e nenhum outro afiliado pode roubar essa atribuição durante (ou após) esse período. ### E se eu quiser que os afiliados possam assumir a atribuição? Deixe o `preventAffiliateTransfer` desativado (o padrão). Isso permite que links de afiliados mais novos sobrescrevam os mais antigos, o que pode ser útil se você quiser recompensar o afiliado que engajou o usuário mais recentemente. ### Isso funciona com Short Codes? Sim. Tanto os deep links quanto os short codes inseridos manualmente respeitam essa configuração. Se um usuário já tiver um afiliado atribuído e inserir um short code diferente, o novo código será ignorado quando a proteção estiver habilitada. --- # API Pública Source: https://docs.insertaffiliate.com/pt/public-api > Use a API Pública do Insert Affiliate para gerenciar afiliados e registrar transações programaticamente a partir do seu próprio backend. # API Pública A API Pública do Insert Affiliate permite que você gerencie afiliados e registre transações de forma programática, sem precisar usar o painel. Ela foi desenvolvida para empresas que desejam automatizar o gerenciamento de afiliados ou integrar o rastreamento de afiliados diretamente em seus próprios sistemas de backend. **Somente Plano Enterprise**: A API Pública está disponível exclusivamente para clientes do [plano Enterprise](https://insertaffiliate.com/#pricing). ## O Que Você Pode Fazer - **Criar e consultar afiliados** - adicione afiliados ao seu programa ou pesquise-os por e-mail ou código curto - **Registrar transações** - registre vendas atribuídas a afiliados diretamente do seu backend, identificadas pelo endereço de e-mail ou código curto do afiliado ## Criando Chaves de API As chaves de API são gerenciadas na página de **Configurações** (aba **Integrations**) do seu painel do Insert Affiliate. 1. Acesse **Configurações** → aba **Integrations** e role até a seção [Chaves de API](https://app.insertaffiliate.com/settings#api-keys) 2. Clique em **Criar Chave de API**, dê um nome a ela e selecione os escopos necessários 3. Copie a chave imediatamente - ela só é exibida uma vez Cada chave é vinculada à sua empresa e pode ser revogada a qualquer momento na mesma página de configurações. Inclua-a nas requisições usando o cabeçalho `Authorization: Bearer `. ## Referência da API A documentação completa dos endpoints, schemas de requisição/resposta e exemplos interativos estão disponíveis na referência da API.

--- # Início Rápido (5 Minutos) Source: https://docs.insertaffiliate.com/pt/quick-start > Coloque a Insert Affiliate em funcionamento em 5 minutos. Crie seu primeiro afiliado e teste sua integração. # Início Rápido (5 Minutos) Integre a Insert Affiliate e teste sua primeira indicação de afiliado em apenas 5 minutos. Este guia foca no caminho mais rápido para a validação. ## Pré-requisitos Antes de começar, certifique-se de ter: - [Se registrado na Insert Affiliate](https://insertaffiliate.com/#pricing) e ter acesso ao [painel](https://app.insertaffiliate.com/) - Acesso ao código-fonte do seu app - Um dispositivo de teste ou simulador ## Passo 1: Escolha Seu Caminho de Integração (1 minuto) Você precisa de duas integrações para rastrear compras de afiliados: 1. **Plataforma de Deep Linking** - Rastreia qual afiliado indicou o usuário 2. **Verificação de Compra** - Verifica as compras no aplicativo ### Caminho Recomendado de Início Rápido Para a configuração mais rápida, recomendamos: - **Deep Linking**: [Insert Links](/pt/insert-links) (nossa solução integrada, sem necessidade de terceiros) - **Verificação de Compra**: [RevenueCat](/pt/revenuecat) (verificação de compra mais fácil) **Alternativa:** Se você já usa Branch.io, AppsFlyer ou outra plataforma, pode usá-las em vez disso. Consulte a [Visão Geral da Integração](/pt/integration-overview) para todas as opções. ## Passo 2: Instale o SDK (2 minutos) Escolha sua plataforma e siga as instruções de instalação: ### iOS Acesse nosso [repositório do Swift SDK no GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK) e siga as instruções de instalação. ### Android Acesse nosso [repositório do Android SDK no GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK) e siga as instruções de instalação. ### React Native Acesse nosso [repositório do React Native SDK no GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK) e siga as instruções de instalação. ### Flutter Acesse nosso [repositório do Flutter SDK no GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk) e siga as instruções de instalação. ### Unity Acesse nosso [repositório do Unity SDK no GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK) e siga as instruções de instalação. ### JavaScript / Capacitor Acesse nosso [repositório do JavaScript SDK no GitHub](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk) e siga as instruções de instalação. **Etapas principais que você vai completar:** 1. Adicione o SDK ao seu projeto 2. Inicialize o SDK com sua chave de API (encontrada nas [configurações do painel](https://app.insertaffiliate.com/settings)) 3. Configure a integração de deep linking 4. Configure a integração de verificação de compra ## Passo 3: Crie Seu Primeiro Afiliado de Teste (1 minuto) 1. Vá até a página [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) 2. Selecione **"Create Affiliate (Admin)"** 3. Insira um e-mail de teste (você pode usar um alias de e-mail como `yourname+testaffiliate@example.com`) 4. Crie um deep link: - **Se estiver usando Insert Links**: Siga o [guia do Insert Links](/pt/insert-links#enable-affiliate-self-signup) para criar um link - **Se estiver usando Branch.io**: Siga o [guia do Branch](/pt/create-affiliate#example-creating-a-link-with-branchio) para criar um link rápido - **Se estiver usando AppsFlyer**: Siga o [guia do AppsFlyer](/pt/create-affiliate#example-creating-a-link-with-appsflyer) para criar um OneLink 5. Cole o deep link no campo **Affiliate Deep Link** 6. Clique em **Create Affiliate** Você verá seu afiliado no painel com o **short code** único dele. ## Passo 4: Teste a Integração (1 minuto) Agora teste se tudo funciona: ### Opção A: Teste com Short Code (Recomendado para Validação Rápida) A maneira mais rápida de testar é usar o [short code](/pt/short-codes) do afiliado: 1. Compile e execute seu app em um dispositivo de teste ou simulador 2. Implemente uma forma de inserir manualmente o short code (consulte a [documentação de Short Codes](/pt/short-codes)) 3. Insira o short code do seu afiliado de teste 4. Faça uma compra de teste (use o modo sandbox/teste) 5. Verifique seu [painel da Insert Affiliate](https://app.insertaffiliate.com/) - você deverá ver a transação aparecer Visão geral do painel da Insert Affiliate com métricas, gráficos e principais afiliados

Clique para ver em tamanho real

### Opção B: Teste com Deep Link 1. Clique no deep link do afiliado no seu dispositivo de teste 2. Seu app deverá abrir (ou ser instalado, se estiver usando TestFlight/teste interno) 3. Faça uma compra de teste (use o modo sandbox/teste) 4. Verifique seu [painel da Insert Affiliate](https://app.insertaffiliate.com/) - você deverá ver a transação aparecer ## Resolução de Problemas Se sua transação de teste não aparecer: 1. **Ative o registro detalhado (verbose logging)** no SDK (consulte a documentação do SDK da sua plataforma) 2. **Verifique se o short code está armazenado** - Registre o short code depois de defini-lo 3. **Verifique a configuração da verificação de compra** - Certifique-se de estar passando o identificador do afiliado corretamente 4. **Leia nosso guia detalhado de resolução de problemas** - Consulte [Resolução de Problemas](/pt/troubleshooting) para depuração passo a passo ## Próximos Passos Agora que sua integração está funcionando: 1. **Configure os testes em sandbox** - Leia [Testes e Modo Sandbox](/pt/testing-sandbox) 2. **Configure as taxas de comissão** - Consulte [Definindo Taxas de Comissão](/pt/affiliate-commission) 3. **Ative o autocadastro de afiliados** - Permita que os afiliados se cadastrem sem sua intervenção manual: [Autocadastro de Afiliados](/pt/create-affiliate-affiliate-self-signup) 4. **Conheça os recursos avançados** - Explore [Recursos e Ferramentas](/pt/app-affiliate-marketplace) ## Precisa de Ajuda? - Revise a [Visão Geral da Integração](/pt/integration-overview) completa para explicações detalhadas - Consulte [Problemas Comuns e Soluções](/pt/troubleshooting) para ajuda com depuração - Entre em contato com o suporte pelo seu [painel](https://app.insertaffiliate.com/) --- # Janela de Atribuição de Renovação Source: https://docs.insertaffiliate.com/pt/renewal-attribution-window > Configure por quanto tempo os afiliados continuam a ganhar comissão sobre renovações ou pagamentos recorrentes após a venda inicial. # Janela de Atribuição de Renovação > **Importante:** Esta configuração **NÃO está disponível** para usuários de verificação de recibos do Apphud e Iaptic. A **Renewal Attribution Window** define por quanto tempo um afiliado continua a receber comissão sobre **renovações ou pagamentos recorrentes relacionados a uma transação específica**. Em vez de os afiliados ganharem comissão indefinidamente sobre todas as renovações de assinatura, agora você pode definir **limites de tempo** para controlar custos e criar arranjos de parceria flexíveis. Por exemplo, se você definir um tempo limite de 30 dias, os afiliados só ganham comissão sobre renovações que ocorrem dentro de 30 dias da compra original. Esta configuração *não* estende a atribuição a todas as compras futuras do mesmo usuário — ela se aplica **apenas ao evento de compra original e às suas renovações subsequentes**. --- ## Quando a janela começa a contar A janela é medida a partir do momento em que o afiliado conquistou o cliente, não a partir da idade do recibo do cliente. Isso importa porque as lojas de aplicativos mantêm uma única cadeia de recibos para uma assinatura, mesmo quando o cliente para de pagar e volta mais tarde. No iOS, um assinante que deixou a assinatura expirar e volta a assinar no mesmo grupo de assinaturas continua o recibo original, então a compra chega como uma renovação de uma assinatura que pode ter começado anos atrás. Se a janela fosse medida a partir dessa compra original, um cliente que retorna nunca estaria dentro dela. Portanto, uma nova janela começa sempre que: - o cliente faz uma **compra inicial** - o cliente **resgata um código de oferta ou uma oferta promocional** (uma ação que ele precisou tomar, por isso conta como uma nova conversão) - o cliente **volta a assinar depois que a assinatura expirou**, ou seja, houve uma interrupção real no acesso Renovações de uma assinatura contínua não reiniciam a janela. Uma renovação que chega atrasada por causa de uma nova tentativa de cobrança ou de um período de tolerância de cobrança ainda faz parte da mesma assinatura e também não a reinicia. ### Campanhas de recuperação Como um resgate inicia uma nova janela, você pode fazer campanhas de recuperação com criadores usando uma janela curta. Um cliente que deixa a assinatura expirar e depois resgata o código de oferta de um criador inicia uma nova atribuição, então o criador é pago por trazê-lo de volta, mesmo que a compra original do cliente esteja há muito tempo fora da janela. --- ## Visão Geral Quando um usuário faz uma compra inicial que é atribuída com sucesso a um afiliado (dentro da **Click Attribution Window**), esse afiliado também pode receber uma parcela da receita de futuras **renovações dessa mesma assinatura ou transação**. A **Renewal Attribution Window** especifica por quanto tempo esse compartilhamento de receita baseado em renovações permanece ativo. Você pode configurar isso em dois níveis: - **Padrões para toda a empresa** que se aplicam automaticamente a todos os afiliados - **Configurações personalizadas por afiliado** que substituem o padrão da empresa para arranjos especiais Quando a janela configurada expira, quaisquer renovações adicionais não gerarão mais comissão de afiliado, dando a você controle preciso sobre os custos de comissão de longo prazo. --- ## Atribuição por Clique vs Atribuição de Renovação | Configuração | Aplica-se A | Descrição | |----------|-------------|--------------| | **Click Attribution Window** | Primeira compra | Tempo permitido entre o clique no link do afiliado e a compra inicial. | | **Renewal Attribution Window** | Renovações dessa compra | Período de tempo após a *venda inicial* durante o qual as renovações dessa mesma transação continuam a recompensar o afiliado. | --- ## Configuração do Painel O recurso Renewal Attribution Window oferece um **sistema de configuração em dois níveis** que lhe dá controle total sobre os tempos limite de comissão, mantendo a simplicidade operacional. ### 1. Configurações Padrão para Toda a Empresa **Localização:** [Company Settings](https://app.insertaffiliate.com/settings) → Renewal Attribution Timeout - **Objetivo:** Define o tempo limite padrão para TODOS os afiliados da sua empresa - **Caso de Uso:** Estabelecer uma política de referência (por exemplo, "Todos os afiliados ganham comissão por 60 dias após a venda inicial") - **Alternativa:** Esta configuração é usada quando um afiliado não tem um tempo limite personalizado definido Seção Affiliate Revenue Settings nas configurações do painel da Insert Affiliate mostrando a janela de atribuição de renovação

Clique para ver em tamanho real

### 2. Configurações Personalizadas por Afiliado **Localização:** [Affiliates](https://app.insertaffiliate.com/affiliates) → Detalhes Individuais do Afiliado → Renewal Attribution Settings - **Objetivo:** Substituir o padrão da empresa para afiliados específicos - **Caso de Uso:** Arranjos especiais para afiliados VIP ou diferentes níveis de parceria - **Prioridade:** Sempre tem precedência sobre as configurações de toda a empresa ### Como Funciona 1. **Defina o Padrão da Empresa:** Configure o tempo limite padrão de toda a empresa (por exemplo, 30 dias) 2. **Aplicação Automática:** A maioria dos afiliados usará automaticamente esse limite padrão 3. **Substituições Personalizadas:** Para afiliados especiais, defina tempos limite personalizados (por exemplo, 90 dias para os melhores desempenhos, 7 dias para afiliados de teste) 4. **Processamento Automatizado:** O sistema aplica automaticamente o tempo limite apropriado ao processar renovações de assinatura **Importante:** Deixar a janela de atribuição de renovação **vazia** ou **limpar o valor** significa que os afiliados receberão comissão sobre renovações **indefinidamente** — não há limite de tempo para as comissões de renovação. ### Exemplo de Configuração | Tipo de Afiliado | Configuração | Janela de Comissão | |----------------|---------|-------------------| | Padrão da Empresa | 30 dias | Política padrão para todos os novos afiliados | | Afiliado A | Usa o padrão | 30 dias (herda a configuração da empresa) | | Afiliado B (VIP) | Substituição personalizada | 90 dias (estendido para o melhor desempenho) | | Afiliado C (Teste) | Substituição personalizada | 7 dias (reduzido para o período de teste) | | Afiliado D (Premium) | Valor vazio/limpo | **Indefinido** (sem limite de tempo para renovações) | ### Benefícios - **Controle de Custos:** Evite pagamentos de comissão indefinidos em assinaturas de longa duração - **Parcerias Flexíveis:** Recompense os melhores afiliados com janelas de comissão mais longas - **Gestão Simples:** Defina uma vez no nível da empresa, personalize apenas quando necessário - **Eficiência Operacional:** Aplicação automatizada baseada na hierarquia de configuração --- ## Limitando por quantidade: Renovações Comissionáveis por Conversão A janela limita a comissão por **tempo**. Se o que você realmente quer é pagar a um criador um número fixo de vezes por cliente, use **Renovações Comissionáveis por Conversão**, que limita por **quantidade**. Defina como `1` e um criador é pago uma vez por cliente que trouxer, por mais tempo que esse cliente permaneça assinante. Deixe em branco e todas as renovações geram comissão, que é o padrão. ### Por que preferir contar Um acordo comum com criadores é "uma comissão por cliente que você nos trouxer". Expressar isso como uma janela de tempo é complicado: você precisa adivinhar uma duração que se alinhe ao seu período de cobrança, e a resposta muda se você vende planos mensais e anuais lado a lado. Contar renovações expressa o acordo diretamente. Uma renovação paga é uma renovação paga, seja a assinatura mensal ou anual. Também é a opção natural quando a sua oferta para criadores é um **primeiro período gratuito**. O cadastro em si não vale nada, então o que você quer pagar é a primeira renovação em que o cliente realmente paga, que ocorre dois períodos após a adesão, e não um. ### O que conta para o limite Apenas renovações **pagas** contam. - Um teste gratuito não conta - Um mês promocional gratuito de um código de oferta não conta - A conversão ao final de um teste **conta**, porque é a primeira vez que o cliente paga Assim, um criador que oferece um primeiro mês gratuito é pago no primeiro mês que o cliente realmente paga, e não no gratuito. ### Quando a contagem reinicia A contagem é mantida por conversão, não por cliente para sempre. Ela reinicia exatamente nos mesmos eventos que iniciam uma nova janela, descritos em [Quando a janela começa a contar](#quando-a-janela-comeca-a-contar): uma nova compra inicial, o resgate de um código de oferta ou uma nova assinatura após o vencimento. Assim, um criador que recupera um cliente perdido um ano depois ganha a comissão novamente por essa nova conversão. ### Configuração Os dois níveis funcionam da mesma forma que a janela: - **Padrão da empresa:** [Configurações da Empresa](https://app.insertaffiliate.com/settings) → Renovações Comissionáveis por Conversão - **Substituição por afiliado:** [Afiliados](https://app.insertaffiliate.com/affiliates) → Detalhes do Afiliado → Renovações Comissionáveis por Conversão | Tipo de Afiliado | Configuração | Resultado | |------------------|--------------|-----------| | Padrão da Empresa | 1 | Todo afiliado é pago na primeira renovação paga por cliente | | Afiliado A | Usa o padrão | Pago uma vez por cliente convertido | | Afiliado B (VIP) | Substituição de 6 | Pago nas primeiras seis renovações pagas por cliente | | Afiliado C | Valor vazio/limpo | Pago em todas as renovações, sem limite | ### Usando as duas em conjunto As duas configurações funcionam juntas, e uma renovação precisa satisfazer **ambas** para gerar comissão. | Objetivo | Configuração | |----------|--------------| | Pagar uma vez por cliente convertido | Renovações comissionáveis = 1, janela vazia | | Pagar pelo primeiro ano de cada assinatura | Renovações comissionáveis vazia, janela = 1 ano | | Pagar até 3 renovações, mas apenas dentro do primeiro ano | Renovações comissionáveis = 3, janela = 1 ano | ### Alterando qualquer uma das configurações depois Ambos os limites são aplicados quando você visualiza as transações, e não congelados quando elas chegam. Se você aumentar o limite de 1 para 3, ou ampliar a janela, as renovações antes excluídas passam a ser pagáveis imediatamente, inclusive as registradas meses atrás. Reduzir qualquer um deles funciona da mesma forma, no sentido inverso. Nada é recalculado nem perdido nesse processo. As renovações acima do limite continuam registradas para o afiliado, de modo que o histórico da assinatura permanece completo. Elas aparecem como não gerando comissão e não são incluídas no saldo a pagar do afiliado. --- # Como Funciona a Cobrança por Participação na Receita | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/revenue-share-billing > Como a Insert Affiliate calcula a participação na receita nos planos Revenue Share: como o percentual é aplicado, o que conta como receita rastreada por afiliados, renovações, moeda e quando é cobrado. Com exemplo prático. # Como Funciona a Cobrança por Participação na Receita A Insert Affiliate oferece duas formas de pagar pela plataforma: um preço mensal fixo, ou um **plano Revenue Share** com uma taxa base mensal menor mais um percentual da receita que seus afiliados geram. Esta página explica exatamente como esse percentual é calculado para que não haja surpresas na sua fatura. Isso é separado da comissão que você paga aos seus afiliados. Para isso, veja o [Guia de Comissão de Afiliados](/pt/affiliate-commission). ## O que você paga Cada plano Revenue Share tem duas partes: - uma **taxa base mensal**, um valor fixo cobrado todo mês - um **percentual de participação na receita**, aplicado sobre a receita que seus afiliados geram A taxa base e o percentual são diferentes em cada plano: os níveis mais altos têm uma taxa base maior e um percentual menor. Os planos Enterprise Plus têm um percentual negociado. As taxas base e os percentuais atuais estão sempre na [página de preços](https://insertaffiliate.com/pt#pricing) e na sua [página de Cobrança](https://app.insertaffiliate.com/billing); este guia explica apenas como o percentual é aplicado. Os planos Revenue Share são cobrados mensalmente; a cobrança anual está disponível apenas nos planos de preço fixo. ## O que conta como receita rastreada por afiliados A participação na receita é aplicada a toda compra que a Insert Affiliate atribui a um dos seus afiliados. Isso significa: - **Compras iniciais e renovações.** Uma assinatura indicada por um afiliado continua contando enquanto for renovada, porque essa receita continua vindo da indicação do afiliado. Isso vale mesmo que você tenha definido uma [janela de atribuição de renovações](/pt/renewal-attribution-window) ou um limite de renovações para a comissão do afiliado. Essas configurações limitam o que você paga ao afiliado, não o que foi atribuído. - **Todas as fontes de compra.** App Store, Google Play, RevenueCat, Adapty, Apphud, Iaptic e transações web via Stripe são tratadas da mesma forma. - **Apenas transações de produção.** Compras em sandbox e de teste nunca são cobradas. Compras sem afiliado associado, receita orgânica e qualquer coisa fora do rastreamento da Insert Affiliate não são incluídas. ## Valor bruto, antes das taxas das lojas O percentual é aplicado ao **preço bruto da transação**: o valor que o cliente pagou, antes de a Apple, o Google ou a Stripe descontarem sua parte. Isso vale independentemente da configuração de [dedução de taxas da plataforma](/pt/affiliate-commission#dedução-de-taxas-da-plataforma). Essa configuração altera apenas a base de cálculo da comissão dos seus afiliados. A participação na receita é sempre sobre o valor bruto. ## Moeda Sua taxa base e a participação na receita são cobradas na moeda da sua assinatura. Compras atribuídas em outras moedas são convertidas para a sua moeda de cobrança pela taxa de câmbio vigente no momento em que a compra é registrada, e o percentual é aplicado ao valor convertido. ## Quando é cobrado A participação na receita acumula conforme cada compra atribuída é registrada e é adicionada à sua fatura mensal normal como uma linha de uso, junto com a taxa base. Nada é cobrado separadamente ou antecipadamente. Você pode ver o valor acumulado no período atual a qualquer momento em **Revenue Share Billing** na [página de Cobrança](https://app.insertaffiliate.com/billing), com detalhamento por transação. Se você trocar de plano no meio de um período, a participação na receita acumulada até aquele momento é liquidada na fatura da troca. ## Exemplo prático Os valores abaixo são apenas ilustrativos. Sua taxa base e seu percentual reais dependem do seu plano. Digamos que seu plano seja **£X por mês + Y%**, e em um mês seus afiliados gerem: | Compras | Valor bruto | |---------|-------------| | 120 novas assinaturas anuais a £49,99 | £5.998,80 | | 300 renovações mensais a £9,99 | £2.997,00 | | **Receita atribuída total** | **£8.995,80** | Participação na receita: £8.995,80 × Y%. Com um percentual de 5%, isso dá £449,79. Sua fatura do mês: £X de taxa base + £449,79 de participação na receita. A comissão da Apple e do Google sobre essas compras não reduz o valor, e a comissão que você paga aos seus afiliados é separada e paga por você diretamente a eles. ## Perguntas frequentes **Existe um mínimo ou um teto?** Não. Você paga a taxa base mais o percentual do que seus afiliados realmente geram. Se não gerarem nada em um mês, você paga apenas a taxa base. **Pagamentos em cascata (daisy chain) ou auto-chunk aos afiliados contam?** Não. A participação na receita é baseada nas compras dos clientes, não no que você paga aos seus afiliados. Pagar comissão a dois afiliados por uma compra não a cobra duas vezes. **Posso ver como um valor foi calculado?** Sim. O detalhamento de participação na receita na página de Cobrança lista cada transação atribuída no período com seu valor bruto, o percentual aplicado e a cobrança resultante. **Posso alternar entre preço fixo e Revenue Share?** Sim, pela [página de Cobrança](https://app.insertaffiliate.com/billing). Qualquer participação na receita acumulada até a troca é faturada naquele momento. --- # Guia de configuração do RevenueCat Source: https://docs.insertaffiliate.com/pt/revenuecat > Configure o RevenueCat pronto para criar um novo afiliado com o Insert Affiliate # Configurando o RevenueCat Para começar, [crie uma conta no RevenueCat](https://app.revenuecat.com/signup). Depois de criar uma conta, siga o guia de configuração do RevenueCat, que pode ser [encontrado aqui](https://www.revenuecat.com/docs/welcome/projects). Se você encontrar algum problema ao configurar sua conta do RevenueCat, confira a seção de [Suporte do RevenueCat](https://www.revenuecat.com/docs/revenuecat-support/support-first-steps) para obter ajuda. ## Configuração no iOS ### 1. Instale os pacotes necessários e conclua a configuração Para instalar o SDK Swift do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## Configuração no Android Para instalar o SDK Android do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK) Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## Configuração no React Native Para instalar o SDK React Native do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## Configuração no Flutter Para instalar o SDK Flutter do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-1-revenuecat-recommended). ## Configuração no Javascript / Capacitor Para instalar o SDK Javascript do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas de código exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-1-revenuecat). ## Configuração no Unity Para instalar o SDK Unity do Insert Affiliate, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). Todas as alterações de código necessárias estão descritas em detalhes com exemplos no repositório do GitHub. As alterações específicas exigidas pelo Insert Affiliate para a configuração do RevenueCat podem ser encontradas [aqui.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-1-revenuecat) --- # RevenueCat Stripe Billing Source: https://docs.insertaffiliate.com/pt/revenuecat-stripe-billing > Acompanhe assinaturas web gerenciadas pelo RevenueCat com a integração Stripe Billing usando a atribuição por webhook do Insert Affiliate. # RevenueCat Stripe Billing Acompanhe comissões em assinaturas web gerenciadas pela [integração Stripe Billing do RevenueCat](https://www.revenuecat.com/docs/web/integrations/stripe) - combinando o gerenciamento de assinaturas do RevenueCat com o processamento de pagamentos do Stripe. Ao habilitar o rastreamento do **RevenueCat Stripe Billing**, você pode atribuir assinaturas web a afiliados enquanto o RevenueCat gerencia o ciclo de vida das assinaturas. ## O que você pode acompanhar Uma vez configurado, o Insert Affiliate acompanha automaticamente: - Assinaturas web do RevenueCat processadas via Stripe - Compras iniciais de assinatura - Renovações de assinatura - Todas as transações gerenciadas pelo web billing do RevenueCat --- ## Pré-requisitos Antes de configurar o rastreamento do Insert Affiliate, você precisa ter: - **RevenueCat Web SDK** instalado e configurado - **RevenueCat Stripe Billing** configurado e conectado à sua conta Stripe - **Sua própria página de checkout hospedada** onde o SDK do Insert Affiliate possa ser executado - Uma conta Stripe pronta para conectar via Stripe Connect **Importante:** O Insert Affiliate exige que o seu checkout seja hospedado no seu próprio domínio. O SDK precisa ser executado na sua página para capturar a atribuição do afiliado antes das compras. --- ## Configuração do Webhook do RevenueCat **Importante:** Ao configurar o seu webhook do RevenueCat para enviar eventos ao Insert Affiliate, você deve **enviar apenas eventos da App Store e da Google Play Store** - não eventos do Stripe ou de Web Billing. Como o Insert Affiliate recebe eventos do Stripe diretamente por meio do Stripe Connect (configurado na Etapa 2 abaixo), enviar eventos de webhook do RevenueCat para transações de Stripe/Web Billing resultaria em rastreamento duplicado de transações. **Para configurar o seu webhook do RevenueCat:** 1. Acesse o seu painel do RevenueCat → Project Settings → Integrations → Webhooks 2. Ao configurar o webhook do Insert Affiliate, configure-o para **enviar apenas eventos de:** - **App Store** (iOS) - **Google Play Store** (Android) 3. **Não** inclua eventos do Stripe ou de Web Billing nesse webhook Isso garante uma atribuição limpa: transações móveis são rastreadas via webhooks do RevenueCat, enquanto transações web são rastreadas via Stripe Connect. --- ## Guia de Configuração ### Etapa 1: Habilitar Pagamentos Web 1. Acesse [Settings → Web Transactions](https://app.insertaffiliate.com/settings#web-based-transactions) na aba **Payments & Payouts** 2. Altere o **Web Transaction Method** de "Disabled" para **"Stripe Web Payments"** 3. Clique em **"Save Settings"** Seção Web Based Transactions nas configurações do painel da Insert Affiliate com o menu do método de transação web destacado

Clique para ver em tamanho real

### Etapa 2: Configurar o Stripe Connect Antes de poder rastrear transações web, você precisa conectar a sua conta Stripe: 1. Acesse [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) na aba **Payments & Payouts** 2. Clique em **"Connect with Stripe"** 3. Conclua o processo de onboarding do Stripe: - Faça login na sua conta Stripe existente (a mesma conectada ao RevenueCat) - Forneça as informações comerciais necessárias - Envie os documentos de verificação (se solicitado) 4. Você será redirecionado de volta ao Insert Affiliate ao concluir **Indicadores de status:** - **Active:** Sua conta Stripe está totalmente conectada e pronta - **Restricted:** Informações adicionais necessárias - clique em "Continue Onboarding" - **Pending:** Documentos em análise (normalmente de 1 a 2 dias úteis) ✅ **Uma vez que a sua conta Stripe esteja conectada, o Insert Affiliate receberá automaticamente todos os eventos do Stripe das suas transações do RevenueCat.** --- ## Implementação: Passando Códigos de Afiliado ### Etapa 1: Instalar o SDK do Insert Affiliate Adicione o SDK do Insert Affiliate à sua página de checkout web: ```bash npm install insert-affiliate-js-sdk ``` ### Etapa 2: Inicializar o SDK Inicialize o SDK na sua página de checkout antes que os usuários concluam as compras: ```javascript // Initialize SDK with your company code await InsertAffiliate.initialize('your_company_code'); ``` ### Etapa 3: Passar os Dados do Afiliado para o Stripe Checkout Ao criar uma sessão do Stripe Checkout, inclua ambos os campos obrigatórios nos **três locais de metadados** para garantir o rastreamento correto: ```javascript // Get the current affiliate identifier and company ID const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(); const companyId = await InsertAffiliate.returnCompanyId(); // Create Stripe checkout session with metadata const session = await stripe.checkout.sessions.create({ line_items: [ { price: 'price_1234', quantity: 1, }, ], mode: 'subscription', success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', // 1. Session metadata (available in checkout.session.completed event) metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, // 2. Subscription metadata (persists with subscription) subscription_data: { metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, }, // 3. Payment Intent metadata (available on each payment) payment_intent_data: { metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, }, }); ``` ### Campos de Metadados Obrigatórios Ambos os campos a seguir são **obrigatórios** para a correta atribuição de afiliados: - `insertAffiliate` - O código curto (identificador) do afiliado - `insertAffiliateCompanyId` - O ID da sua empresa no Insert Affiliate Esses campos precisam ser passados nos **três locais de metadados** (sessão, assinatura e payment intent) para garantir que o Insert Affiliate possa rastrear e atribuir os pagamentos corretamente. --- ## Como Funciona em Conjunto 1. **RevenueCat** gerencia o ciclo de vida da assinatura (testes, renovações, cancelamentos) 2. **Stripe** processa os pagamentos efetivos 3. **Insert Affiliate** rastreia a atribuição de afiliados por meio dos metadados do Stripe 4. **Seu checkout hospedado** executa o SDK do Insert Affiliate para capturar a atribuição Como você conectou a sua conta Stripe via Stripe Connect (Etapa 2), o Insert Affiliate recebe automaticamente todos os eventos do Stripe - incluindo os de assinaturas do RevenueCat - e lê os campos de metadados para creditar os afiliados. --- ## Como Obter os Valores Necessários Você precisa recuperar ambos os valores do SDK do Insert Affiliate. O SDK lida automaticamente com a detecção de deep links e a atribuição de afiliados. ### Obtendo o Identificador do Afiliado O identificador do afiliado pode vir de várias fontes: - **Deep linking**: Quando um usuário clica em um link de afiliado, capture o identificador por meio da sua [plataforma de deep linking](/pt/settings-deep-linking-platform) - **Código curto**: Os usuários podem inserir ou aplicar manualmente um código curto de afiliado - **Parâmetros de URL**: Detectados automaticamente pelo SDK [Ver documentação do JS SDK →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) ### Obtendo o Company ID O ID da sua empresa no Insert Affiliate também é obrigatório. [Ver documentação do JS SDK →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returncompanyid-1) ### Passando para o Seu Backend Envie ambos os valores ao seu backend ao criar sessões de checkout: ```javascript const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_1234', insertAffiliate: affiliateId, insertAffiliateCompanyId: companyId, successUrl: window.location.origin + '/success', cancelUrl: window.location.origin + '/cancel', }), }); ``` --- ## Testando a Sua Configuração 1. Habilite o Stripe Web Payments nas suas [configurações](https://app.insertaffiliate.com/settings#web-based-transactions) 2. Conecte a sua conta Stripe via [Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) (aba **Payments & Payouts**) 3. Inicialize o SDK do Insert Affiliate na sua página de checkout 4. Faça uma compra de teste com ambos os campos obrigatórios (`insertAffiliate` e `insertAffiliateCompanyId`) nos metadados 5. Verifique o seu [painel de transações](https://app.insertaffiliate.com/affiliates) para confirmar que a transação aparece --- ## Solução de Problemas ### Transações Não Aparecem Verifique estes problemas comuns: - **Status do Stripe Connect**: Verifique se a sua conta Stripe aparece como "Active" nas [configurações](https://app.insertaffiliate.com/settings#stripe-connect) (aba **Payments & Payouts**) - **Pagamentos Web habilitados**: Confirme que "Stripe Web Payments" está selecionado nas [configurações](https://app.insertaffiliate.com/settings#web-based-transactions) - **Campos de metadados obrigatórios**: Confirme que você está passando **ambos** `insertAffiliate` e `insertAffiliateCompanyId` nos três locais de metadados (session, subscription_data, payment_intent_data) - **Inicialização do SDK**: Garanta que o SDK do Insert Affiliate esteja inicializado corretamente na sua página de checkout e retornando valores válidos - **Conexão Stripe do RevenueCat**: Verifique se o RevenueCat está conectado corretamente à mesma conta Stripe que você conectou via Stripe Connect - **Checkout hospedado**: Confirme que o SDK do Insert Affiliate está sendo executado na sua própria página de checkout hospedada (não em uma página hospedada por terceiros) ### O SDK Não Detecta o Afiliado - **Configuração do deep link**: Verifique se a sua [plataforma de deep linking](/pt/settings-deep-linking-platform) está configurada corretamente - **Parâmetros de URL**: Verifique se os links de afiliado incluem o parâmetro `insertAffiliate` correto - **Momento da inicialização do SDK**: Garanta que o SDK seja inicializado antes de os usuários chegarem à sua página de checkout --- ## O Que Acontece em Seguida Uma vez configurado: 1. Compras com metadados de afiliado criam automaticamente registros de comissão 2. Veja todas as transações no seu [painel](https://app.insertaffiliate.com/affiliates) 3. Configure as [taxas de comissão](/pt/affiliate-commission) por afiliado 4. Configure [métodos de pagamento](/pt/paying-affiliates) para pagar os seus afiliados 5. O RevenueCat continua a gerenciar as assinaturas enquanto o Insert Affiliate rastreia a atribuição --- # RevenueCat Web Billing Source: https://docs.insertaffiliate.com/pt/revenuecat-web-billing > Rastreie assinaturas web usando o RevenueCat Web SDK com a atribuição baseada em parâmetros UTM do Insert Affiliate. # RevenueCat Web Billing Rastreie comissões em assinaturas web usando o [RevenueCat Web SDK com Web Billing](https://www.revenuecat.com/docs/web/web-billing/overview) - gerenciando assinaturas diretamente pela plataforma web do RevenueCat. Ao ativar o rastreamento do **RevenueCat Web Billing**, você pode atribuir assinaturas web a afiliados passando parâmetros UTM como metadados de compra. ## O que você pode rastrear Uma vez configurado, o Insert Affiliate rastreia automaticamente: - Assinaturas web do RevenueCat feitas através do Web SDK - Compras iniciais de assinatura - Renovações de assinatura - Todas as transações gerenciadas pelo sistema de web billing do RevenueCat --- ## Pré-requisitos Antes de configurar o rastreamento do Insert Affiliate, você precisa ter: - **RevenueCat Web SDK** instalado e configurado - **RevenueCat Web Billing** configurado com o Stripe - **Insert Affiliate SDK** inicializado na sua página - **Stripe Connect** configurado no seu painel do Insert Affiliate --- ## Configuração do webhook do RevenueCat **Importante:** Ao configurar o seu webhook do RevenueCat para enviar eventos ao Insert Affiliate, você deve **enviar apenas eventos da App Store e da Google Play Store** - não eventos do Stripe ou do Web Billing. Como o Insert Affiliate recebe eventos do Stripe diretamente através do Stripe Connect (configurado na Etapa 1 abaixo), enviar eventos de webhook do RevenueCat para transações do Stripe/Web Billing resultaria em rastreamento duplicado de transações. **Para configurar o seu webhook do RevenueCat:** 1. Acesse o seu painel do RevenueCat → Project Settings → Integrations → Webhooks 2. Ao configurar o webhook do Insert Affiliate, configure-o para **enviar eventos apenas para:** - **App Store** (iOS) - **Google Play Store** (Android) 3. **Não** inclua eventos do Stripe ou do Web Billing neste webhook Isso garante uma atribuição limpa: transações móveis são rastreadas via webhooks do RevenueCat, enquanto transações web são rastreadas via Stripe Connect. --- ## Guia de configuração ### Etapa 1: Conecte sua conta do Stripe via Stripe Connect Como o RevenueCat Web Billing usa o Stripe nos bastidores, você precisa conectar sua conta do Stripe ao Insert Affiliate: 1. Acesse [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) na aba **Payments & Payouts** 2. Clique em **"Connect with Stripe"** 3. Conclua o processo de onboarding do Stripe: - Faça login na sua conta existente do Stripe (a mesma conectada ao RevenueCat) - Forneça as informações comerciais necessárias - Envie os documentos de verificação (se solicitado) 4. Você será redirecionado de volta ao Insert Affiliate quando concluir **Indicadores de status:** - **Active:** Sua conta do Stripe está totalmente conectada e pronta - **Restricted:** Informações adicionais necessárias - clique em "Continue Onboarding" - **Pending:** Documentos em análise (geralmente 1-2 dias úteis) ✅ **Assim que sua conta do Stripe estiver conectada, o Insert Affiliate receberá automaticamente os eventos do Stripe das transações do RevenueCat.** --- ## Implementação: Integração do SDK ### Etapa 1: Instale o SDK do Insert Affiliate Adicione o SDK do Insert Affiliate à sua aplicação web: ```bash npm install insert-affiliate-js-sdk ``` ### Etapa 2: Inicialize ambos os SDKs Inicialize tanto o SDK do Insert Affiliate quanto o RevenueCat Web SDK: ```javascript // Initialize Insert Affiliate SDK await InsertAffiliate.initialize('your_company_code'); // Initialize RevenueCat Web SDK const purchases = Purchases.configure('your_revenuecat_web_api_key'); ``` ### Etapa 3: Passe os dados do afiliado durante a compra Antes de fazer uma compra, recupere o identificador do afiliado e o ID da empresa, depois passe-os como parâmetros UTM nos metadados da compra: ```javascript // Get the current affiliate identifier and company ID // Use ignoreTimeout: true to get the identifier even if attribution window expired const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(true); const companyId = await InsertAffiliate.returnCompanyId(); console.log('Affiliate ID:', affiliateId || 'none'); console.log('Company ID:', companyId || 'none'); // Prepare metadata with UTM parameters for RevenueCat Web Billing const metadata: Record = {}; if (affiliateId && affiliateId !== 'none') { metadata.utm_source = 'insertAffiliate'; metadata.utm_medium = companyId || 'none'; metadata.utm_campaign = affiliateId; } console.log('Purchase metadata:', JSON.stringify(metadata, null, 2)); // Get offerings and select a package const offerings = await purchases.getOfferings(); const selectedPackage = offerings.current?.availablePackages[0]; if (!selectedPackage) { console.error('No packages available'); return; } // Make the purchase with metadata const { customerInfo } = await purchases.purchase({ rcPackage: selectedPackage, metadata: metadata, }); console.log('Purchase successful!'); console.log('Active entitlements:', Object.keys(customerInfo.entitlements.active)); ``` ### Parâmetros UTM obrigatórios Os seguintes parâmetros UTM são obrigatórios para a atribuição correta do afiliado: - **`utm_source`**: Sempre definido como `'insertAffiliate'` para identificar conversões do Insert Affiliate - **`utm_medium`**: O ID da sua empresa no Insert Affiliate - **`utm_campaign`**: O identificador do afiliado (código curto) **Observações importantes:** - Sempre chame `returnInsertAffiliateIdentifier()` e `returnCompanyId()` **antes** de iniciar a compra - Inclua os parâmetros UTM nos metadados apenas se existir um identificador de afiliado - Os metadados serão enviados com a compra e estarão disponíveis nos eventos de webhook do RevenueCat --- ## RevenueCat Web Purchase Links Se você está usando [RevenueCat Web Purchase Links](https://www.revenuecat.com/docs/web/web-billing/web-purchase-links) para campanhas online (como e-mail marketing, redes sociais ou promoções de afiliados), você **deve** anexar os parâmetros UTM para garantir o rastreamento correto do afiliado. **Importante:** Isso também se aplica se você está usando [RevenueCat Paywalls](https://www.revenuecat.com/docs/tools/paywalls) no seu app móvel com um fluxo app-para-web. O recurso nativo de Paywalls do RevenueCat não suporta a passagem de metadados personalizados em plataformas móveis, então você deve usar uma destas abordagens: 1. **Redirecionar para Web Purchase Links** - Em vez de usar a interface de Paywall do RevenueCat, direcione os usuários para um Web Purchase Link com os parâmetros UTM anexados (abordagem recomendada) 2. **Construir um Paywall personalizado** - Crie sua própria interface de paywall que busca offerings e chama o método de compra com os metadados diretamente ### Como funciona Os RevenueCat Web Purchase Links são páginas de pagamento hospedadas que permitem vender assinaturas sem construir seu próprio fluxo de checkout. Para rastrear a atribuição do afiliado, anexe os parâmetros UTM a esses links. ### Parâmetros UTM obrigatórios - **`utm_source`**: Sempre definido como `insertAffiliate` - **`utm_medium`**: O ID da sua empresa no Insert Affiliate - **`utm_campaign`**: O código curto do afiliado ### Exemplo Se o seu RevenueCat Web Purchase Link for: ```text https://pay.rev.cat/sandbox/viqxbcoudyfaeaae/ ``` Você deve anexar os parâmetros UTM: ```text ?utm_source=insertAffiliate&utm_medium={insertAffiliateCompanyId}&utm_campaign={affiliateShortCode} ``` #### Exemplo completo com parâmetros ```text https://pay.rev.cat/sandbox/viqxbcoudyfaeaxa/?utm_source=insertAffiliate&utm_medium=12345&utm_campaign=AFF123 ``` **Onde:** - `utm_source=insertAffiliate` - Identifica isso como uma conversão do Insert Affiliate - `utm_medium=12345` - O ID exclusivo da sua empresa no Insert Affiliate - `utm_campaign=AFF123` - O código curto do afiliado --- ## Como obter o ID da sua empresa Você pode encontrar o ID da sua empresa no Insert Affiliate nas [configurações do seu painel](https://app.insertaffiliate.com/settings). --- ## Como obter o identificador do afiliado O identificador do afiliado (código curto) pode vir de várias fontes: - **Deep linking**: Quando um usuário clica em um link de afiliado, capture o identificador através da sua [plataforma de deep linking](/pt/settings-deep-linking-platform) - **Código curto**: Os usuários podem inserir ou aplicar manualmente um código curto de afiliado - **Parâmetros de URL**: Detectados automaticamente pelo SDK [Ver a documentação do JS SDK →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) --- ## Plataformas de deep linking ### Posso usar os RevenueCat Web Purchase Links? Embora seja possível usar os RevenueCat Web Purchase Links como o deep link que você fornece aos seus afiliados, **não recomendamos isso**, pois fazê-lo fará com que **APENAS transações baseadas na web sejam rastreadas**—não as compras dentro do app. Essa limitação existe devido à forma como os links de pagamento do RevenueCat lidam com a passagem dos parâmetros `utm_source`, `utm_medium` e `utm_campaign` para o app ao serem resgatados via [links de resgate do RevenueCat](https://www.revenuecat.com/docs/web/web-billing/redemption-links). **Abordagem recomendada:** Se você quiser usar os RevenueCat Web Purchase Links para os seus afiliados, você deve: 1. Selecionar **"RevenueCat Web Purchase Links"** nas configurações do seu Insert Affiliate para rastrear vendas baseadas na web Configurações da empresa com o menu Deep Linking Platform definido como RevenueCat Web Purchase Links

Clique para ver em tamanho real

2. Implementar [códigos curtos](/pt/short-codes) como mecanismo de fallback dentro do seu app móvel 3. Solicitar aos usuários dentro do seu app que identifiquem qual afiliado os recomendou 4. Aplicar a atribuição do afiliado para futuras compras dentro do app com base na resposta deles Essa abordagem híbrida garante um rastreamento abrangente tanto para compras web (via parâmetros UTM no Web Purchase Link) quanto para compras dentro do app (via códigos curtos). **Quando usar essa abordagem:** Use os RevenueCat Web Purchase Links como sua plataforma de deep linking apenas se você estiver confortável com a limitação de que os links de resgate não atribuirão automaticamente as compras dentro do app aos afiliados. O fallback de código curto é essencial para manter a atribuição correta nas transações móveis. --- ## Testando sua configuração ### Testando a integração do SDK 1. Conecte sua conta do Stripe via [Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) (aba **Payments & Payouts**) 2. Inicialize o SDK do Insert Affiliate na sua página 3. Inicialize o RevenueCat Web SDK 4. Faça uma compra de teste com os parâmetros UTM nos metadados 5. Verifique seu [painel de transações](https://app.insertaffiliate.com/affiliates) para confirmar que a transação aparece ### Testando os Web Purchase Links 1. Crie um RevenueCat Web Purchase Link 2. Anexe os parâmetros UTM necessários (utm_source, utm_medium, utm_campaign) 3. Clique no link e conclua uma compra de teste 4. Verifique seu [painel de transações](https://app.insertaffiliate.com/affiliates) para verificar se a transação é atribuída --- ## Solução de problemas ### Transações não aparecem Verifique estes problemas comuns: - **Status do Stripe Connect**: Verifique se sua conta do Stripe aparece como "Active" nas [configurações](https://app.insertaffiliate.com/settings#stripe-connect) (aba **Payments & Payouts**) - **Parâmetros UTM**: Confirme que você está passando todos os três parâmetros UTM obrigatórios (utm_source, utm_medium, utm_campaign) - **Inicialização do SDK**: Certifique-se de que o SDK do Insert Affiliate está inicializado corretamente e retornando valores válidos - **Conexão Stripe do RevenueCat**: Verifique se o RevenueCat Web Billing está conectado corretamente à mesma conta do Stripe que você conectou via Stripe Connect - **Formato dos metadados**: Verifique se os parâmetros UTM estão sendo passados corretamente nos metadados da compra ### SDK não detecta o afiliado - **Configuração de deep link**: Verifique se sua [plataforma de deep linking](/pt/settings-deep-linking-platform) está configurada corretamente - **Parâmetros de URL**: Verifique se os links de afiliado incluem o parâmetro `insertAffiliate` correto - **Momento da inicialização do SDK**: Certifique-se de que o SDK é inicializado antes de os usuários iniciarem as compras - **Janela de atribuição**: Verifique se o identificador do afiliado não expirou (use `ignoreTimeout: true` se necessário) ### Web Purchase Links não rastreiam - **Formato dos parâmetros UTM**: Certifique-se de que os parâmetros UTM estão corretamente codificados em URL - **Ortografia dos parâmetros**: Verifique novamente se os nomes dos parâmetros estão escritos corretamente (utm_source, utm_medium, utm_campaign) - **ID da empresa**: Verifique se você está usando o ID correto da empresa no Insert Affiliate - **Código curto do afiliado**: Confirme se o código curto do afiliado é válido e está ativo --- ## O que acontece em seguida Uma vez configurado: 1. Compras com metadados UTM criam automaticamente registros de comissão 2. Visualize todas as transações no seu [painel](https://app.insertaffiliate.com/affiliates) 3. Configure as [taxas de comissão](/pt/affiliate-commission) por afiliado 4. Configure os [métodos de pagamento](/pt/paying-affiliates) para pagar seus afiliados 5. O RevenueCat gerencia as assinaturas enquanto o Insert Affiliate rastreia a atribuição --- # Guia de configuração da Plataforma de Deep Linking Source: https://docs.insertaffiliate.com/pt/settings-deep-linking-platform > Selecione uma Plataforma de Deep Linking para integrar com o Insert Affiliate # Plataforma de Deep Linking O Insert Affiliate utiliza deep linking para fornecer aos seus afiliados links que podem abrir o aplicativo para potenciais clientes indicados. Adotamos uma abordagem flexível ao incorporar tecnologias de terceiros com as quais você já está familiarizado. --- # Verificação de Compras no Aplicativo Source: https://docs.insertaffiliate.com/pt/settings-in-app-purchase-verification > Selecione uma Plataforma de Verificação de Compras no Aplicativo para integrar com o Insert Affiliate # Verificação de Compras no Aplicativo Para rastrear vendas e lucros com precisão, o Insert Affiliate utiliza a verificação de recibos. Adotamos uma abordagem flexível ao integrar com tecnologias de terceiros com as quais você já está familiarizado. --- # Short Codes Source: https://docs.insertaffiliate.com/pt/short-codes > Aprenda a criar, atribuir e gerenciar short codes, links compartilháveis de short code e a visibilidade de short codes para seus afiliados dentro da plataforma Insert Affiliate. # Short Codes Os short codes oferecem uma forma simplificada para influenciadores e afiliados promoverem seus produtos, sendo especialmente eficazes em plataformas como o TikTok, onde links são menos práticos. ## O Que São Short Codes? Short codes são identificadores alfanuméricos de 3 a 25 caracteres (UUIDs) que associam compras diretamente a um afiliado. Eles são projetados para serem simples, memoráveis e fáceis de compartilhar verbalmente ou visualmente. Isso os torna altamente eficazes para campanhas de marketing viral, especialmente em plataformas com muito vídeo, como TikTok e Instagram. Diferentemente dos deep links tradicionais, os short codes permitem que os afiliados promovam ofertas sem exigir que seu público clique em um link, aumentando o engajamento em cenários onde links clicáveis não são viáveis (ex.: em vídeos do TikTok ou transmissões ao vivo). ## Atribuição com Privacidade em Primeiro Lugar A atribuição por short code é privada por design. Um usuário digitando o código de um afiliado no seu app é uma ação clara e deliberada, então nada do maquinário do qual a atribuição baseada em links normalmente depende é necessário: - **Sem fingerprinting nem correspondência probabilística**: uma compra só é atribuída quando o código do afiliado é enviado com ela. A atribuição aconteceu ou não aconteceu. - **Sem cookies nem rastreamento entre apps**: nada segue os usuários pela web, então bloqueadores de anúncios e configurações rígidas de privacidade do navegador não quebram a atribuição. - **Dados mínimos**: atribuir uma compra exige apenas o short code do afiliado e o ID da sua empresa, enviados como metadata na compra pela sua integração. Nenhum dado sensível do usuário é envolvido. - **Sem necessidade de plataforma de atribuição móvel (MMP)**: o resgate de códigos é determinístico, então ferramentas complexas de atribuição são desnecessárias. Isso torna o modo **Short Code Only** uma ótima opção para apps que se posicionam em torno de privacidade: os afiliados continuam tendo links compartilháveis e análises de cliques (veja [Links Compartilháveis de Short Code](#links-compartilhaveis-de-short-code) abaixo), enquanto os usuários finais nunca são rastreados entre sites ou apps. ## Links Compartilháveis de Short Code Se sua plataforma de deep linking estiver definida como **Short Code Only**, você pode opcionalmente dar a cada afiliado um link compartilhável junto com seu short code. Isso é útil em canais onde um link *é* prático — páginas de link na bio, descrições de vídeos no YouTube, newsletters — enquanto sua atribuição continua funcionando inteiramente com short codes. O link de cada afiliado segue este formato: ``` https://insertaffiliate.link/{idDaSuaEmpresa}/{shortCodeDoAfiliado} ``` Se você configurou um [domínio personalizado](/pt/custom-domains) e o habilitou para novos links, seu domínio é usado no lugar — por exemplo `https://links.suaempresa.com/{idDaSuaEmpresa}/{shortCodeDoAfiliado}`. ### O Que os Seguidores Veem Ao abrir o link, é exibida uma landing page que mostra o short code do afiliado em blocos grandes e fáceis de ler, junto com: - Um botão **Copy code** para que os seguidores copiem o código com um toque - Instruções para inserir o código no seu app - Botões de download do seu app, caso você tenha adicionado seu **iOS App Store Link** e/ou **Google Play Store Link** nas [Settings](https://app.insertaffiliate.com/settings) (aba **General**) Landing page de short code exibida ao visitante que abre o link compartilhável de um afiliado: o código curto do afiliado em blocos grandes, com botão Copy code, instruções passo a passo e botões de download do app

Clique para ver em tamanho real

**Nota:** A landing page exibe o short code — ela não o aplica automaticamente. Como com qualquer short code, o usuário o insere no seu app e sua integração o envia (junto com o ID da sua empresa) como metadata na compra para atribuição. Sua integração de short codes existente funciona sem alterações. ### Análises de Cliques As aberturas dos links de short code são registradas da mesma forma que outros cliques em deep links, alimentando suas análises de cliques existentes e os [pagamentos por evento de instalação](/pt/install-event-payments). ### Como Habilitar os Links de Short Code Os links de short code são **opt-in e desativados por padrão**, então nada muda no seu programa até que você os ative: 1. Acesse sua página de [Settings](https://app.insertaffiliate.com/settings) (aba **General**) 2. Na seção **Deep Linking Platform**, selecione **Short Code Only** 3. Marque a caixa de seleção **Incluir links que mostram o código curto** 4. Salve suas configurações Seção Company Settings no painel da Insert Affiliate mostrando as opções de plataforma de deep linking e short codes

Clique para ver em tamanho real

Uma vez habilitados, o link de cada afiliado aparece: - No **painel do afiliado**, ao lado do seu short code - Na sua lista de [Affiliates](https://app.insertaffiliate.com/affiliates) do administrador **Dica:** Se você não adicionou um iOS App Store Link ou Google Play Store Link nas Settings (aba **General**), a landing page não pode mostrar botões de download — você verá um aviso nas Settings até que pelo menos um link de loja seja adicionado. ### O Que Acontece Se Você Desativar os Links de Short Code Se você desmarcar a caixa de seleção posteriormente: - Os links **deixam de ser exibidos** nos painéis dos afiliados e na sua lista de afiliados do administrador - **Short codes recém-criados não recebem links funcionais** - Os links que seus afiliados **já compartilharam continuam funcionando**, então nada do que eles publicaram (bios, descrições de vídeos, posts) quebra ## Visibilidade dos Short Codes Você pode escolher se os short codes ficam visíveis para seus afiliados ou totalmente ocultos. Isso é útil se o seu programa depende exclusivamente de deep links e você quer oferecer aos afiliados uma experiência mais simples, somente com links. ### Como Alternar a Visibilidade dos Short Codes 1. Acesse sua página de [Settings](https://app.insertaffiliate.com/settings) (aba **General**) 2. Encontre o dropdown **Short Codes** 3. Selecione **Short Codes Enabled** ou **Short Codes Disabled** 4. Salve suas configurações ### O Que Acontece Quando os Short Codes Estão Desativados Quando você desativa os short codes: - **Os afiliados verão apenas seu deep link** no painel, na página de configurações e no fluxo de onboarding - **As métricas de short code ficam ocultas** tanto nas suas visualizações de administrador quanto nas visualizações de afiliado - **A experiência de onboarding é simplificada** — novos afiliados veem instruções focadas exclusivamente em seu deep link - **Os cartões de desempenho de short code são removidos** do painel de administração Essa configuração se aplica a todo o seu programa e entra em vigor imediatamente. ### Quando Usar o Modo Somente Links Desativar os short codes funciona melhor quando: - Seu app usa uma plataforma de deep linking como Insert Links, Branch.io ou AppsFlyer - Você quer simplificar a experiência para afiliados não técnicos - Seu rastreamento e atribuição são totalmente tratados por deep links **Nota:** Se sua plataforma de deep linking estiver definida como **Short Code Only**, os short codes permanecerão sempre visíveis independentemente dessa configuração, pois são seu método principal de rastreamento. --- ## Definindo Short Codes para Afiliados Os short codes de afiliados são definidos durante a criação da conta do afiliado e **não podem ser modificados depois**. Isso garante consistência e evita confusão no rastreamento do desempenho dos afiliados. Ao criar um novo afiliado, você será solicitado a definir o short code dele. Escolha com cuidado, pois isso será permanente. Se desejar fornecer a um afiliado um novo short code, exclua esse afiliado na sua seção de [Affiliates](https://app.insertaffiliate.com/affiliates) e crie a conta dele novamente. ### Requisitos do Short Code 1. Deve ter entre **3 e 25 caracteres**. 2. Deve conter apenas **letras e números** (caracteres alfanuméricos). 3. Deve ser único. --- ## Código Necessário ## Configuração no iOS Para a integração de Short Code com Swift, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). ## Configuração no Android Para a integração de Short Code com Android, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). ## Configuração no React Native Para a integração de Short Code com React Native, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). ## Configuração no Flutter Para a integração de Short Code com Flutter, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). ## Configuração no Javascript / Capacitor Para a integração de Short Code com Javascript, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). ## Configuração no Unity Para a integração de Short Code com Unity, siga as instruções no nosso [repositório do GitHub](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). --- # Posts Sociais de Afiliados Source: https://docs.insertaffiliate.com/pt/social-posts # Posts Sociais de Afiliados Os afiliados podem conectar suas contas de redes sociais para exibir automaticamente seu conteúdo promocional. As empresas podem então visualizar os posts dos afiliados diretamente no painel, facilitando descobrir os promotores de melhor desempenho e acompanhar a criação de conteúdo. ## Visão Geral O recurso de Posts Sociais conecta a criação de conteúdo dos afiliados com o seu programa de afiliados: - **Para Afiliados**: Conecte contas sociais e tenha os vídeos promocionais importados automaticamente - **Para Empresas**: Veja o conteúdo dos afiliados, métricas de engajamento e descubra os melhores promotores ## Como Funciona 1. **Os afiliados conectam suas contas** - Vincule contas do TikTok, YouTube ou outras redes sociais por meio de OAuth seguro 2. **O conteúdo é importado automaticamente** - Posts contendo `#InsertAffiliate` são sincronizados 3. **As empresas podem ver o conteúdo** - Veja os vídeos dos afiliados no painel com métricas de engajamento --- ## Para Afiliados ### Conectando Contas Sociais Para conectar suas contas de redes sociais: 1. Acesse suas [configurações de afiliado](https://app.insertaffiliate.com/affiliate-settings) 2. Encontre a seção **Connected Accounts** 3. Clique em **Connect TikTok**, **Connect YouTube** ou conecte outras plataformas disponíveis 4. Autorize o Insert Affiliate a acessar seus dados públicos de vídeo 5. Sua conta aparecerá como conectada Seção Social Media Connections nas configurações do afiliado com os botões Connect TikTok e Connect YouTube destacados

Clique para ver em tamanho real

### Criando Conteúdo Para que os vídeos apareçam no Insert Affiliate: 1. **Inclua a hashtag** - Adicione `#InsertAffiliate` à descrição ou legenda do seu vídeo 2. **Sincronize seus posts** - Clique no botão "Sync Posts" no seu painel, ou aguarde a sincronização automática 3. **Vincule às empresas** - Associe os posts às empresas específicas que você está promovendo ### Gerenciando Seus Posts Na seção **My Content Posts** do seu painel, você pode: - **Ver todos os posts importados** - Veja miniaturas, títulos e métricas de engajamento - **Filtrar por plataforma** - Mostrar apenas conteúdo do TikTok ou do YouTube - **Vincular posts a empresas** - Associe conteúdo às empresas que você ingressou - **Alternar a visibilidade no marketplace** - Escolha se os posts aparecem no seu perfil do marketplace - **Excluir posts** - Remova posts que você não quer mais exibir - **Sincronizar manualmente** - Importe novos posts sob demanda ### Métricas dos Posts Para cada vídeo importado, você pode ver: - **Views** - Contagem total de visualizações - **Likes** - Número de curtidas/corações - **Comments** - Contagem de comentários - **Shares** - Contagem de compartilhamentos - **Data de publicação** - Quando o vídeo foi postado --- ## Para Empresas ### Visualizando o Conteúdo dos Afiliados As empresas podem ver os posts sociais dos afiliados em vários lugares: 1. **Company Dashboard** - Veja todos os posts dos seus afiliados em uma seção dedicada 2. **Perfis Individuais de Afiliados** - Veja os posts de afiliados específicos 3. **Marketplace** - Veja os posts de afiliados que optaram por exibir no marketplace ### O Que Você Pode Ver Para o conteúdo de cada afiliado, você pode ver: - **Miniaturas dos vídeos** - Prévia rápida do conteúdo - **Títulos/legendas dos vídeos** - A mensagem do afiliado - **Métricas de engajamento** - Views, likes, comentários, compartilhamentos - **Plataforma** - Se é TikTok ou YouTube - **Data de publicação** - Quando o conteúdo foi postado - **Links diretos** - Clique para ver o vídeo original ### Benefícios para Empresas - **Descubra os melhores promotores** - Identifique afiliados que criam conteúdo de alto engajamento - **Verifique a qualidade da promoção** - Veja como os afiliados estão representando sua marca - **Acompanhe a criação de conteúdo** - Monitore a atividade dos afiliados além das vendas - **Tome decisões informadas** - Use dados de engajamento ao avaliar parcerias com afiliados --- ## Plataformas Suportadas ### TikTok - Vídeos com `#InsertAffiliate` na descrição são importados - As métricas incluem: views, likes, comentários, compartilhamentos - Requer autorização da conta do TikTok ### YouTube - Vídeos com `#InsertAffiliate` na descrição são importados - As métricas incluem: views, likes, comentários - Requer autorização da conta do YouTube/Google --- ## Privacidade e Segurança ### Para Afiliados - **Autenticação baseada em OAuth** - Nunca vemos nem armazenamos sua senha - **Acesso somente leitura** - Acessamos apenas dados públicos de vídeo, nada mais - **Você controla a visibilidade** - Escolha quais posts aparecem no marketplace - **Desconexão fácil** - Remova as contas conectadas a qualquer momento ### Dados Que Acessamos - Metadados públicos de vídeo (título, descrição, miniatura) - Métricas públicas de engajamento (views, likes, comentários, compartilhamentos) - Datas de publicação dos vídeos - Seu nome de usuário público na plataforma ### Dados Que Não Acessamos - Vídeos privados ou não listados - Configurações da conta ou informações privadas - Mensagens diretas - Capacidade de postar ou modificar conteúdo --- ## Sincronização Automática Os posts são sincronizados automaticamente em uma programação regular. Você também pode acionar uma sincronização manual a qualquer momento clicando no botão **Sync Posts**. ### Limitação de Taxa Para evitar abuso da API: - A sincronização manual é limitada a uma vez a cada 2 minutos por afiliado - A sincronização automática em segundo plano roda periodicamente para todas as contas conectadas --- ## Solução de Problemas ### Posts Não Aparecem 1. **Verifique a hashtag** - Garanta que `#InsertAffiliate` está na descrição do vídeo 2. **Sincronize manualmente** - Clique em "Sync Posts" para importar vídeos recentes 3. **Verifique o status da conexão** - Garanta que sua conta aparece como conectada 4. **Aguarde o processamento** - Novos vídeos podem levar alguns minutos para aparecer ### Token Expirado Se você vir "Token expired" em uma conta conectada: 1. Clique em **Disconnect** na conta afetada 2. Clique em **Connect** novamente para reautorizar 3. Isso atualiza seu token de acesso ### Vídeos Sem Métricas Algumas métricas podem estar indisponíveis se: - O vídeo foi publicado recentemente - A plataforma ainda não atualizou as métricas públicas - O vídeo tem configurações de visibilidade restritas --- ## Boas Práticas ### Para Afiliados 1. **Use a hashtag de forma consistente** - Sempre inclua `#InsertAffiliate` no conteúdo promocional 2. **Sincronize regularmente** - Mantenha seus posts atualizados para as empresas verem 3. **Ative a visibilidade no marketplace** - Mostre seu melhor conteúdo para atrair novas parcerias 4. **Vincule posts a empresas** - Ajude as empresas a ver qual conteúdo promove o app delas ### Para Empresas 1. **Revise o conteúdo dos afiliados** - Entenda como seu app está sendo promovido 2. **Engaje com os melhores criadores** - Entre em contato com afiliados que têm conteúdo de alto engajamento 3. **Use para controle de qualidade** - Garanta que os afiliados representem sua marca de forma apropriada 4. **Considere o conteúdo nas avaliações** - Leve em conta a qualidade da promoção ao gerenciar afiliados --- ## Perguntas Frequentes **P: É obrigatório conectar minha conta social?** R: Não, é totalmente opcional. Você pode ser um afiliado sem conectar contas sociais. **P: As empresas podem ver meus vídeos privados?** R: Não. Apenas vídeos públicos com `#InsertAffiliate` na descrição são importados. **P: E se eu excluir um vídeo do TikTok/YouTube?** R: Você também pode excluí-lo do Insert Affiliate usando o botão de excluir no card do post. Vídeos excluídos não reaparecerão na sincronização. **P: Posso conectar várias contas da mesma plataforma?** R: Atualmente, você pode conectar uma conta por plataforma (um TikTok, um YouTube). **P: Isso afetará minha conta de rede social de alguma forma?** R: Não. O Insert Affiliate tem acesso somente leitura e não pode postar, editar ou interagir com seu conteúdo. --- ## Suporte Se você precisar de ajuda com posts sociais: - Consulte esta documentação para dúvidas comuns - Entre em contato com nossa equipe de suporte pelo painel - Envie um e-mail para [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) para questões específicas --- # Transações Web do Stripe Source: https://docs.insertaffiliate.com/pt/stripe-web-transactions > Acompanhe compras na web por meio do Stripe Checkout e assinaturas com a integração de webhook do Insert Affiliate. # Transações Web do Stripe Acompanhe comissões sobre compras feitas por meio do Stripe Checkout e assinaturas no seu site - não apenas compras dentro do app. Quando você ativa **Stripe Web Payments** nas suas [configurações](https://app.insertaffiliate.com/settings#web-based-transactions), você pode acompanhar transações web junto com suas compras mobile. ## O Que Você Pode Acompanhar Após a configuração, o Insert Affiliate acompanha automaticamente: - Compras pelo Stripe Checkout (avulsas e por assinatura) - Compras iniciais de assinatura - Renovações de assinatura --- ## Guia de Configuração ### Passo 1: Ative o Web Payments 1. Acesse [Settings → Web Transactions](https://app.insertaffiliate.com/settings#web-based-transactions) na aba **Payments & Payouts** 2. Altere o **Web Transaction Method** de "Disabled" para **"Stripe Web Payments"** 3. Clique em **"Save Settings"** Seção Web Based Transactions nas configurações do painel da Insert Affiliate com o menu do método de transação web destacado

Clique para ver em tamanho real

### Passo 2: Configure o Stripe Connect Antes de poder acompanhar transações web, você precisa conectar sua conta do Stripe: 1. Acesse [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) na aba **Payments & Payouts** 2. Clique em **"Connect with Stripe"** 3. Conclua o processo de onboarding do Stripe: - Faça login na sua conta existente do Stripe, OU - Crie uma nova conta do Stripe - Forneça as informações comerciais necessárias - Envie os documentos de verificação (se solicitado) 5. Você será redirecionado de volta ao Insert Affiliate quando concluir **Indicadores de status:** - **Active:** Sua conta do Stripe está totalmente conectada e pronta - **Restricted:** Informações adicionais necessárias - clique em "Continue Onboarding" - **Pending:** Documentos em análise (geralmente 1-2 dias úteis) **Pronto!** O acompanhamento de transações web agora está ativo. --- ## Implementação: Passando os Códigos de Afiliado Ao criar uma sessão do Stripe Checkout, inclua ambos os campos obrigatórios em **todos os três locais de metadados** para garantir o acompanhamento correto: ```javascript const session = await stripe.checkout.sessions.create({ line_items: [ { price: 'price_1234', quantity: 1, }, ], mode: 'subscription', success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', // 1. Session metadata (available in checkout.session.completed event) metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, // 2. Subscription metadata (persists with subscription) subscription_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, }, // 3. Payment Intent metadata (available on each payment) payment_intent_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, }, }); ``` ### Campos de Metadados Obrigatórios Ambos os campos a seguir são **obrigatórios** para a atribuição correta ao afiliado: - `insertAffiliate` - O código curto do afiliado (identificador) - `insertAffiliateCompanyId` - O ID da sua empresa no Insert Affiliate Esses campos devem ser passados em **todos os três locais de metadados** (session, subscription e payment intent) para garantir que o Insert Affiliate consiga acompanhar e atribuir os pagamentos corretamente. --- ## Como Obter os Valores Necessários Você precisa recuperar ambos os valores no SDK do Insert Affiliate. Consulte a documentação do SDK da sua plataforma para detalhes específicos de implementação. ### Obtendo o Identificador do Afiliado O identificador do afiliado pode vir de várias fontes: - **Deep linking**: Quando um usuário clica em um link de afiliado, capture o identificador pela sua [plataforma de deep linking](/pt/settings-deep-linking-platform) - **Código curto**: Os usuários podem inserir ou aplicar manualmente um código curto de afiliado [Veja a documentação do JS SDK →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) ### Obtendo o Company ID O ID da sua empresa no Insert Affiliate também é necessário. [Veja a documentação do JS SDK →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returncompanyid-1) ### Passando para o Seu Backend Envie ambos os valores ao seu backend ao criar as sessões de checkout: ```javascript const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_1234', insertAffiliate: affiliateId, insertAffiliateCompanyId: companyId, successUrl: window.location.origin + '/success', cancelUrl: window.location.origin + '/cancel', }), }); ``` --- ## Acompanhando Itens de Linha Específicos Por padrão, o Insert Affiliate acompanha o **valor total da fatura**. Se sua fatura contém vários itens de linha, mas você quer pagar comissão apenas sobre um subconjunto deles, você pode especificar quais price IDs do Stripe devem gerar comissão. Adicione o campo opcional `insertAffiliateTrackedPrices` aos metadados de `subscription_data` como uma lista de price IDs do Stripe separados por vírgula: ```javascript subscription_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', insertAffiliateTrackedPrices: 'price_abc123,price_def456', // optional }, }, ``` ### Como Funciona - Apenas os itens de linha que correspondem aos price IDs listados contribuem para o cálculo da comissão - Os itens de linha que não estão na lista são excluídos do valor bruto - Se você tiver uma taxa fixa de plataforma configurada (por exemplo, os $0.30 do Stripe), ela é **rateada** proporcionalmente entre os itens de linha acompanhados e não acompanhados, de modo que apenas a parcela acompanhada é deduzida — a taxa fixa total não é cobrada sobre um valor acompanhado pequeno ### Quando Usar Isto Isso é útil quando uma única fatura cobre vários produtos ou serviços, mas o afiliado deve receber comissão apenas sobre alguns deles — por exemplo, se um item de linha é uma taxa de configuração e outro é uma assinatura recorrente. Se `insertAffiliateTrackedPrices` for omitido, a fatura completa é acompanhada normalmente. --- ## Testando Sua Configuração ### Nota Importante Sobre Testes **O Insert Affiliate atualmente roda apenas em uma instância de produção do Stripe Connect.** Isso significa que: - Você **não pode** usar o modo de teste do Stripe nem números de cartão de teste - Você **deve** usar métodos de pagamento reais para testar - **Solução alternativa recomendada:** Crie um código promocional no seu Stripe Dashboard para tornar as transações de teste gratuitas ou de custo muito baixo (por exemplo, $0.01) ### Passos de Teste 1. Ative o Stripe Web Payments nas suas configurações 2. Conecte sua conta do Stripe via Stripe Connect 3. **(Opcional, mas recomendado)** Crie um código promocional no seu [Stripe Dashboard](https://dashboard.stripe.com/coupons) para 100% de desconto ou um valor mínimo 4. Faça uma compra real com ambos os campos obrigatórios (`insertAffiliate` e `insertAffiliateCompanyId`) nos metadados 5. Aplique seu código promocional se você criou um 6. Verifique seu [painel de transações](https://app.insertaffiliate.com/affiliates) para confirmar que a transação aparece --- ## Solução de Problemas ### Transações Não Aparecem Verifique estes problemas comuns: - **Status do Stripe Connect**: Confirme que sua conta do Stripe aparece como "Active" nas [configurações](https://app.insertaffiliate.com/settings#stripe-connect) (aba **Payments & Payouts**) - **Web Payments ativado**: Confirme que "Stripe Web Payments" está selecionado nas [configurações](https://app.insertaffiliate.com/settings#web-based-transactions) - **Campos de metadados obrigatórios**: Confirme que você está passando **ambos** `insertAffiliate` e `insertAffiliateCompanyId` em todos os três locais de metadados (session, subscription_data, payment_intent_data) - **Inicialização do SDK**: Garanta que o SDK do Insert Affiliate está inicializado corretamente e retornando valores válidos para ambos os campos --- ## O Que Acontece a Seguir Após a configuração: 1. Compras com metadados de afiliado criam automaticamente registros de comissão 2. Veja todas as transações no seu [painel](https://app.insertaffiliate.com/affiliates) 3. Configure as [taxas de comissão](/pt/affiliate-commission) por afiliado 4. Configure os [métodos de pagamento](/pt/paying-affiliates) para pagar seus afiliados --- ## Precisa de Ajuda? Se você encontrar algum problema durante a configuração, [entre em contato com o suporte](/pt/contacts) e nós ajudaremos você a configurar. --- # Membros da Equipe Source: https://docs.insertaffiliate.com/pt/team-members # Membros da Equipe Convide colegas para ajudar a gerenciar seu programa de afiliados. Os membros da equipe têm acesso total de administrador ao seu painel da Insert Affiliate, permitindo que várias pessoas gerenciem afiliados, visualizem análises, enviem mensagens e processem pagamentos. ## Visão Geral O recurso de membros da equipe permite que você: - **Convide Membros da Equipe**: Envie convites por e-mail para colegas - **Gerencie o Acesso**: Adicione ou remova membros da equipe a qualquer momento - **Colabore com Eficiência**: Vários administradores podem trabalhar juntos no seu programa de afiliados --- ## Limites por Plano Os limites de membros da equipe variam conforme o plano: | Plano | Membros da Equipe | |------|--------------| | Free | 1 (apenas o proprietário) | | Starter | Até 2 | | Growth | Até 5 | | Enterprise | Ilimitado | A contagem de membros da equipe inclui o proprietário da conta. Por exemplo, no plano Starter, com limite de 2 membros da equipe, você (o proprietário) mais um membro adicional da equipe podem acessar o painel. --- ## Convidando Membros da Equipe ### Como Convidar 1. Vá até [Settings](https://app.insertaffiliate.com/settings) (aba **Team**) no seu painel 2. Role até a seção **Team Management** 3. Insira o endereço de e-mail da pessoa que você deseja convidar 4. Clique em **Send Invite** Seção de Gerenciamento de Equipe nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

### O Que Acontece Depois 1. A pessoa convidada recebe um e-mail com um link de cadastro 2. Ela cria uma conta usando esse link 3. Após o cadastro, ela ganha acesso automaticamente ao seu painel 4. Você a verá listada na seção Team Members ### Convites Pendentes Você pode ver todos os convites pendentes na seção Team Management. A partir daí, você pode: - **Reenviar Convite**: Envie um novo e-mail de convite caso o original não tenha sido visto - **Cancelar Convite**: Remova um convite pendente antes que ele seja aceito --- ## Gerenciando Membros da Equipe ### Visualizando Sua Equipe A seção Team Management mostra: - Endereço de e-mail de cada membro da equipe - Nome de exibição (se definido) - Função (Owner ou Admin) - Data em que ingressaram ### Removendo Membros da Equipe Para remover um membro da equipe: 1. Vá até [Settings](https://app.insertaffiliate.com/settings) → aba **Team** 2. Encontre o membro da equipe na seção Team Management 3. Clique no ícone de lixeira ao lado do nome dele 4. Confirme a remoção Quando removido, o membro da equipe perde o acesso ao seu painel imediatamente. Ele precisará de um novo convite para recuperar o acesso. ### Observações Importantes - Você não pode remover a si mesmo da equipe - O proprietário da conta não pode ser removido - Convites pendentes contam para o limite de membros da equipe --- ## Funções e Permissões ### Owner (Proprietário) O criador original da conta é o Owner. O Owner: - Não pode ser removido da equipe - Tem acesso total a todos os recursos - Pode convidar e remover membros da equipe - Pode gerenciar a cobrança e a assinatura ### Admin (Membros da Equipe) Os membros convidados da equipe têm a função Admin, com acesso para: - Visualizar e gerenciar todos os afiliados - Enviar mensagens aos afiliados - Visualizar todas as transações e análises - Criar e editar configurações de afiliados - Gerenciar pagamentos e comissões --- ## Atualizando para Mais Membros da Equipe Se você atingiu o limite de membros da equipe do seu plano: 1. Vá até [Billing](https://app.insertaffiliate.com/billing) 2. Escolha um plano com um limite maior de membros da equipe 3. Após a atualização, você pode convidar mais membros da equipe imediatamente --- ## Aceitando um Convite de Equipe Se você recebeu um convite para ingressar em uma equipe: 1. Verifique seu e-mail em busca do convite da Insert Affiliate 2. Clique no link de cadastro no e-mail 3. Crie sua conta com o **mesmo endereço de e-mail** para o qual o convite foi enviado 4. Você será adicionado automaticamente à equipe ### Resolução de Problemas com Convites **Não recebeu o e-mail?** - Verifique sua pasta de spam/lixo eletrônico - Peça ao proprietário da equipe para reenviar o convite **O link não funciona?** - O convite pode ter expirado - peça um novo - Certifique-se de estar usando o mesmo endereço de e-mail para o qual o convite foi enviado **Já tem uma conta?** - Os convites de equipe são apenas para novas contas - Entre em contato com o proprietário da equipe para discutir opções de acesso --- ## Boas Práticas 1. **Convide colegas de confiança**: Os membros da equipe têm acesso total de administrador ao seu programa de afiliados 2. **Revise a equipe regularmente**: Remova membros da equipe que não precisam mais de acesso 3. **Use e-mails corporativos**: Facilita o gerenciamento do acesso da equipe 4. **Planeje o crescimento**: Considere o tamanho da sua equipe ao escolher um plano --- ## Suporte Precisa de ajuda com membros da equipe? Entre em contato conosco: - E-mail: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use as opções de suporte no aplicativo --- # Testes e Modo Sandbox Source: https://docs.insertaffiliate.com/pt/testing-sandbox > Aprenda como testar a integração com o Insert Affiliate usando transações de sandbox, dispositivos de teste e ferramentas de depuração antes de entrar em produção. # Testes e Modo Sandbox Teste sua integração com o Insert Affiliate minuciosamente antes de entrar em produção. Este guia cobre testes em sandbox, criação de afiliados de teste e depuração da sua integração. ## Ambientes de Teste Suportados Você pode testar o Insert Affiliate completamente nos seguintes ambientes: - **Builds locais** - Execute seu app diretamente do seu ambiente de desenvolvimento - **TestFlight** (iOS) - Plataforma de testes beta da Apple - **Google Play Internal Testing** - Faixas de teste fechado ou interno - **Google Play Closed Testing** - Testes beta com público limitado A atribuição e as compras funcionam em todos esses ambientes e aparecerão no seu painel do Insert Affiliate em tempo real. ### Rótulos de Transações de Sandbox Se você usar o RevenueCat para verificação de compras, as transações de sandbox são claramente rotuladas como tais no seu painel, facilitando a distinção entre compras de teste e reais. --- ## Criando Afiliados de Teste Você pode criar facilmente contas de afiliado de teste usando **aliases de e-mail**. Isso permite testar vários afiliados sem precisar de várias contas de e-mail. ### Usando Aliases de E-mail A maioria dos provedores de e-mail suporta a sintaxe de alias com `+`: **Exemplo:** Se o seu e-mail for `michael@insertaffiliate.com` Você pode criar afiliados de teste com: - `michael+testaffiliate1@insertaffiliate.com` - `michael+testaffiliate2@insertaffiliate.com` - `michael+ios-test@insertaffiliate.com` - `michael+android-test@insertaffiliate.com` Todos os e-mails serão entregues na sua caixa de entrada principal (`michael@insertaffiliate.com`), mas o Insert Affiliate trata cada um como uma conta de afiliado separada. ### Criando um Afiliado de Teste 1. Acesse [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) 2. Selecione **"Create Affiliate (Admin)"** 3. Insira seu e-mail de teste (por exemplo, `yourname+test@example.com`) 4. Crie e cole um deep link de afiliado 5. Clique em **Create Affiliate** Formulário Create an Affiliate no painel da Insert Affiliate com o modo admin selecionado e o short code do afiliado visível

Clique para ver em tamanho real

Anote o **short code** do afiliado - você o usará para os testes. --- ## Métodos de Teste Existem duas formas principais de testar sua integração: ### Método 1: Teste com Short Code (Recomendado) Testar com short codes é a forma mais rápida e confiável de verificar sua integração. **Por que usar Short Codes?** O teste com short code isola o Insert Affiliate da sua plataforma de deep linking, permitindo que você: - Verifique a integração com o Insert Affiliate de forma independente - Teste sem lidar com a complexidade do deep linking - Itere rapidamente durante o desenvolvimento - Identifique se os problemas estão no Insert Affiliate ou no deep linking **Como Testar com Short Codes** 1. **Adicione um campo de short code ao seu app** - Implemente uma forma de inserir short codes manualmente (veja [Short Codes](/pt/short-codes) para detalhes de implementação) 2. **Habilite o log detalhado** - Ative o logging do SDK para ver o que está acontecendo 3. **Execute seu app** - Inicie em um dispositivo de teste ou simulador 4. **Insira o short code** - Digite o short code do seu afiliado de teste 5. **Verifique a atribuição** - Confira os logs para confirmar que o short code foi armazenado 6. **Faça uma compra de teste** - Conclua uma transação de sandbox 7. **Verifique seu painel** - Confirme que a transação aparece no [Insert Affiliate](https://app.insertaffiliate.com/) **Interpretando os Resultados** ✅ **Se a atribuição funciona com short codes mas NÃO com deep links:** - O problema está na integração da sua plataforma de deep linking - O Insert Affiliate está funcionando corretamente - Concentre a depuração no tratamento dos deep links ❌ **Se a atribuição não funciona com short codes:** - O problema está na sua configuração do Insert Affiliate ou da verificação de compras - Siga o guia de [Solução de Problemas](/pt/troubleshooting) ### Método 2: Teste com Deep Link Assim que o teste com short code funcionar, teste o fluxo completo com deep links. **Testando Deep Links (App Já Instalado)** 1. **Compile e instale seu app** em um dispositivo de teste 2. **Clique no deep link de um afiliado** (envie por e-mail, mensagem ou QR code) 3. **O app deve abrir** com o identificador do afiliado 4. **Verifique a atribuição** - Confira os logs para confirmar que o short code foi armazenado 5. **Faça uma compra de teste** - Conclua uma transação de sandbox 6. **Verifique seu painel** - Confirme que a transação aparece **Testando Deep Links (App Não Instalado - "Cold Start")** Isso testa a experiência completa do usuário quando alguém clica em um link de afiliado sem ter o seu app instalado. **Método Padrão:** 1. **Desinstale seu app** do dispositivo de teste 2. **Clique no link do afiliado** - Deve levá-lo à App Store/Play Store 3. **Instale o app** pela loja 4. **Abra o app** - A atribuição deve funcionar na primeira inicialização 5. **Faça uma compra de teste** - Conclua uma transação de sandbox 6. **Verifique no painel** - Confira se a transação aparece **Método Mais Rápido (Apenas Insert Links):** Se você estiver usando Insert Links, pode testar a atribuição de cold start sem passar pela loja de aplicativos: 1. **Desinstale seu app** 2. **Toque no link do afiliado** - Você será levado à página da App Store 3. **Não instale pela loja** - Em vez disso, instale localmente pelo Xcode/Android Studio 4. **Inicie o app instalado localmente** 5. Se os Insert Links estiverem configurados corretamente, a atribuição funcionará exatamente como se tivesse sido instalada pela loja Para outras plataformas de deep linking, consulte a documentação delas sobre os recursos de teste de cold start. --- ## Compras em Sandbox ### Teste de Sandbox no iOS **Requisitos:** - Apple ID de sandbox (criado no App Store Connect) - Logado na conta de sandbox no dispositivo de teste - Produtos de teste configurados no App Store Connect **Passos:** 1. Crie uma conta de testador sandbox no [App Store Connect](https://appstoreconnect.apple.com/) 2. Saia da sua conta normal da App Store no dispositivo 3. Inicie seu app e tente fazer uma compra 4. Quando solicitado, faça login com sua conta de sandbox 5. Conclua a compra de teste (é gratuita) 6. Verifique se a transação aparece no seu painel do Insert Affiliate **Observação:** As compras de sandbox no iOS são claramente marcadas no seu painel se você usar o RevenueCat. ### Teste de Sandbox no Android **Requisitos:** - Conta de testador de licença adicionada no Google Play Console - Produtos de teste configurados - App enviado para a faixa de teste interno (não precisa ser revisado) **Passos:** 1. Adicione seu e-mail de teste como testador de licença no [Google Play Console](https://play.google.com/console/) 2. Instale seu app pela faixa de teste interno 3. Faça uma compra de teste (use um cartão de crédito de teste ou ela será gratuita) 4. Conclua a compra 5. Verifique se a transação aparece no seu painel do Insert Affiliate --- ## Depurando Sua Integração ### Habilite o Log Detalhado Todos os SDKs do Insert Affiliate suportam log detalhado. Habilite isso nos seus builds de desenvolvimento para ver: - Quando deep links são recebidos - Quando short codes são armazenados - Quando compras são enviadas ao Insert Affiliate - Quaisquer erros ou problemas Consulte a documentação do SDK da sua plataforma sobre como habilitar o log detalhado. ### Cenários Comuns de Depuração **Cenário 1: Short Codes Funcionam, Deep Links Não** **Diagnóstico:** Problema na integração da plataforma de deep linking **Passos de depuração:** 1. Registre no log a URL do deep link que seu app recebe na inicialização 2. Verifique se ela corresponde ao formato que sua plataforma de deep linking espera 3. Confira se você está passando o link para o SDK do Insert Affiliate 4. Revise a documentação da sua plataforma de deep linking **Cenário 2: Atribuição Funciona, Compras Não Aparecem** **Diagnóstico:** Problema na integração de verificação de compras **Passos de depuração:** 1. Verifique a configuração do webhook (RevenueCat/Apphud/Iaptic) 2. Confira se o identificador do afiliado está sendo passado para a plataforma de compras 3. Para RevenueCat: Verifique se o atributo `insert_affiliate` aparece no painel do RevenueCat 4. Revise o guia de [Solução de Problemas](/pt/troubleshooting#my-deep-linking-works-but-transactions-still-arent-tracked) **Cenário 3: Nada Funciona** **Diagnóstico:** Múltiplos problemas ou erros de configuração **Passos de depuração:** 1. Comece pelo guia de [Início Rápido](/pt/quick-start) 2. Verifique se a chave de API está correta na inicialização do SDK 3. Confira se as configurações do painel do Insert Affiliate estão configuradas 4. Habilite o log detalhado 5. Teste primeiro com short codes 6. Siga o guia completo de [Solução de Problemas](/pt/troubleshooting) --- ## Checklist de Testes Use este checklist para garantir testes minuciosos antes do lançamento: ### Teste Básico de Integração - [ ] A atribuição por short code funciona - [ ] Compras de sandbox aparecem no painel - [ ] Os valores das compras estão corretos - [ ] O log detalhado não mostra erros ### Teste de Deep Link - [ ] Deep links abrem o app quando ele está instalado - [ ] Deep links atribuem corretamente quando o app está instalado - [ ] A atribuição funciona na primeira inicialização após a instalação - [ ] A atribuição de cold start funciona (link → loja → instalação → inicialização) ### Teste Específico por Plataforma - [ ] Testado no iOS (se aplicável) - [ ] Testado no Android (se aplicável) --- ## Boas Práticas ### Durante o Desenvolvimento 1. **Sempre teste primeiro com short codes** - Isola os problemas 2. **Use o log detalhado liberalmente** - Ajuda a detectar problemas cedo 3. **Teste com frequência** - Não espere até o fim para testar a integração 4. **Teste em dispositivos reais** - Simuladores podem se comportar de forma diferente ### Antes do Lançamento 1. **Complete o checklist de testes** - Garanta que todos os cenários sejam cobertos 2. **Teste a atribuição de cold start** - Experiência do usuário crítica 3. **Revise seu painel** - Familiarize-se com os dados ### Após o Lançamento 1. **Monitore as transações iniciais** - Verifique se tudo funciona em produção 2. **Mantenha o log detalhado disponível** - Use builds de depuração caso surjam problemas --- ## Obtendo Ajuda Se você encontrar problemas durante os testes: 1. **Consulte a [Solução de Problemas](/pt/troubleshooting)** - Guia de depuração passo a passo 2. **Revise a documentação da plataforma** - Guias de deep linking e verificação de compras 3. **Entre em contato com o suporte** - Envie um e-mail para [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) ou acesse [app.insertaffiliate.com/help](https://app.insertaffiliate.com/help) --- ## Próximos Passos Assim que os testes estiverem concluídos: - **Lance para produção** - Implante seu app totalmente integrado - **Crie afiliados reais** - Veja [Criando Afiliados](/pt/create-affiliate) - **Configure o autocadastro de afiliados** - [Autocadastro de Afiliados](/pt/create-affiliate-affiliate-self-signup) - **Configure as taxas de comissão** - [Definindo Taxas de Comissão](/pt/affiliate-commission) - **Explore recursos avançados** - [Recursos e Ferramentas](/pt/app-affiliate-marketplace) --- # Solução de problemas Source: https://docs.insertaffiliate.com/pt/troubleshooting > Testando transações de sandbox e depurando problemas comuns com a integração do Insert Affiliate. # Solução de problemas ## Testando transações de sandbox antes de entrar em produção Você pode testar completamente o Insert Affiliate usando os seguintes ambientes: - Builds locais - TestFlight - Faixas de teste interno ou fechado do Google Play A atribuição e as compras funcionam em todos esses ambientes e aparecerão no seu painel do Insert Affiliate. Se você usa o RevenueCat, as transações de sandbox são claramente rotuladas como tal. ### Criando um afiliado de teste Você pode criar facilmente contas de afiliados de teste usando aliases de e-mail. **Exemplo:** se o seu e-mail fosse `michael@insertaffiliate.com` Você poderia usar `michael+testaffiliate@insertaffiliate.com` --- ## Guia de depuração ### Log detalhado (verbose) O log detalhado é uma configuração opcional nos nossos SDKs que gera informações de diagnóstico adicionais. **Ative isso ao investigar problemas com a sua integração.** --- ## Minhas transações de afiliados não estão aparecendo Siga estas etapas de depuração em ordem. Só avance depois de confirmar que a etapa anterior funciona. ### Etapa 1 — Teste com um código curto (em vez de um Deep Link) Isso ajuda a verificar se o problema está no Insert Affiliate ou no seu provedor de deep linking. 1. [Configure um método no seu app para inserir manualmente um código curto](/pt/short-codes) antes do checkout. 2. Execute o app localmente, via TestFlight ou via teste interno/fechado do Google Play. 3. Insira o código curto do seu afiliado de teste (por exemplo, `michael+testaffiliate@insertaffiliate.com`). 4. Verifique nos seus logs a confirmação de que o código curto foi recebido. 5. Faça uma compra e verifique se ela aparece no seu painel do Insert Affiliate. **Se a atribuição por código curto funcionar, mas o deep linking não** → o problema está na sua integração de deep linking. ### Verificando sua integração de deep linking Use logs detalhados para confirmar cada etapa. 1. **Registre no log o link que o app recebe na inicialização.** - Certifique-se de que ele corresponde ao que você espera. - Caso contrário, consulte a documentação do seu provedor de deep link. 2. **Depois de passar o link para o nosso SDK, registre no log o código curto do afiliado armazenado.** - Ele deve corresponder ao código curto visível no seu painel. Se tudo isso funcionar, o seu deep linking está correto. **Nesse caso, o seu problema está em passar o identificador do afiliado para a sua plataforma de verificação de compra/recibo (por exemplo, RevenueCat).** --- ## Minha integração funciona, mas apenas se o app já estiver instalado Se a atribuição só funciona em instalações novas, o problema é quase sempre um dos seguintes: ### 1. O deep linking não está configurado corretamente Registre no log o link que o app recebe após instalar pela app store a partir de um link clicado. Se isso for registrado corretamente, prossiga para a etapa 2. ### 2. Você não está usando o callback "Short Code Set" Nossos SDKs fornecem um callback que dispara assim que um código curto é armazenado. Você deve usá-lo para encaminhar o identificador do afiliado para a sua plataforma de verificação de recibos (por exemplo, RevenueCat). --- ## Meu deep linking funciona, mas as transações ainda não são rastreadas Se você consegue ver o link, consegue recuperar o código curto correto e a atribuição parece correta - mas nenhuma transação aparece - verifique: ### 1. Tempo limite de atribuição Se você configurou um [tempo limite de atribuição](/pt/attribution-timeout), ele pode ter expirado. Remova-o durante os testes e valide novamente. ### 2. Impedir transferência de afiliado Se você ativou [Impedir transferência de afiliado](/pt/prevent-affiliate-transfer), novos links de afiliado não substituirão a atribuição existente. Limpe o armazenamento do app ou reinstale para redefinir a atribuição durante os testes. ### 3. O código curto do afiliado não é passado para o seu sistema de verificação de recibos Dependendo da sua configuração (RevenueCat, Iaptic, StoreKit direto / Play Billing), você deve passar o código curto durante a compra ou a validação do recibo. Revise o ReadMe e a documentação do SDK no GitHub para a plataforma de compra escolhida. --- ## Usando RevenueCat: deep links funcionam, mas as transações não aparecem Se você está usando o RevenueCat para validação de recibos, as etapas a seguir são obrigatórias. Pular qualquer uma delas impedirá que o Insert Affiliate receba os eventos de compra, mesmo que o deep linking e a atribuição por código curto estejam funcionando corretamente. ### 1. Webhook do RevenueCat para o Insert Affiliate (obrigatório para todos os SDKs) Você deve configurar o RevenueCat para enviar eventos de compra ao Insert Affiliate via webhook. ### 2. Configuração do webhook Acesse o RevenueCat e crie um novo webhook: - Configure o webhook com estas configurações: - **Webhook URL:** `https://api.insertaffiliate.com/v1/api/revenuecat-webhook` - **Authorization header:** Use o valor do seu painel do Insert Affiliate (você obterá isso na etapa 4) - Defina **"Event Type"** como **"All events"** ### 3. Nas configurações do seu painel do Insert Affiliate: - Navegue até as configurações de verificação (aba **Integrations**) - Defina o método de verificação de compra no app como **RevenueCat** De volta ao seu painel do Insert Affiliate: ### 4. Localize o valor do cabeçalho de autenticação do webhook do RevenueCat - Copie esse valor - Cole-o como o valor do **Authorization header** na configuração do seu webhook do RevenueCat Purchase Verification Settings com RevenueCat selecionado, mostrando a URL do webhook e o valor do cabeçalho de autenticação do webhook do RevenueCat a copiar

Clique para ver em tamanho real

### Notificações de servidor da App Store / Play Store O RevenueCat requer notificações servidor-a-servidor da App Store ou da Play Store para poder retransmitir as atualizações de assinatura e compra. Certifique-se de ter configurado: - Apple App Store Server Notifications - Google Play Real-Time Developer Notifications (RTDN) **[Ver a documentação de Server Notifications do RevenueCat →](https://www.revenuecat.com/docs/platform-resources/server-notifications/apple-server-notifications)** **Sem isso, o RevenueCat não receberá os dados de compra completos ou em tempo hábil — o que significa que o Insert Affiliate também não receberá.** ### 5. Confirme o atributo do Insert Affiliate dentro do RevenueCat 1. Abra uma compra dentro do seu [painel do RevenueCat](https://app.revenuecat.com/overview). 2. Na página de detalhes da transação, procure o painel **Attributes** no lado direito. 3. Você deve ver: `insert_affiliate: ` **Se esse atributo estiver presente e correto** → o RevenueCat está recebendo o código do afiliado com sucesso. **Se estiver ausente** → o código curto não está sendo passado para o RevenueCat. - Isso significa que o problema está antes do RevenueCat (deep link → app → SDK → etapa de atributo). Essa única verificação determina imediatamente se a falha está em: - Deep linking - Sua integração do SDK do Insert Affiliate - Ou na sua configuração do RevenueCat ### 6. Se o atributo existe, mas você ainda não vê as vendas no Insert Affiliate Se `insert_affiliate` estiver visível dentro do RevenueCat, mas a venda não aparecer no seu painel do Insert Affiliate, então o problema é um dos seguintes: #### a) Webhook não disparando ou mal configurado Verifique novamente a URL do webhook e certifique-se de que: - Ele esteja ativo - Não tenha sido alterado - Nenhum cabeçalho de autenticação esteja faltando ### 7. Se o atributo estiver ausente Se você não vê o atributo `insert_affiliate`: - O deep linking pode não estar passando o link correto para o seu app - O callback do código curto pode não estar sendo tratado - Você pode não estar definindo o setAttributes do RevenueCat no momento certo - O usuário pode não estar atribuído antes da compra ocorrer - O atributo pode estar sendo sobrescrito em outro lugar do seu código Prossiga com: - Depuração de deep linking - Teste de código curto - Verificação dos callbacks do SDK - Verificação dos logs em tempo de execução para confirmar quando o atributo é definido --- ## Usando Adapty: deep links funcionam, mas as transações não aparecem Se você está usando o Adapty para validação de recibos, as etapas a seguir são obrigatórias. Pular qualquer uma delas impedirá que o Insert Affiliate receba os eventos de compra, mesmo que o deep linking e a atribuição por código curto estejam funcionando corretamente. ### 1. Webhook do Adapty para o Insert Affiliate (obrigatório para todos os SDKs) Você deve configurar o Adapty para enviar eventos de compra ao Insert Affiliate via webhook. ### 2. Configuração do webhook 1. No seu [painel do Insert Affiliate](https://app.insertaffiliate.com/settings): - Defina **In-App Purchase Verification** como **Adapty** - Copie a **Adapty Webhook URL** - Copie o valor do **Adapty Webhook Authorization Header** 2. No [painel do Adapty](https://app.adapty.io/integrations): - Navegue até **Integrations** → **Webhooks** - Defina a **Production URL** como a URL do webhook do Insert Affiliate - Defina a **Sandbox URL** como a mesma URL do webhook - Cole o valor do cabeçalho de autorização em **Authorization header value** - Ative estas opções: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** - Salve a configuração ### 3. Confirme o atributo do Insert Affiliate dentro do Adapty 1. Acesse [app.adapty.io/profiles/users](https://app.adapty.io/profiles/users) 2. Encontre e selecione o usuário que fez a compra de teste 3. Procure a seção **Custom attributes** 4. Você deve ver: `insert_affiliate` com o formato `{SHORT_CODE}-{UUID}` - Exemplo: `SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890` **Se esse atributo estiver presente e correto** → o Adapty está recebendo o código do afiliado com sucesso. **Se estiver ausente** → o código curto não está sendo passado para o Adapty. - Isso significa que o problema está antes do Adapty (deep link → app → SDK → etapa updateProfile). Essa única verificação determina imediatamente se a falha está em: - Deep linking - Sua integração do SDK do Insert Affiliate - Ou na sua configuração do Adapty ### 4. Se o atributo existe, mas você ainda não vê as vendas no Insert Affiliate Se `insert_affiliate` estiver visível dentro do Adapty, mas a venda não aparecer no seu painel do Insert Affiliate, então o problema é um dos seguintes: #### a) Webhook não disparando ou mal configurado Verifique novamente a configuração do webhook e certifique-se de que: - Tanto a Production URL quanto a Sandbox URL estejam definidas corretamente - O valor do cabeçalho de autorização esteja correto - **Send user attributes** esteja ativado - O webhook esteja salvo e ativo #### b) Opções de webhook ausentes Certifique-se de que todas as opções necessárias estejam ativadas: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** ### 5. Se o atributo estiver ausente Se você não vê o atributo `insert_affiliate`: - O deep linking pode não estar passando o link correto para o seu app - O callback do código curto pode não estar sendo tratado - Você pode não estar chamando `Adapty.updateProfile` com o identificador do afiliado - O usuário pode não estar atribuído antes da compra ocorrer - O atributo pode estar sendo sobrescrito em outro lugar do seu código Prossiga com: - Depuração de deep linking - Teste de código curto - Verificação dos callbacks do SDK - Verificação dos logs em tempo de execução para confirmar quando `updateProfile` é chamado --- ## Android: Install Referrer não funciona durante os testes Se você está testando o fluxo "app não instalado" no Android (deep linking diferido via Google Play Install Referrer) e a atribuição não está sendo aplicada após a instalação, a causa mais comum é uma **sessão obsoleta da Google Play Store**. ### O problema Quando a Google Play Store já está aberta na página de listagem do seu app e você navega para a mesma página novamente por meio de um link de afiliado, **o Google Play ignora o parâmetro referrer** na URL. Isso significa que a Install Referrer API retorna dados vazios e a atribuição é perdida. Isso acontece com frequência durante os testes porque você está repetidamente instalando e desinstalando o mesmo app, mantendo a Play Store aberta nessa página entre as tentativas. ### A solução Antes de cada teste do fluxo de app não instalado: 1. **Force o fechamento da Google Play Store** — vá em Configurações → Apps → Google Play Store → Forçar parada, ou execute `adb shell am force-stop com.android.vending` 2. **Desinstale o app** 3. **Em seguida**, clique no link de afiliado e instale Isso garante que a Play Store processe a URL do referrer como uma navegação nova, que é como os usuários reais a experimentarão — eles não terão a Play Store já aberta na página do seu app. ### Importante Esse é apenas um problema de teste. Usuários reais que clicam em um link de afiliado pela primeira vez não terão a Play Store aberta na página do seu app, então o referrer será capturado corretamente. --- ## Posso testar um deep link de "início a frio" (app não instalado) sem passar pela app store? **Com Insert Links, sim, você pode.** Com outros provedores, você precisa verificar a documentação deles. ### Para testar localmente usando Insert Links: 1. Toque no link de afiliado com o app desinstalado. 2. Quando for levado à página da app store, não instale o app. 3. Em vez disso, instale o app localmente. 4. Se a sua configuração de Insert Links estiver correta, a atribuição se comportará exatamente como se você tivesse instalado pela app store. --- # Notificações por Webhook | Insert Affiliate Source: https://docs.insertaffiliate.com/pt/webhooks > Receba notificações em tempo real quando afiliados forem criados ou desativados. Configure um endpoint de webhook para sincronizar eventos do ciclo de vida dos afiliados com seus próprios sistemas. # Notificações por Webhook Receba notificações em tempo real quando afiliados forem criados ou desativados no seu programa. Os webhooks permitem sincronizar o estado dos afiliados com seus próprios sistemas automaticamente — sem necessidade de polling. --- ## Como Funciona Quando um afiliado é criado ou removido da sua empresa, a Insert Affiliate envia uma solicitação HTTP POST para a URL de webhook configurada, com detalhes sobre o evento. Isso acontece automaticamente em segundo plano e não atrasa a operação do afiliado. --- ## Configurando Webhooks 1. Vá até [Settings](https://app.insertaffiliate.com/settings) → aba **Integrations** 2. Role até a seção **Webhook Notifications** 3. Insira sua **Webhook URL** — esta deve usar HTTPS 4. Opcionalmente, insira um **Bearer Token** — este será enviado no cabeçalho `Authorization` para que seu servidor possa verificar que as solicitações são genuinamente da Insert Affiliate 5. Clique em **Save Changes** Seção Webhook Notifications nas configurações do painel da Insert Affiliate

Clique para ver em tamanho real

Seu bearer token é criptografado em repouso e nunca é exibido por completo após ser salvo. --- ## Eventos de Webhook ### `affiliate.created` Enviado quando um afiliado é adicionado à sua empresa. Isso inclui todos os métodos de criação: adicionar um afiliado manualmente pelo painel, aprovar uma solicitação de autocadastro ou aceitar uma solicitação de ingresso de um afiliado. **Payload:** ```json { "event": "affiliate.created", "affiliate_id": "ia_45fee001", "email": "affiliate@example.com", "deep_link": "https://myapp.link/ref/abc123", "occurred_at": "2026-03-18T12:00:00.000Z" } ``` **Campos:** | Campo | Tipo | Descrição | |---|---|---| | `event` | string | Sempre `"affiliate.created"` | | `affiliate_id` | string | Um identificador determinístico para o afiliado, derivado do e-mail dele. Formato: `ia_` seguido de 8 caracteres hexadecimais. Consistente em todos os eventos do mesmo afiliado. | | `email` | string | O endereço de e-mail do afiliado | | `deep_link` | string | A URL do deep link atribuído ao afiliado. Isso é incluído quando um deep link foi atribuído (ex.: durante a aprovação de autocadastro ou a aceitação de uma solicitação de ingresso). Pode ser uma string vazia se nenhum deep link tiver sido atribuído ainda. | | `occurred_at` | string | Timestamp ISO 8601 de quando o evento ocorreu | --- ### `affiliate.deactivated` Enviado quando um afiliado é removido da sua empresa. **Payload:** ```json { "event": "affiliate.deactivated", "affiliate_id": "ia_45fee001", "email": "affiliate@example.com", "deep_link": "https://myapp.link/ref/abc123", "occurred_at": "2026-03-18T14:30:00.000Z" } ``` **Campos:** | Campo | Tipo | Descrição | |---|---|---| | `event` | string | Sempre `"affiliate.deactivated"` | | `affiliate_id` | string | O mesmo identificador determinístico que foi enviado no evento `affiliate.created` deste afiliado. Use-o para corresponder os eventos de criação e desativação. | | `email` | string | O endereço de e-mail do afiliado | | `deep_link` | string | A URL do deep link que estava atribuída ao afiliado no momento da remoção. String vazia se nenhum deep link tiver sido atribuído. | | `occurred_at` | string | Timestamp ISO 8601 de quando o evento ocorreu | --- ## Autenticação Se você configurou um bearer token, toda solicitação de webhook inclui o cabeçalho: ``` Authorization: Bearer ``` Seu servidor deve verificar que este cabeçalho corresponde ao token que você configurou na Insert Affiliate, para garantir que as solicitações são legítimas. --- ## Notas de Comportamento - **Fire-and-forget** — A entrega do webhook não bloqueia a operação do afiliado. Se seu endpoint estiver fora do ar ou retornar um erro, o afiliado ainda será criado ou removido normalmente. - **Apenas HTTPS** — As URLs de webhook devem usar HTTPS por segurança. - **Timeout** — As solicitações expiram após 10 segundos. Certifique-se de que seu endpoint responde com rapidez. - **Sem novas tentativas** — Webhooks que falham não são repetidos. Se a confiabilidade for crítica, considere registrar os eventos recebidos do seu lado e reconciliá-los periodicamente com o painel da Insert Affiliate. - **IDs de afiliado consistentes** — O `affiliate_id` é determinístico e baseado no e-mail do afiliado. O mesmo e-mail sempre produzirá o mesmo `affiliate_id`, então você pode corresponder de forma confiável os eventos `created` e `deactivated`. --- ## Exemplos de Casos de Uso - **Sincronize afiliados com seu CRM** — Crie ou arquive contatos automaticamente quando afiliados ingressam ou saem - **Dispare fluxos de onboarding** — Inicie um fluxo interno de onboarding quando um novo afiliado é aprovado - **Atualize seu próprio banco de dados** — Mantenha seus registros de usuários em sincronia com as mudanças de status dos afiliados - **Alertas no Slack ou por e-mail** — Encaminhe eventos para um canal de notificação da sua equipe --- # Public API Source: https://docs.insertaffiliate.com/public-api > Use the Insert Affiliate Public API to manage affiliates and record transactions programmatically from your own backend. # Public API The Insert Affiliate Public API lets you manage affiliates and record transactions programmatically, without going through the dashboard. It is designed for companies that want to automate affiliate management or integrate affiliate tracking directly into their own backend systems. **Enterprise Plan Only**: The Public API is available exclusively to [Enterprise plan](https://insertaffiliate.com/#pricing) customers. ## What You Can Do - **Create and retrieve affiliates** - add affiliates to your programme or look them up by email or short code - **Record transactions** - log affiliate-driven sales directly from your backend, identified by the affiliate's email address or short code ## Creating API Keys API keys are managed from the **Settings** page (**Integrations** tab) in your Insert Affiliate dashboard. 1. Go to **Settings** → **Integrations** tab and scroll to the [API Keys](https://app.insertaffiliate.com/settings#api-keys) section 2. Click **Create API Key**, give it a name, and select the scopes you need 3. Copy the key immediately - it is only shown once Each key is scoped to your company and can be revoked at any time from the same settings page. Include it in requests using the `Authorization: Bearer ` header. ## API Reference Full endpoint documentation, request/response schemas, and interactive examples are available in the API reference.

--- # Renewal Attribution Window Source: https://docs.insertaffiliate.com/renewal-attribution-window > Configure how long affiliates continue to earn commission on renewals or recurring payments after the initial sale. # Renewal Attribution Window > **Important:** This setting is **NOT available** for Apphud & Iaptic receipt verification users. The **Renewal Attribution Window** defines how long an affiliate continues to receive commission on **renewals or recurring payments related to a specific transaction**. Instead of affiliates earning commission indefinitely on all subscription renewals, you can now set **time limits** to control costs and create flexible partnership arrangements. For example, if you set a 30-day timeout, affiliates only earn commission on renewals that occur within 30 days of the original purchase. This setting does *not* extend attribution to all future purchases by the same user — it applies **only to the original purchase event and its subsequent renewals**. --- ## Overview When a user makes an initial purchase that is successfully attributed to an affiliate (within the **Click Attribution Window**), that affiliate may also receive a share of revenue from future **renewals of that same subscription or transaction**. The **Renewal Attribution Window** specifies how long this renewal-based revenue sharing remains active. You can configure this at two levels: - **Company-wide defaults** that apply to all affiliates automatically - **Per-affiliate custom settings** that override the company default for special arrangements Once the configured window expires, any further renewals will no longer generate affiliate commission, giving you precise control over long-term commission costs. --- ## When the window starts counting The window is measured from the point the affiliate won the customer, not from the age of the customer's receipt. This matters because the app stores keep one receipt chain for a subscription even when the customer stops paying and comes back later. On iOS, a lapsed subscriber who resubscribes to the same subscription group continues the original receipt, so the purchase arrives as a renewal of a subscription that may have started years ago. If the window were measured from that original purchase, a returning customer could never be inside it. A new window therefore starts whenever: - the customer makes an **initial purchase** - the customer **redeems an offer code or promotional offer** (an action they had to take, so it counts as a new conversion) - the customer **resubscribes after their subscription lapsed**, meaning there was a real gap in their access Renewals of an unbroken subscription do not restart the window. A renewal that arrives late because of a billing retry or a billing grace period is still part of the same subscription and does not restart it either. ### Win-back campaigns Because a redemption starts a new window, you can run win-back campaigns with creators using a short window. A customer who lapses and then redeems a creator's offer code starts a fresh attribution, so the creator is paid for bringing them back, even though the customer's original purchase is long outside the window. --- ## Click Attribution vs Renewal Attribution | Setting | Applies To | Description | |----------|-------------|--------------| | **Click Attribution Window** | First purchase | Time allowed between affiliate link click and initial purchase. | | **Renewal Attribution Window** | Renewals of that purchase | Time period after the *initial sale* during which renewals of that same transaction continue to reward the affiliate. | --- ## Dashboard Configuration The Renewal Attribution Window feature provides a **two-level configuration system** that gives you complete control over commission timeouts while maintaining operational simplicity. ### 1. Company-Wide Default Settings **Location:** [Company Settings](https://app.insertaffiliate.com/settings) → Renewal Attribution Timeout - **Purpose:** Sets the default timeout for ALL affiliates in your company - **Use Case:** Establish a baseline policy (e.g., "All affiliates earn commission for 60 days after initial sale") - **Fallback:** This setting is used when an affiliate doesn't have a custom timeout set Affiliate Revenue Settings section in the Insert Affiliate dashboard settings showing the renewal attribution window

Click to view full size

### 2. Per-Affiliate Custom Settings **Location:** [Affiliates](https://app.insertaffiliate.com/affiliates) → Individual Affiliate Details → Renewal Attribution Settings - **Purpose:** Override the company default for specific affiliates - **Use Case:** Special arrangements for VIP affiliates or different partnership tiers - **Priority:** Always takes precedence over company-wide settings ### How It Works 1. **Set Company Default:** Configure your company-wide default timeout (e.g., 30 days) 2. **Automatic Application:** Most affiliates will automatically use this default limit 3. **Custom Overrides:** For special affiliates, set custom timeouts (e.g., 90 days for top performers, 7 days for trial affiliates) 4. **Automated Processing:** The system automatically applies the appropriate timeout when processing subscription renewals **Important:** Leaving the renewal attribution window **empty** or **clearing the value** means affiliates will receive commission on renewals **indefinitely** — there is no time limit on renewal commissions. ### Example Configuration | Affiliate Type | Setting | Commission Window | |----------------|---------|-------------------| | Company Default | 30 days | Standard policy for all new affiliates | | Affiliate A | Uses default | 30 days (inherits company setting) | | Affiliate B (VIP) | Custom override | 90 days (extended for top performer) | | Affiliate C (Trial) | Custom override | 7 days (shortened for trial period) | | Affiliate D (Premium) | Empty/cleared value | **Indefinite** (no time limit on renewals) | ### Benefits - **Cost Control:** Prevent indefinite commission payments on long-running subscriptions - **Flexible Partnerships:** Reward top affiliates with longer commission windows - **Simple Management:** Set once at company level, customize only when needed - **Operational Efficiency:** Automated application based on configuration hierarchy --- ## Limiting by count instead: Commissionable Renewals Per Conversion The window limits commission by **time**. If what you actually want is to pay a creator a fixed number of times per customer, use **Commissionable Renewals Per Conversion** instead, which limits by **count**. Set it to `1` and a creator is paid once per customer they bring in, however long that customer stays subscribed. Leave it empty and every renewal earns commission, which is the default. ### Why you might prefer counting A common creator arrangement is "one commission per customer you bring us". Expressing that as a time window is awkward: you have to guess a duration that lines up with your billing period, and the answer changes if you sell monthly and annual plans side by side. Counting renewals expresses the arrangement directly. One paid renewal is one paid renewal, whether your subscription renews monthly or yearly. It is also the natural fit when your creator offer is a **free first period**. The signup itself is worth nothing, so what you want to pay on is the first renewal where the customer actually pays, which lands two periods after signup rather than one. ### What counts towards the limit Only **paid** renewals count. - A free trial does not count - A free promotional month from an offer code does not count - The conversion at the end of a trial **does** count, because that is the first time the customer pays So a creator offering a free first month is paid on the first month the customer actually pays for, not on the free one. ### When the count resets The count is kept per conversion, not per customer for all time. It resets on exactly the same events that start a new window, described in [When the window starts counting](#when-the-window-starts-counting): a new initial purchase, an offer code redemption, or a resubscription after a lapse. So a creator who wins back a lapsed customer a year later earns their commission again for that new conversion. ### Configuration Both levels work the same way as the window: - **Company default:** [Company Settings](https://app.insertaffiliate.com/settings) → Commissionable Renewals Per Conversion - **Per-affiliate override:** [Affiliates](https://app.insertaffiliate.com/affiliates) → Individual Affiliate Details → Commissionable Renewals Per Conversion | Affiliate Type | Setting | Result | |----------------|---------|--------| | Company Default | 1 | Every affiliate is paid on the first paid renewal per customer | | Affiliate A | Uses default | Paid once per customer converted | | Affiliate B (VIP) | Custom override of 6 | Paid on the first six paid renewals per customer | | Affiliate C | Empty/cleared value | Paid on every renewal, with no limit | ### Using both together The two settings work together, and a renewal has to satisfy **both** to earn commission. | Goal | Configuration | |------|---------------| | Pay once per customer converted | Commissionable renewals = 1, window empty | | Pay for the first year of each subscription | Commissionable renewals empty, window = 1 year | | Pay for up to 3 renewals, but only within the first year | Commissionable renewals = 3, window = 1 year | ### Changing either setting later Both limits are applied when you look at the transactions, not frozen when they arrive. If you raise the limit from 1 to 3, or widen the window, renewals that were previously excluded become payable straight away, including ones recorded months ago. Lowering either works the same way in reverse. Nothing is recalculated or lost in between. Renewals over the limit are still recorded against the affiliate, so the subscription history stays complete. They are shown as earning no commission and are not included in the affiliate's payable balance. --- # How Revenue Share Billing Works | Insert Affiliate Source: https://docs.insertaffiliate.com/revenue-share-billing > How Insert Affiliate calculates the revenue share on Revenue Share plans: how the percentage is applied, what counts as affiliate-tracked revenue, renewals, currency, and when it is billed. With a worked example. # How Revenue Share Billing Works Insert Affiliate offers two ways to pay for the platform: a fixed monthly price, or a **Revenue Share plan** with a lower monthly base fee plus a percentage of the revenue your affiliates generate. This page explains exactly how that percentage is calculated so there are no surprises on your invoice. This is separate from the commission you pay your affiliates. For that, see the [Affiliate Commission Guide](/affiliate-commission). ## What you pay Each Revenue Share plan has two parts: - a **monthly base fee**, a fixed amount charged each month - a **revenue share rate**, a percentage of the revenue your affiliates generate The base fee and rate are different for each plan: higher tiers have a higher base fee and a lower percentage. Enterprise Plus plans have a negotiated rate. The current base fees and percentages are always shown on the [pricing page](https://insertaffiliate.com/#pricing) and on your [Billing page](https://app.insertaffiliate.com/billing); this guide only explains how the percentage is applied. Revenue Share plans are billed monthly; annual billing is only available on fixed price plans. ## What counts as affiliate-tracked revenue The revenue share is applied to every purchase that Insert Affiliate attributes to one of your affiliates. That means: - **Initial purchases and renewals.** A subscription that an affiliate referred keeps counting for as long as it renews, because that revenue continues to come from the affiliate's referral. This applies even if you have set a [renewal attribution window](/renewal-attribution-window) or renewal cap for the affiliate's own commission. Those settings limit what you pay the affiliate, not what was attributed. - **All purchase sources.** App Store, Google Play, RevenueCat, Adapty, Apphud, Iaptic and Stripe web transactions are treated the same way. - **Production transactions only.** Sandbox and test purchases are never billed. Purchases with no affiliate attached, organic revenue, and anything outside Insert Affiliate's tracking are not included. ## Gross amount, before store fees The percentage is applied to the **gross transaction price**: the amount the customer paid, before Apple, Google or Stripe take their cut. This is true regardless of the [platform fee deduction](/affiliate-commission#platform-fee-deduction) setting. That setting only changes the base your affiliates' commission is calculated on. The revenue share is always on gross. ## Currency Your base fee and revenue share are billed in the currency of your subscription. Attributed purchases in other currencies are converted into your billing currency at the exchange rate in effect when the purchase is recorded, and the percentage is applied to the converted amount. ## When it is billed The revenue share accrues as each attributed purchase is recorded and is added to your regular monthly invoice as a usage line alongside the base fee. Nothing is charged separately or in advance. You can see the amount accrued so far in the current period at any time under **Revenue Share Billing** on the [Billing page](https://app.insertaffiliate.com/billing), with a per-transaction breakdown. If you switch plans part way through a period, the revenue share accrued up to that point is settled on the invoice for the switch. ## Worked example The figures below are illustrative only. Your actual base fee and rate depend on your plan. Say your plan is **£X per month + Y%**, and in one month your affiliates drive: | Purchases | Gross amount | |-----------|--------------| | 120 new annual subscriptions at £49.99 | £5,998.80 | | 300 monthly renewals at £9.99 | £2,997.00 | | **Total attributed revenue** | **£8,995.80** | Revenue share: £8,995.80 × Y%. With a rate of 5%, that is £449.79. Your invoice for the month: £X base fee + £449.79 revenue share. Apple's and Google's commission on those purchases does not reduce the figure, and the commission you pay your affiliates is separate and paid by you directly to them. ## Frequently asked questions **Is there a minimum or a cap?** No. You pay the base fee plus the percentage of whatever your affiliates actually generate. If they generate nothing in a month, you pay only the base fee. **Do daisy chain or auto-chunk payments to affiliates count?** No. The revenue share is based on customer purchases, not on what you pay your affiliates. Paying commission to two affiliates for one purchase does not bill it twice. **Can I see how a figure was calculated?** Yes. The Revenue Share Breakdown on the Billing page lists every attributed transaction in the period with its gross amount, the rate applied and the resulting charge. **Can I switch between fixed price and Revenue Share?** Yes, from the [Billing page](https://app.insertaffiliate.com/billing). Any revenue share accrued up to the switch is invoiced at that point. --- # RevenueCat Setup guide Source: https://docs.insertaffiliate.com/revenuecat > Set up RevenueCat ready to create a new affiliate with Insert Affiliate # Setting up RevenueCat To get started, [create a RevenueCat account](https://app.revenuecat.com/signup). After creating an account, follow the RevenueCat setup guide, which can be [found here](https://www.revenuecat.com/docs/welcome/projects). If you encounter any problems whilst setting up your RevenueCat account, check out the [RevenueCat Support](https://www.revenuecat.com/docs/revenuecat-support/support-first-steps) section for assistance. ## IOS Setup ### 1. Install Required Packages and Complete Setup To install the Insert Affiliate Swift SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the RevenueCat setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## Android Setup To install the Insert Affiliate Android SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK) All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the RevenueCat setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## React Native Setup To install the Insert Affiliate React Native SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the RevenueCat setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK?tab=readme-ov-file#option-1-revenuecat-recommended) ## Flutter Setup To install the Insert Affiliate Flutter SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the RevenueCat setup can be found [here.](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk?tab=readme-ov-file#option-1-revenuecat-recommended). ## Javascript / Capacitor Setup To install the Insert Affiliate Javascript SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). All code changes required are described in detail with examples within the Github Repository. Specific code changes required by Insert Affiliate for the RevenueCat setup can be found [here](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#option-1-revenuecat). ## Unity Setup To install the Insert Affiliate Unity SDK, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). All code changes required to be made are described in detail with examples within the Github Repository. Specific changes required by Insert Affiliate for the RevenueCat setup can be found [here.](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK?tab=readme-ov-file#option-1-revenuecat) --- # RevenueCat Stripe Billing Source: https://docs.insertaffiliate.com/revenuecat-stripe-billing > Track web subscriptions managed by RevenueCat with Stripe Billing integration using Insert Affiliate\ # RevenueCat Stripe Billing Track commission on web subscriptions managed by [RevenueCat's Stripe Billing integration](https://www.revenuecat.com/docs/web/integrations/stripe) - combining RevenueCat's subscription management with Stripe's payment processing. When you enable **RevenueCat Stripe Billing** tracking, you can attribute web subscriptions to affiliates while RevenueCat handles subscription lifecycle management. ## What You Can Track Once configured, Insert Affiliate automatically tracks: - RevenueCat web subscriptions processed through Stripe - Initial subscription purchases - Subscription renewals - All transactions managed by RevenueCat's web billing --- ## Prerequisites Before setting up Insert Affiliate tracking, you must have: - **RevenueCat Web SDK** installed and configured - **RevenueCat Stripe Billing** set up and connected to your Stripe account - **Your own hosted checkout page** where the Insert Affiliate SDK can run - A Stripe account ready to connect via Stripe Connect **Important:** Insert Affiliate requires your checkout to be hosted on your own domain. The SDK must run on your page to capture affiliate attribution before purchases. --- ## RevenueCat Webhook Configuration **Important:** When configuring your RevenueCat webhook to send events to Insert Affiliate, you should **only send App Store and Google Play Store events** - not Stripe or Web Billing events. Since Insert Affiliate receives Stripe events directly through Stripe Connect (configured in Step 2 below), sending RevenueCat webhook events for Stripe/Web Billing transactions would result in duplicate transaction tracking. **To configure your RevenueCat webhook:** 1. Go to your RevenueCat dashboard → Project Settings → Integrations → Webhooks 2. When setting up the Insert Affiliate webhook, configure it to **only send events for:** - **App Store** (iOS) - **Google Play Store** (Android) 3. **Do not** include Stripe or Web Billing events in this webhook This ensures clean attribution: mobile transactions are tracked via RevenueCat webhooks, while web transactions are tracked via Stripe Connect. --- ## Setup Guide ### Step 1: Enable Web Payments 1. Go to [Settings → Web Transactions](https://app.insertaffiliate.com/settings#web-based-transactions) on the **Payments & Payouts** tab 2. Change **Web Transaction Method** from "Disabled" to **"Stripe Web Payments"** 3. Click **"Save Settings"** Web Based Transactions section in the Insert Affiliate dashboard settings with the web transaction method dropdown highlighted

Click to view full size

### Step 2: Set Up Stripe Connect Before you can track web transactions, you must connect your Stripe account: 1. Go to [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) on the **Payments & Payouts** tab 2. Click **"Connect with Stripe"** 3. Complete the Stripe onboarding process: - Log in to your existing Stripe account (the same one connected to RevenueCat) - Provide required business information - Submit verification documents (if requested) 4. You'll be redirected back to Insert Affiliate once complete **Status indicators:** - **Active:** Your Stripe account is fully connected and ready - **Restricted:** Additional information needed - click "Continue Onboarding" - **Pending:** Documents under review (usually 1-2 business days) ✅ **Once your Stripe account is connected, Insert Affiliate will automatically receive all Stripe events from your RevenueCat transactions.** --- ## Implementation: Passing Affiliate Codes ### Step 1: Install the Insert Affiliate SDK Add the Insert Affiliate SDK to your web checkout page: ```bash npm install insert-affiliate-js-sdk ``` ### Step 2: Initialize the SDK Initialize the SDK on your checkout page before users complete purchases: ```javascript // Initialize SDK with your company code await InsertAffiliate.initialize('your_company_code'); ``` ### Step 3: Pass Affiliate Data to Stripe Checkout When creating a Stripe Checkout session, include both required fields in **all three metadata locations** to ensure proper tracking: ```javascript // Get the current affiliate identifier and company ID const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(); const companyId = await InsertAffiliate.returnCompanyId(); // Create Stripe checkout session with metadata const session = await stripe.checkout.sessions.create({ line_items: [ { price: 'price_1234', quantity: 1, }, ], mode: 'subscription', success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', // 1. Session metadata (available in checkout.session.completed event) metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, // 2. Subscription metadata (persists with subscription) subscription_data: { metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, }, // 3. Payment Intent metadata (available on each payment) payment_intent_data: { metadata: { insertAffiliate: affiliateId || '', insertAffiliateCompanyId: companyId || '', }, }, }); ``` ### Required Metadata Fields Both of the following fields are **required** for proper affiliate attribution: - `insertAffiliate` - The affiliate's short code (identifier) - `insertAffiliateCompanyId` - Your Insert Affiliate company ID These fields must be passed in **all three metadata locations** (session, subscription, and payment intent) to ensure Insert Affiliate can properly track and attribute payments. --- ## How It Works Together 1. **RevenueCat** manages the subscription lifecycle (trials, renewals, cancellations) 2. **Stripe** processes the actual payments 3. **Insert Affiliate** tracks affiliate attribution through Stripe metadata 4. **Your hosted checkout** runs the Insert Affiliate SDK to capture attribution Since you connected your Stripe account via Stripe Connect (Step 2), Insert Affiliate automatically receives all Stripe events - including those from RevenueCat subscriptions - and reads the metadata fields to credit affiliates. --- ## How to Get the Required Values You need to retrieve both values from the Insert Affiliate SDK. The SDK automatically handles deep link detection and affiliate attribution. ### Getting the Affiliate Identifier The affiliate identifier can come from multiple sources: - **Deep linking**: When a user clicks an affiliate link, capture the identifier through your [deep linking platform](/settings-deep-linking-platform) - **Short code**: Users can manually enter or apply an affiliate short code - **URL parameters**: Automatically detected by the SDK [View JS SDK documentation →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) ### Getting the Company ID Your Insert Affiliate company ID is also required. [View JS SDK documentation →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returncompanyid-1) ### Passing to Your Backend Send both values to your backend when creating checkout sessions: ```javascript const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_1234', insertAffiliate: affiliateId, insertAffiliateCompanyId: companyId, successUrl: window.location.origin + '/success', cancelUrl: window.location.origin + '/cancel', }), }); ``` --- ## Testing Your Setup 1. Enable Stripe Web Payments in your [settings](https://app.insertaffiliate.com/settings#web-based-transactions) 2. Connect your Stripe account via [Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) (**Payments & Payouts** tab) 3. Initialize the Insert Affiliate SDK on your checkout page 4. Make a test purchase with both required fields (`insertAffiliate` and `insertAffiliateCompanyId`) in the metadata 5. Check your [transactions dashboard](https://app.insertaffiliate.com/affiliates) to confirm the transaction appears --- ## Troubleshooting ### Transactions Not Showing Up Check these common issues: - **Stripe Connect status**: Verify your Stripe account shows as "Active" in [settings](https://app.insertaffiliate.com/settings#stripe-connect) (**Payments & Payouts** tab) - **Web Payments enabled**: Confirm "Stripe Web Payments" is selected in [settings](https://app.insertaffiliate.com/settings#web-based-transactions) - **Required metadata fields**: Confirm you're passing **both** `insertAffiliate` and `insertAffiliateCompanyId` in all three metadata locations (session, subscription_data, payment_intent_data) - **SDK initialization**: Ensure the Insert Affiliate SDK is properly initialized on your checkout page and returning valid values - **RevenueCat Stripe connection**: Verify RevenueCat is properly connected to the same Stripe account you connected via Stripe Connect - **Hosted checkout**: Confirm the Insert Affiliate SDK is running on your own hosted checkout page (not a third-party hosted page) ### SDK Not Detecting Affiliate - **Deep link setup**: Verify your [deep linking platform](/settings-deep-linking-platform) is properly configured - **URL parameters**: Check that affiliate links include the proper `insertAffiliate` parameter - **SDK initialization timing**: Ensure the SDK is initialized before users land on your checkout page --- ## What Happens Next Once configured: 1. Purchases with affiliate metadata automatically create commission records 2. View all transactions in your [dashboard](https://app.insertaffiliate.com/affiliates) 3. Configure [commission rates](/affiliate-commission) per affiliate 4. Set up [payment methods](/paying-affiliates) to pay your affiliates 5. RevenueCat continues to handle subscription management while Insert Affiliate tracks attribution --- # RevenueCat Web Billing Source: https://docs.insertaffiliate.com/revenuecat-web-billing > Track web subscriptions using RevenueCat Web SDK with Insert Affiliate\ # RevenueCat Web Billing Track commission on web subscriptions using [RevenueCat's Web SDK with Web Billing](https://www.revenuecat.com/docs/web/web-billing/overview) - managing subscriptions directly through RevenueCat's web platform. When you enable **RevenueCat Web Billing** tracking, you can attribute web subscriptions to affiliates by passing UTM parameters as purchase metadata. ## What You Can Track Once configured, Insert Affiliate automatically tracks: - RevenueCat web subscriptions made through the Web SDK - Initial subscription purchases - Subscription renewals - All transactions managed by RevenueCat's web billing system --- ## Prerequisites Before setting up Insert Affiliate tracking, you must have: - **RevenueCat Web SDK** installed and configured - **RevenueCat Web Billing** set up with Stripe - **Insert Affiliate SDK** initialized on your page - **Stripe Connect** configured in your Insert Affiliate dashboard --- ## RevenueCat Webhook Configuration **Important:** When configuring your RevenueCat webhook to send events to Insert Affiliate, you should **only send App Store and Google Play Store events** - not Stripe or Web Billing events. Since Insert Affiliate receives Stripe events directly through Stripe Connect (configured in Step 1 below), sending RevenueCat webhook events for Stripe/Web Billing transactions would result in duplicate transaction tracking. **To configure your RevenueCat webhook:** 1. Go to your RevenueCat dashboard → Project Settings → Integrations → Webhooks 2. When setting up the Insert Affiliate webhook, configure it to **only send events for:** - **App Store** (iOS) - **Google Play Store** (Android) 3. **Do not** include Stripe or Web Billing events in this webhook This ensures clean attribution: mobile transactions are tracked via RevenueCat webhooks, while web transactions are tracked via Stripe Connect. --- ## Setup Guide ### Step 1: Connect Your Stripe Account via Stripe Connect Since RevenueCat Web Billing uses Stripe under the hood, you need to connect your Stripe account to Insert Affiliate: 1. Go to [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) on the **Payments & Payouts** tab 2. Click **"Connect with Stripe"** 3. Complete the Stripe onboarding process: - Log in to your existing Stripe account (the same one connected to RevenueCat) - Provide required business information - Submit verification documents (if requested) 4. You'll be redirected back to Insert Affiliate once complete **Status indicators:** - **Active:** Your Stripe account is fully connected and ready - **Restricted:** Additional information needed - click "Continue Onboarding" - **Pending:** Documents under review (usually 1-2 business days) ✅ **Once your Stripe account is connected, Insert Affiliate will automatically receive Stripe events from RevenueCat transactions.** --- ## Implementation: SDK Integration ### Step 1: Install the Insert Affiliate SDK Add the Insert Affiliate SDK to your web application: ```bash npm install insert-affiliate-js-sdk ``` ### Step 2: Initialize Both SDKs Initialize both the Insert Affiliate SDK and RevenueCat Web SDK: ```javascript // Initialize Insert Affiliate SDK await InsertAffiliate.initialize('your_company_code'); // Initialize RevenueCat Web SDK const purchases = Purchases.configure('your_revenuecat_web_api_key'); ``` ### Step 3: Pass Affiliate Data During Purchase Before making a purchase, retrieve the affiliate identifier and company ID, then pass them as UTM parameters in the purchase metadata: ```javascript // Get the current affiliate identifier and company ID // Use ignoreTimeout: true to get the identifier even if attribution window expired const affiliateId = await InsertAffiliate.returnInsertAffiliateIdentifier(true); const companyId = await InsertAffiliate.returnCompanyId(); console.log('Affiliate ID:', affiliateId || 'none'); console.log('Company ID:', companyId || 'none'); // Prepare metadata with UTM parameters for RevenueCat Web Billing const metadata: Record = {}; if (affiliateId && affiliateId !== 'none') { metadata.utm_source = 'insertAffiliate'; metadata.utm_medium = companyId || 'none'; metadata.utm_campaign = affiliateId; } console.log('Purchase metadata:', JSON.stringify(metadata, null, 2)); // Get offerings and select a package const offerings = await purchases.getOfferings(); const selectedPackage = offerings.current?.availablePackages[0]; if (!selectedPackage) { console.error('No packages available'); return; } // Make the purchase with metadata const { customerInfo } = await purchases.purchase({ rcPackage: selectedPackage, metadata: metadata, }); console.log('Purchase successful!'); console.log('Active entitlements:', Object.keys(customerInfo.entitlements.active)); ``` ### Required UTM Parameters The following UTM parameters are required for proper affiliate attribution: - **`utm_source`**: Always set to `'insertAffiliate'` to identify Insert Affiliate conversions - **`utm_medium`**: Your Insert Affiliate company ID - **`utm_campaign`**: The affiliate's identifier (short code) **Important Notes:** - Always call `returnInsertAffiliateIdentifier()` and `returnCompanyId()` **before** initiating the purchase - Only include UTM parameters in metadata if an affiliate identifier exists - The metadata will be sent with the purchase and available in RevenueCat webhook events --- ## RevenueCat Web Purchase Links If you're using [RevenueCat Web Purchase Links](https://www.revenuecat.com/docs/web/web-billing/web-purchase-links) for online campaigns (such as email marketing, social media, or affiliate promotions), you **must** append UTM parameters to ensure proper affiliate tracking. **Important:** This also applies if you're using [RevenueCat Paywalls](https://www.revenuecat.com/docs/tools/paywalls) in your mobile app with an app-to-web flow. RevenueCat's native Paywalls feature does not support passing custom metadata on mobile platforms, so you must use one of these approaches: 1. **Redirect to Web Purchase Links** - Instead of using RevenueCat's Paywall UI, direct users to a Web Purchase Link with UTM parameters appended (recommended approach) 2. **Build a Custom Paywall** - Create your own paywall UI that fetches offerings and calls the purchase method with metadata directly ### How It Works RevenueCat Web Purchase Links are hosted payment pages that allow you to sell subscriptions without building your own checkout flow. To track affiliate attribution, append UTM parameters to these links. ### Required UTM Parameters - **`utm_source`**: Always set to `insertAffiliate` - **`utm_medium`**: Your Insert Affiliate company ID - **`utm_campaign`**: The affiliate's short code ### Example If your RevenueCat Web Purchase Link is: ```text https://pay.rev.cat/sandbox/viqxbcoudyfaeaae/ ``` You should append the UTM parameters: ```text ?utm_source=insertAffiliate&utm_medium={insertAffiliateCompanyId}&utm_campaign={affiliateShortCode} ``` #### Full Example With Parameters ```text https://pay.rev.cat/sandbox/viqxbcoudyfaeaxa/?utm_source=insertAffiliate&utm_medium=12345&utm_campaign=AFF123 ``` **Where:** - `utm_source=insertAffiliate` - Identifies this as an Insert Affiliate conversion - `utm_medium=12345` - Your unique Insert Affiliate company ID - `utm_campaign=AFF123` - The affiliate's short code --- ## How to Get Your Company ID You can find your Insert Affiliate company ID in your [dashboard settings](https://app.insertaffiliate.com/settings). --- ## How to Get the Affiliate Identifier The affiliate identifier (short code) can come from multiple sources: - **Deep linking**: When a user clicks an affiliate link, capture the identifier through your [deep linking platform](/settings-deep-linking-platform) - **Short code**: Users can manually enter or apply an affiliate short code - **URL parameters**: Automatically detected by the SDK [View JS SDK documentation →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) --- ## Deep Linking Platforms ### Can I Use RevenueCat Web Purchase Links? Whilst it is possible to use RevenueCat Web Purchase Links as the deep link you provide to your affiliates, we **do not recommend this** as doing so will cause **ONLY web-based transactions to be tracked**—not in-app purchases. This limitation exists due to how RevenueCat payment links handle the passing of `utm_source`, `utm_medium`, and `utm_campaign` parameters into the app upon claiming via [RevenueCat redemption links](https://www.revenuecat.com/docs/web/web-billing/redemption-links). **Recommended Approach:** If you want to use RevenueCat Web Purchase Links for your affiliates, you should: 1. Select **"RevenueCat Web Purchase Links"** in your Insert Affiliate settings to track web-based sales Company Settings with the Deep Linking Platform dropdown set to RevenueCat Web Purchase Links

Click to view full size

2. Implement [short codes](/short-codes) as a fallback mechanism within your mobile app 3. Prompt users within your app to identify which affiliate recommended them 4. Apply affiliate attribution for future in-app purchases based on their response This hybrid approach ensures comprehensive tracking across both web purchases (via UTM parameters in the Web Purchase Link) and in-app purchases (via short codes). **When to Use This Approach:** Only use RevenueCat Web Purchase Links as your deep linking platform if you are comfortable with the limitation that redemption links will not automatically attribute in-app purchases to affiliates. The short code fallback is essential for maintaining proper attribution for mobile transactions. --- ## Testing Your Setup ### Testing SDK Integration 1. Connect your Stripe account via [Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) (**Payments & Payouts** tab) 2. Initialize the Insert Affiliate SDK on your page 3. Initialize the RevenueCat Web SDK 4. Make a test purchase with UTM parameters in the metadata 5. Check your [transactions dashboard](https://app.insertaffiliate.com/affiliates) to confirm the transaction appears ### Testing Web Purchase Links 1. Create a RevenueCat Web Purchase Link 2. Append the required UTM parameters (utm_source, utm_medium, utm_campaign) 3. Click the link and complete a test purchase 4. Check your [transactions dashboard](https://app.insertaffiliate.com/affiliates) to verify the transaction is attributed --- ## Troubleshooting ### Transactions Not Showing Up Check these common issues: - **Stripe Connect status**: Verify your Stripe account shows as "Active" in [settings](https://app.insertaffiliate.com/settings#stripe-connect) (**Payments & Payouts** tab) - **UTM parameters**: Confirm you're passing all three required UTM parameters (utm_source, utm_medium, utm_campaign) - **SDK initialization**: Ensure the Insert Affiliate SDK is properly initialized and returning valid values - **RevenueCat Stripe connection**: Verify RevenueCat Web Billing is properly connected to the same Stripe account you connected via Stripe Connect - **Metadata format**: Check that UTM parameters are being passed correctly in the purchase metadata ### SDK Not Detecting Affiliate - **Deep link setup**: Verify your [deep linking platform](/settings-deep-linking-platform) is properly configured - **URL parameters**: Check that affiliate links include the proper `insertAffiliate` parameter - **SDK initialization timing**: Ensure the SDK is initialized before users initiate purchases - **Attribution window**: Verify the affiliate identifier hasn't expired (use `ignoreTimeout: true` if needed) ### Web Purchase Links Not Tracking - **UTM parameter format**: Ensure UTM parameters are properly URL-encoded - **Parameter spelling**: Double-check that parameter names are spelled correctly (utm_source, utm_medium, utm_campaign) - **Company ID**: Verify you're using the correct Insert Affiliate company ID - **Affiliate short code**: Confirm the affiliate short code is valid and active --- ## What Happens Next Once configured: 1. Purchases with UTM metadata automatically create commission records 2. View all transactions in your [dashboard](https://app.insertaffiliate.com/affiliates) 3. Configure [commission rates](/affiliate-commission) per affiliate 4. Set up [payment methods](/paying-affiliates) to pay your affiliates 5. RevenueCat handles subscription management while Insert Affiliate tracks attribution --- # Deep Linking Platform Setup guide Source: https://docs.insertaffiliate.com/settings-deep-linking-platform > Select a Deep Linking Platform to integrate with Insert Affiliate # Deep Linking Platform Insert Affiliate utilises deep linking to provide your affiliates with links that can open the app for referred potential customers. We adopt a flexible approach by incorporating third-party technologies that you are already familiar with. --- # In-App Purchase Verification Source: https://docs.insertaffiliate.com/settings-in-app-purchase-verification > Select an In-App Purchase Verification Platform to integrate with Insert Affiliate # In-App Purchase Verification To accurately track sales and profits, Insert Affiliate utilises receipt verification. We adopt a flexible approach by integrating with third-party technologies that you are already familiar with. --- # Short Codes Source: https://docs.insertaffiliate.com/short-codes > Learn how to create, assign, and manage short codes, shareable short code links, and short code visibility for your affiliates within the Insert Affiliate platform. # Short Codes Short codes provide a streamlined way for influencers and affiliates to promote your products, making them particularly effective for platforms like TikTok where links are less practical. ## What Are Short Codes? Short codes are 3 to 25 character alphanumeric identifiers (UUIDs) that directly associate purchases with an affiliate. They are designed to be simple, memorable, and easy to share verbally or visually. This makes them highly effective for viral marketing campaigns, especially on video-heavy platforms such as TikTok and Instagram. Unlike traditional deep links, short codes allow affiliates to promote offers without requiring their audience to click a link, increasing engagement in scenarios where clickable links aren’t feasible (e.g., in TikTok videos or live streams). ## Privacy-First Attribution Short code attribution is private by design. A user typing an affiliate's code into your app is a clear, deliberate action, so none of the machinery link-based attribution usually depends on is needed: - **No fingerprinting or probabilistic matching**: a purchase is attributed only when the affiliate's code is passed with it. Attribution either happened or it didn't. - **No cookies or cross-app tracking**: nothing follows users around the web, so ad blockers and strict browser privacy settings can't break attribution. - **Minimal data**: attributing a purchase requires only the affiliate's short code and your company ID, sent as metadata on the purchase by your integration. No sensitive user data is involved. - **No mobile attribution platform (MMP) required**: code redemption is deterministic, so complex attribution tooling is unnecessary. This makes **Short Code Only** mode a strong fit for apps that market themselves on privacy: affiliates still get shareable links and click analytics (see [Shareable Short Code Links](#shareable-short-code-links) below), while end users are never tracked across sites or apps. ## Shareable Short Code Links If your deep linking platform is set to **Short Code Only**, you can optionally give each affiliate a shareable link alongside their short code. This is useful for placements where a link *is* practical — link-in-bio pages, YouTube descriptions, newsletters — while your attribution continues to run entirely on short codes. Each affiliate's link follows this format: ``` https://insertaffiliate.link/{yourCompanyId}/{affiliateShortCode} ``` If you've configured a [custom domain](/custom-domains) and enabled it for new links, your domain is used instead — for example `https://links.yourcompany.com/{yourCompanyId}/{affiliateShortCode}`. ### What Followers See Opening the link shows a landing page that displays the affiliate's short code in large, easy-to-read code tiles, along with: - A **Copy code** button so followers can copy the code in one tap - Instructions to enter the code in your app - Download buttons for your app, if you've added your **iOS App Store Link** and/or **Google Play Store Link** in [Settings](https://app.insertaffiliate.com/settings) (**General** tab) Short code landing page shown to a visitor who opens an affiliate's shareable link: the affiliate's short code displayed in large code tiles with a Copy code button, step-by-step instructions, and app download buttons

Click to view full size

**Note:** The landing page displays the short code — it does not apply it automatically. As with any short code, the user enters it in your app and your integration passes it (together with your company ID) as metadata on the purchase for attribution. Your existing short code integration works unchanged. ### Click Analytics Opens of short code links are recorded in the same way as other deep link clicks, so they feed into your existing click analytics and [install event payments](/install-event-payments). ### How to Enable Short Code Links Short code links are **opt-in and disabled by default**, so nothing changes for your programme until you switch them on: 1. Go to your [Settings](https://app.insertaffiliate.com/settings) page (**General** tab) 2. Under the **Deep Linking Platform** section, select **Short Code Only** 3. Tick the checkbox **Include links that show the short code** 4. Save your settings Company Settings section in the Insert Affiliate dashboard settings showing deep linking platform and short code options

Click to view full size

Once enabled, each affiliate's link appears: - On the **affiliate's dashboard**, next to their short code - In your admin [Affiliates](https://app.insertaffiliate.com/affiliates) list **Tip:** If you haven't added an iOS App Store Link or Google Play Store Link in Settings (**General** tab), the landing page can't show download buttons — you'll see a warning in Settings until at least one store link is added. ### What Happens If You Disable Short Code Links If you later untick the checkbox: - Links are **no longer shown** on affiliate dashboards or your admin affiliates list - **Newly created short codes won't get working links** - Links your affiliates **already shared keep resolving**, so anything they've published (bios, video descriptions, posts) doesn't break ## Short Code Visibility You can choose whether short codes are visible to your affiliates or hidden entirely. This is useful if your programme relies solely on deep links and you want to give affiliates a simpler, links-only experience. ### How to Toggle Short Code Visibility 1. Go to your [Settings](https://app.insertaffiliate.com/settings) page (**General** tab) 2. Find the **Short Codes** dropdown 3. Select **Short Codes Enabled** or **Short Codes Disabled** 4. Save your settings ### What Happens When Short Codes Are Disabled When you disable short codes: - **Affiliates will only see their deep link** in their dashboard, settings page, and onboarding flow - **Short code metrics are hidden** from both your admin views and affiliate views - **The onboarding experience is simplified** — new affiliates see instructions focused solely on their deep link - **Short code performance cards are removed** from the admin dashboard This setting applies across your entire programme and takes effect immediately. ### When to Use Links-Only Mode Disabling short codes works best when: - Your app uses a deep linking platform such as Insert Links, Branch.io, or AppsFlyer - You want to simplify the experience for non-technical affiliates - Your tracking and attribution is handled entirely through deep links **Note:** If your deep linking platform is set to **Short Code Only**, short codes will always remain visible regardless of this setting, as they are your primary tracking method. --- ## Setting Short Codes for Affiliates Affiliate short codes are set during affiliate account creation and **cannot be modified afterward**. This ensures consistency and prevents confusion in tracking affiliate performance. When creating a new affiliate, you'll be prompted to set their short code. Choose carefully, as this will be permanent. If you wish to provide an affiliate with a new short code, please delete this affiliate via your [Affiliates](https://app.insertaffiliate.com/affiliates) section, and create their account again. ### Short Code Requirements 1. Must be between **3 and 25 characters long**. 2. Must contain only **letters and numbers** (alphanumeric characters). 3. Must be unique. --- ## Required Code ## IOS Setup For Swift Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateSwiftSDK). ## Android Setup For Android Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateAndroidSDK). ## React Native Setup For React Native Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateReactNativeSDK). ## Flutter Setup For Flutter Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert_affiliate_flutter_sdk). ## Javascript / Capacitor Setup For Javascript Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk). ## Unity Setup For Unity Short Code integration, follow the instructions on our [GitHub repository](https://github.com/Insert-Affiliate/InsertAffiliateUnitySDK). --- # Affiliate Social Posts Source: https://docs.insertaffiliate.com/social-posts # Affiliate Social Posts Affiliates can connect their social media accounts to automatically showcase their promotional content. Companies can then view affiliate posts directly in the dashboard, making it easy to discover top-performing promoters and track content creation. ## Overview The Social Posts feature connects affiliate content creation with your affiliate program: - **For Affiliates**: Connect social accounts and have promotional videos automatically imported - **For Companies**: View affiliate content, engagement metrics, and discover top promoters ## How It Works 1. **Affiliates connect their accounts** - Link TikTok, YouTube, or other social media accounts via secure OAuth 2. **Content is automatically imported** - Posts containing `#InsertAffiliate` are synced 3. **Companies can view content** - See affiliate videos in the dashboard with engagement metrics --- ## For Affiliates ### Connecting Social Accounts To connect your social media accounts: 1. Go to your [affiliate settings](https://app.insertaffiliate.com/affiliate-settings) 2. Find the **Connected Accounts** section 3. Click **Connect TikTok**, **Connect YouTube**, or connect other available platforms 4. Authorize Insert Affiliate to access your public video data 5. Your account will show as connected Social Media Connections section in the affiliate settings with Connect TikTok and Connect YouTube buttons highlighted

Click to view full size

### Creating Content For videos to appear in Insert Affiliate: 1. **Include the hashtag** - Add `#InsertAffiliate` to your video description or caption 2. **Sync your posts** - Click the "Sync Posts" button in your dashboard, or wait for automatic sync 3. **Link to companies** - Associate posts with specific companies you're promoting ### Managing Your Posts In the **My Content Posts** section of your dashboard, you can: - **View all imported posts** - See thumbnails, titles, and engagement metrics - **Filter by platform** - Show only TikTok or YouTube content - **Link posts to companies** - Associate content with companies you've joined - **Toggle marketplace visibility** - Choose whether posts appear on your marketplace profile - **Delete posts** - Remove posts you no longer want displayed - **Sync manually** - Pull in new posts on-demand ### Post Metrics For each imported video, you can view: - **Views** - Total view count - **Likes** - Number of likes/hearts - **Comments** - Comment count - **Shares** - Share count - **Published date** - When the video was posted --- ## For Companies ### Viewing Affiliate Content Companies can see affiliate social posts in several places: 1. **Company Dashboard** - View all posts from your affiliates in a dedicated section 2. **Individual Affiliate Profiles** - See posts from specific affiliates 3. **Marketplace** - View posts from affiliates who have opted in to display on marketplace ### What You Can See For each affiliate's content, you can view: - **Video thumbnails** - Quick preview of the content - **Video titles/captions** - The affiliate's messaging - **Engagement metrics** - Views, likes, comments, shares - **Platform** - Whether it's TikTok or YouTube - **Published date** - When content was posted - **Direct links** - Click through to view the original video ### Benefits for Companies - **Discover top promoters** - Identify affiliates creating high-engagement content - **Verify promotion quality** - See how affiliates are representing your brand - **Track content creation** - Monitor affiliate activity beyond just sales - **Inform decisions** - Use engagement data when evaluating affiliate partnerships --- ## Supported Platforms ### TikTok - Videos with `#InsertAffiliate` in the description are imported - Metrics include: views, likes, comments, shares - Requires TikTok account authorization ### YouTube - Videos with `#InsertAffiliate` in the description are imported - Metrics include: views, likes, comments - Requires YouTube/Google account authorization --- ## Privacy & Security ### For Affiliates - **OAuth-based authentication** - We never see or store your password - **Read-only access** - We only access public video data, nothing else - **You control visibility** - Choose which posts appear on marketplace - **Easy disconnection** - Remove connected accounts at any time ### Data We Access - Public video metadata (title, description, thumbnail) - Public engagement metrics (views, likes, comments, shares) - Video publication dates - Your public username on the platform ### Data We Don't Access - Private or unlisted videos - Account settings or private information - Direct messages - Ability to post or modify content --- ## Automatic Syncing Posts are synced automatically on a regular schedule. You can also trigger a manual sync at any time by clicking the **Sync Posts** button. ### Rate Limiting To prevent API abuse: - Manual sync is limited to once every 2 minutes per affiliate - Automatic background sync runs periodically for all connected accounts --- ## Troubleshooting ### Posts Not Appearing 1. **Check the hashtag** - Ensure `#InsertAffiliate` is in the video description 2. **Sync manually** - Click "Sync Posts" to pull in recent videos 3. **Check connection status** - Ensure your account shows as connected 4. **Wait for processing** - New videos may take a few minutes to appear ### Token Expired If you see "Token expired" on a connected account: 1. Click **Disconnect** on the affected account 2. Click **Connect** again to re-authorize 3. This refreshes your access token ### Videos Missing Metrics Some metrics may be unavailable if: - The video was recently published - The platform hasn't updated public metrics yet - The video has restricted visibility settings --- ## Best Practices ### For Affiliates 1. **Use the hashtag consistently** - Always include `#InsertAffiliate` in promotional content 2. **Sync regularly** - Keep your posts up to date for companies to see 3. **Enable marketplace visibility** - Show off your best content to attract new partnerships 4. **Link posts to companies** - Help companies see which content promotes their app ### For Companies 1. **Review affiliate content** - Understand how your app is being promoted 2. **Engage with top creators** - Reach out to affiliates with high-engagement content 3. **Use for quality control** - Ensure affiliates represent your brand appropriately 4. **Consider content in evaluations** - Factor in promotion quality when managing affiliates --- ## FAQ **Q: Is connecting my social account required?** A: No, it's completely optional. You can be an affiliate without connecting social accounts. **Q: Can companies see my private videos?** A: No. Only public videos with `#InsertAffiliate` in the description are imported. **Q: What if I delete a video from TikTok/YouTube?** A: You can also delete it from Insert Affiliate using the delete button on the post card. Deleted videos won't reappear on sync. **Q: Can I connect multiple accounts of the same platform?** A: Currently, you can connect one account per platform (one TikTok, one YouTube). **Q: Will this affect my social media account in any way?** A: No. Insert Affiliate has read-only access and cannot post, edit, or interact with your content. --- ## Support If you need help with social posts: - Check this documentation for common questions - Contact our support team through the dashboard - Email [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) for specific issues --- # Stripe Web Transactions Source: https://docs.insertaffiliate.com/stripe-web-transactions > Track web purchases through Stripe Checkout and subscriptions with Insert Affiliate\ # Stripe Web Transactions Track commission on purchases made through Stripe Checkout and subscriptions on your website - not just in-app purchases. When you enable **Stripe Web Payments** in your [settings](https://app.insertaffiliate.com/settings#web-based-transactions), you can track web transactions alongside your mobile purchases. ## What You Can Track Once configured, Insert Affiliate automatically tracks: - Stripe Checkout purchases (one-time and subscription) - Initial subscription purchases - Subscription renewals --- ## Setup Guide ### Step 1: Enable Web Payments 1. Go to [Settings → Web Transactions](https://app.insertaffiliate.com/settings#web-based-transactions) on the **Payments & Payouts** tab 2. Change **Web Transaction Method** from "Disabled" to **"Stripe Web Payments"** 3. Click **"Save Settings"** Web Based Transactions section in the Insert Affiliate dashboard settings with the web transaction method dropdown highlighted

Click to view full size

### Step 2: Set Up Stripe Connect Before you can track web transactions, you must connect your Stripe account: 1. Go to [Settings → Stripe Connect](https://app.insertaffiliate.com/settings#stripe-connect) on the **Payments & Payouts** tab 2. Click **"Connect with Stripe"** 3. Complete the Stripe onboarding process: - Log in to your existing Stripe account, OR - Create a new Stripe account - Provide required business information - Submit verification documents (if requested) 5. You'll be redirected back to Insert Affiliate once complete **Status indicators:** - **Active:** Your Stripe account is fully connected and ready - **Restricted:** Additional information needed - click "Continue Onboarding" - **Pending:** Documents under review (usually 1-2 business days) **That's it!** Web transaction tracking is now active. --- ## Implementation: Passing Affiliate Codes When creating a Stripe Checkout session, include both required fields in **all three metadata locations** to ensure proper tracking: ```javascript const session = await stripe.checkout.sessions.create({ line_items: [ { price: 'price_1234', quantity: 1, }, ], mode: 'subscription', success_url: 'https://example.com/success', cancel_url: 'https://example.com/cancel', // 1. Session metadata (available in checkout.session.completed event) metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, // 2. Subscription metadata (persists with subscription) subscription_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, }, // 3. Payment Intent metadata (available on each payment) payment_intent_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', }, }, }); ``` ### Required Metadata Fields Both of the following fields are **required** for proper affiliate attribution: - `insertAffiliate` - The affiliate's short code (identifier) - `insertAffiliateCompanyId` - Your Insert Affiliate company ID These fields must be passed in **all three metadata locations** (session, subscription, and payment intent) to ensure Insert Affiliate can properly track and attribute payments. --- ## How to Get the Required Values You need to retrieve both values from the Insert Affiliate SDK. Refer to your platform's SDK documentation for specific implementation details. ### Getting the Affiliate Identifier The affiliate identifier can come from multiple sources: - **Deep linking**: When a user clicks an affiliate link, capture the identifier through your [deep linking platform](/settings-deep-linking-platform) - **Short code**: Users can manually enter or apply an affiliate short code [View JS SDK documentation →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returninsertaffiliateidentifierignoretimeout) ### Getting the Company ID Your Insert Affiliate company ID is also required. [View JS SDK documentation →](https://github.com/Insert-Affiliate/insert-affiliate-js-sdk?tab=readme-ov-file#returncompanyid-1) ### Passing to Your Backend Send both values to your backend when creating checkout sessions: ```javascript const response = await fetch('/create-checkout-session', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ priceId: 'price_1234', insertAffiliate: affiliateId, insertAffiliateCompanyId: companyId, successUrl: window.location.origin + '/success', cancelUrl: window.location.origin + '/cancel', }), }); ``` --- ## Tracking Specific Line Items By default, Insert Affiliate tracks the **full invoice amount**. If your invoice contains multiple line items but you only want to pay commission on a subset of them, you can specify which Stripe price IDs should generate commission. Add the optional `insertAffiliateTrackedPrices` field to your `subscription_data` metadata as a comma-separated list of Stripe price IDs: ```javascript subscription_data: { metadata: { insertAffiliate: insertAffiliate || '', insertAffiliateCompanyId: insertAffiliateCompanyId || '', insertAffiliateTrackedPrices: 'price_abc123,price_def456', // optional }, }, ``` ### How It Works - Only the line items matching the listed price IDs contribute to the commission calculation - Line items not in the list are excluded from the gross amount - If you have a fixed platform fee configured (e.g. Stripe's $0.30), it is **pro-rated** proportionally across tracked and untracked line items, so only the tracked share is deducted — the full fixed fee is not charged against a small tracked amount ### When to Use This This is useful when a single invoice covers multiple products or services, but the affiliate should only receive commission on some of them — for example, if one line item is a setup fee and another is a recurring subscription. If `insertAffiliateTrackedPrices` is omitted, the full invoice is tracked as normal. --- ## Testing Your Setup ### Important Note About Testing **Insert Affiliate currently runs on a production Stripe Connect instance only.** This means: - You **cannot** use Stripe's test mode or test card numbers - You **must** use real payment methods for testing - **Recommended workaround:** Create a promo code in your Stripe Dashboard to make test transactions free or very low cost (e.g., $0.01) ### Testing Steps 1. Enable Stripe Web Payments in your settings 2. Connect your Stripe account via Stripe Connect 3. **(Optional but recommended)** Create a promo code in your [Stripe Dashboard](https://dashboard.stripe.com/coupons) for 100% off or a minimal amount 4. Make a real purchase with both required fields (`insertAffiliate` and `insertAffiliateCompanyId`) in the metadata 5. Apply your promo code if you created one 6. Check your [transactions dashboard](https://app.insertaffiliate.com/affiliates) to confirm the transaction appears --- ## Troubleshooting ### Transactions Not Showing Up Check these common issues: - **Stripe Connect status**: Verify your Stripe account shows as "Active" in [settings](https://app.insertaffiliate.com/settings#stripe-connect) (**Payments & Payouts** tab) - **Web Payments enabled**: Confirm "Stripe Web Payments" is selected in [settings](https://app.insertaffiliate.com/settings#web-based-transactions) - **Required metadata fields**: Confirm you're passing **both** `insertAffiliate` and `insertAffiliateCompanyId` in all three metadata locations (session, subscription_data, payment_intent_data) - **SDK initialization**: Ensure the Insert Affiliate SDK is properly initialized and returning valid values for both fields --- ## What Happens Next Once configured: 1. Purchases with affiliate metadata automatically create commission records 2. View all transactions in your [dashboard](https://app.insertaffiliate.com/affiliates) 3. Configure [commission rates](/affiliate-commission) per affiliate 4. Set up [payment methods](/paying-affiliates) to pay your affiliates --- ## Need Help? If you encounter any issues during setup, [contact support](/contacts) and we'll help you get configured. --- # Team Members Source: https://docs.insertaffiliate.com/team-members # Team Members Invite colleagues to help manage your affiliate program. Team members have full admin access to your Insert Affiliate dashboard, allowing multiple people to manage affiliates, view analytics, send messages, and handle payouts. ## Overview The team members feature allows you to: - **Invite Team Members**: Send email invitations to colleagues - **Manage Access**: Add or remove team members at any time - **Collaborate Effectively**: Multiple admins can work together on your affiliate program --- ## Plan Limits Team member limits vary by plan: | Plan | Team Members | |------|--------------| | Free | 1 (owner only) | | Starter | Up to 2 | | Growth | Up to 5 | | Enterprise | Unlimited | The team member count includes the account owner. For example, on the Starter plan with a limit of 2 team members, you (the owner) plus one additional team member can access the dashboard. --- ## Inviting Team Members ### How to Invite 1. Go to [Settings](https://app.insertaffiliate.com/settings) (**Team** tab) in your dashboard 2. Scroll to the **Team Management** section 3. Enter the email address of the person you want to invite 4. Click **Send Invite** Team Management section in the Insert Affiliate dashboard settings

Click to view full size

### What Happens Next 1. The invitee receives an email with a signup link 2. They create an account using that link 3. Once signed up, they automatically gain access to your dashboard 4. You'll see them listed in the Team Members section ### Pending Invites You can view all pending invites in the Team Management section. From here you can: - **Resend Invite**: Send a fresh invitation email if the original was missed - **Cancel Invite**: Remove a pending invitation before it's accepted --- ## Managing Team Members ### Viewing Your Team The Team Management section shows: - Email address of each team member - Display name (if set) - Role (Owner or Admin) - Date they joined ### Removing Team Members To remove a team member: 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Team** tab 2. Find the team member in the Team Management section 3. Click the trash icon next to their name 4. Confirm the removal When removed, the team member immediately loses access to your dashboard. They will need a new invitation to regain access. ### Important Notes - You cannot remove yourself from the team - The account owner cannot be removed - Pending invites count toward your team member limit --- ## Roles & Permissions ### Owner The original account creator is the Owner. The Owner: - Cannot be removed from the team - Has full access to all features - Can invite and remove team members - Can manage billing and subscription ### Admin (Team Members) Invited team members have the Admin role with access to: - View and manage all affiliates - Send messages to affiliates - View all transactions and analytics - Create and edit affiliate settings - Manage payouts and commissions --- ## Upgrading for More Team Members If you've reached your plan's team member limit: 1. Go to [Billing](https://app.insertaffiliate.com/billing) 2. Choose a plan with a higher team member limit 3. Once upgraded, you can immediately invite more team members --- ## Accepting a Team Invitation If you've received an invitation to join a team: 1. Check your email for the invitation from Insert Affiliate 2. Click the signup link in the email 3. Create your account with the **same email address** the invitation was sent to 4. You'll automatically be added to the team ### Troubleshooting Invitations **Didn't receive the email?** - Check your spam/junk folder - Ask the team owner to resend the invitation **Link not working?** - The invitation may have expired - ask for a new one - Make sure you're using the same email address the invite was sent to **Already have an account?** - Team invitations are for new accounts only - Contact the team owner to discuss access options --- ## Best Practices 1. **Invite trusted colleagues**: Team members have full admin access to your affiliate program 2. **Review team regularly**: Remove team members who no longer need access 3. **Use business emails**: Makes it easier to manage team access 4. **Plan for growth**: Consider your team size when choosing a plan --- ## Support Need help with team members? Contact us: - Email: [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) - Use the in-app support options --- # Testing & Sandbox Mode Source: https://docs.insertaffiliate.com/testing-sandbox > Learn how to test Insert Affiliate integration using sandbox transactions, test devices, and debugging tools before going live. # Testing & Sandbox Mode Test your Insert Affiliate integration thoroughly before going live. This guide covers sandbox testing, creating test affiliates, and debugging your integration. ## Supported Testing Environments You can fully test Insert Affiliate in the following environments: - **Local builds** - Run your app directly from your development environment - **TestFlight** (iOS) - Apple's beta testing platform - **Google Play Internal Testing** - Closed or internal testing tracks - **Google Play Closed Testing** - Limited audience beta testing Attribution and purchases work across all of these environments and will appear on your Insert Affiliate dashboard in real-time. ### Sandbox Transaction Labels If you use RevenueCat for purchase verification, sandbox transactions are clearly labeled as such in your dashboard, making it easy to distinguish test purchases from real ones. --- ## Creating Test Affiliates You can easily create test affiliate accounts using **email aliases**. This allows you to test multiple affiliates without needing multiple email accounts. ### Using Email Aliases Most email providers support the `+` alias syntax: **Example:** If your email is `michael@insertaffiliate.com` You can create test affiliates with: - `michael+testaffiliate1@insertaffiliate.com` - `michael+testaffiliate2@insertaffiliate.com` - `michael+ios-test@insertaffiliate.com` - `michael+android-test@insertaffiliate.com` All emails will be delivered to your main inbox (`michael@insertaffiliate.com`), but Insert Affiliate treats each as a separate affiliate account. ### Creating a Test Affiliate 1. Go to [Create Affiliate](https://app.insertaffiliate.com/create-an-affiliate) 2. Select **"Create Affiliate (Admin)"** 3. Enter your test email (e.g., `yourname+test@example.com`) 4. Create and paste an affiliate deep link 5. Click **Create Affiliate** Create an Affiliate form in the Insert Affiliate dashboard with admin mode selected and the affiliate short code shown

Click to view full size

Note the affiliate's **short code** - you'll use this for testing. --- ## Testing Methods There are two primary ways to test your integration: ### Method 1: Short Code Testing (Recommended) Testing with short codes is the fastest and most reliable way to verify your integration. **Why Short Codes?** Short code testing isolates Insert Affiliate from your deep linking platform, allowing you to: - Verify Insert Affiliate integration independently - Test without dealing with deep linking complexity - Quickly iterate during development - Identify whether issues are with Insert Affiliate or deep linking **How to Test with Short Codes** 1. **Add short code input to your app** - Implement a way to manually enter short codes (see [Short Codes](/short-codes) for implementation details) 2. **Enable verbose logging** - Turn on SDK logging to see what's happening 3. **Run your app** - Launch on a test device or simulator 4. **Enter the short code** - Input your test affiliate's short code 5. **Verify attribution** - Check logs to confirm the short code is stored 6. **Make a test purchase** - Complete a sandbox transaction 7. **Check your dashboard** - Verify the transaction appears in [Insert Affiliate](https://app.insertaffiliate.com/) **Interpreting Results** ✅ **If attribution works with short codes but NOT deep links:** - The issue is with your deep linking platform integration - Insert Affiliate is working correctly - Focus debugging on deep link handling ❌ **If attribution doesn't work with short codes:** - The issue is with your Insert Affiliate or purchase verification setup - Follow the [Troubleshooting](/troubleshooting) guide ### Method 2: Deep Link Testing Once short code testing works, test the complete flow with deep links. **Testing Deep Links (App Already Installed)** 1. **Build and install your app** on a test device 2. **Click an affiliate's deep link** (send it via email, message, or QR code) 3. **App should open** with the affiliate identifier 4. **Verify attribution** - Check logs to confirm the short code is stored 5. **Make a test purchase** - Complete a sandbox transaction 6. **Check your dashboard** - Verify the transaction appears **Testing Deep Links (App Not Installed - "Cold Start")** This tests the full user experience when someone clicks an affiliate link without having your app installed. **Standard Method:** 1. **Uninstall your app** from the test device 2. **Click the affiliate link** - Should take you to the App Store/Play Store 3. **Install the app** from the store 4. **Open the app** - Attribution should work on first launch 5. **Make a test purchase** - Complete a sandbox transaction 6. **Verify in dashboard** - Check the transaction appears **Faster Method (Insert Links Only):** If you're using Insert Links, you can test cold start attribution without going through the app store: 1. **Uninstall your app** 2. **Tap the affiliate link** - You'll be taken to the App Store page 3. **Don't install from the store** - Instead, install locally from Xcode/Android Studio 4. **Launch the locally-installed app** 5. If Insert Links is configured correctly, attribution will work exactly as if installed from the store For other deep linking platforms, check their documentation for cold start testing capabilities. --- ## Sandbox Purchases ### iOS Sandbox Testing **Requirements:** - Sandbox Apple ID (created in App Store Connect) - Logged into sandbox account on test device - Test products configured in App Store Connect **Steps:** 1. Create a sandbox tester account in [App Store Connect](https://appstoreconnect.apple.com/) 2. Sign out of your regular App Store account on your device 3. Launch your app and attempt a purchase 4. When prompted, sign in with your sandbox account 5. Complete the test purchase (it's free) 6. Verify the transaction appears in your Insert Affiliate dashboard **Note:** Sandbox purchases on iOS are clearly marked in your dashboard if using RevenueCat. ### Android Sandbox Testing **Requirements:** - License tester account added in Google Play Console - Test products configured - App uploaded to internal testing track (doesn't need to be reviewed) **Steps:** 1. Add your test email as a license tester in [Google Play Console](https://play.google.com/console/) 2. Install your app via internal testing track 3. Make a test purchase (use a test credit card or it will be free) 4. Complete the purchase 5. Verify the transaction appears in your Insert Affiliate dashboard --- ## Debugging Your Integration ### Enable Verbose Logging All Insert Affiliate SDKs support verbose logging. Enable this in your development builds to see: - When deep links are received - When short codes are stored - When purchases are sent to Insert Affiliate - Any errors or issues Check your platform's SDK documentation for how to enable verbose logging. ### Common Debugging Scenarios **Scenario 1: Short Codes Work, Deep Links Don't** **Diagnosis:** Issue with deep linking platform integration **Debug steps:** 1. Log the deep link URL your app receives on launch 2. Verify it matches the format your deep linking platform expects 3. Check that you're passing the link to Insert Affiliate SDK 4. Review your deep linking platform's documentation **Scenario 2: Attribution Works, Purchases Don't Appear** **Diagnosis:** Issue with purchase verification integration **Debug steps:** 1. Verify webhook configuration (RevenueCat/Apphud/Iaptic) 2. Check that affiliate identifier is being passed to purchase platform 3. For RevenueCat: Verify `insert_affiliate` attribute appears in RevenueCat dashboard 4. Review [Troubleshooting](/troubleshooting#my-deep-linking-works-but-transactions-still-arent-tracked) guide **Scenario 3: Nothing Works** **Diagnosis:** Multiple issues or setup problems **Debug steps:** 1. Start with [Quick Start](/quick-start) guide 2. Verify API key is correct in SDK initialization 3. Check Insert Affiliate dashboard settings are configured 4. Enable verbose logging 5. Test with short codes first 6. Follow complete [Troubleshooting](/troubleshooting) guide --- ## Testing Checklist Use this checklist to ensure thorough testing before launch: ### Basic Integration Testing - [ ] Short code attribution works - [ ] Sandbox purchases appear in dashboard - [ ] Purchase amounts are correct - [ ] Verbose logging shows no errors ### Deep Link Testing - [ ] Deep links open the app when installed - [ ] Deep links attribute correctly when app is installed - [ ] Attribution works on first launch after install - [ ] Cold start attribution works (link → store → install → launch) ### Platform-Specific Testing - [ ] Tested on iOS (if applicable) - [ ] Tested on Android (if applicable) --- ## Best Practices ### During Development 1. **Always test with short codes first** - Isolates issues 2. **Use verbose logging liberally** - Helps catch issues early 3. **Test frequently** - Don't wait until the end to test integration 4. **Test on real devices** - Simulators can behave differently ### Before Launch 1. **Complete the testing checklist** - Ensure all scenarios are covered 2. **Test cold start attribution** - Critical user experience 3. **Review your dashboard** - Familiarize yourself with the data ### After Launch 1. **Monitor initial transactions** - Verify everything works in production 2. **Keep verbose logging available** - Use debug builds if issues arise --- ## Getting Help If you encounter issues during testing: 1. **Check [Troubleshooting](/troubleshooting)** - Step-by-step debugging guide 2. **Review platform documentation** - Deep linking and purchase verification guides 3. **Contact support** - Email [michael@insertaffiliate.com](mailto:michael@insertaffiliate.com) or visit [app.insertaffiliate.com/help](https://app.insertaffiliate.com/help) --- ## Next Steps Once testing is complete: - **Launch to production** - Deploy your fully-integrated app - **Create real affiliates** - See [Creating Affiliates](/create-affiliate) - **Set up affiliate self-signup** - [Affiliate Self-Signup](/create-affiliate-affiliate-self-signup) - **Configure commission rates** - [Setting Commission Rates](/affiliate-commission) - **Explore advanced features** - [Features & Tools](/app-affiliate-marketplace) --- # Troubleshooting Source: https://docs.insertaffiliate.com/troubleshooting > Testing sandbox transactions and debugging common issues with Insert Affiliate integration. # Troubleshooting ## Testing Sandbox Transactions Before Going Live You can fully test Insert Affiliate using the following environments: - Local builds - TestFlight - Google Play Internal or Closed testing tracks Attribution and purchases work across all of these environments and will appear on your Insert Affiliate dashboard. If you use RevenueCat, sandbox transactions are clearly labelled as such. ### Creating a Test Affiliate You can easily create test affiliate accounts using email aliases. **Example:** if your email was `michael@insertaffiliate.com` You could use `michael+testaffiliate@insertaffiliate.com` --- ## Debugging Guide ### Verbose Logging Verbose logging is an optional setting in our SDKs that outputs additional diagnostic information. **Enable this when investigating issues with your integration.** --- ## My Affiliate Transactions Aren't Showing Up Follow these debugging steps in order. Only move on once you've confirmed the previous step works. ### Step 1 — Test with a Short Code (instead of a Deep Link) This helps you verify whether the issue lies with Insert Affiliate or with your deep-linking provider. 1. [Set up a method in your app to manually enter a short code](/short-codes) before checkout. 2. Run the app locally, via TestFlight, or via Google Play internal/closed testing. 3. Enter the short code of your test affiliate (e.g. `michael+testaffiliate@insertaffiliate.com`). 4. Check your logs for confirmation that the short code has been received. 5. Make a purchase and verify that it appears on your Insert Affiliate dashboard. **If short-code attribution works but deep linking does not** → the issue is your deep-linking integration. ### Verifying Your Deep-Linking Integration Use extensive logging to confirm each step. 1. **Log the link the app receives on launch.** - Ensure it matches what you expect. - If not, consult your deep-link provider's documentation. 2. **After passing the link to our SDK, log the stored affiliate short code.** - This should match the short code visible on your dashboard. If all of the above works, your deep linking is fine. **Your issue is instead with passing the affiliate identifier into your purchase/receipt verification platform (e.g. RevenueCat).** --- ## My Integration Works, But Only If the App Is Already Installed If attribution only works on fresh installs, the issue is almost always one of the following: ### 1. Deep Linking Isn't Set Up Correctly Log the link the app receives after installing via the app store from a clicked link. If this logs correctly, proceed to step 2. ### 2. You Are Not Using the "Short Code Set" Callback Our SDKs provide a callback that fires once a short code has been stored. You must use this to forward the affiliate identifier to your receipt verification platform (e.g. RevenueCat). --- ## My Deep Linking Works, But Transactions Still Aren't Tracked If you can see the link, can retrieve the correct short code, and attribution appears correct - but no transactions show - check: ### 1. Attribution Timeout If you have set an [attribution timeout](/attribution-timeout), it may have expired. Remove it during testing and validate again. ### 2. Prevent Affiliate Transfer If you have enabled [Prevent Affiliate Transfer](/prevent-affiliate-transfer), new affiliate links won't overwrite existing attribution. Clear the app's storage or reinstall to reset attribution during testing. ### 3. Affiliate Short Code Isn't Passed to Your Receipt Verification System Depending on your setup (RevenueCat, Iaptic, direct StoreKit / Play Billing), you must pass the short code during purchase or receipt validation. Review the GitHub SDK ReadMe and documentation for your chosen purchase platform. --- ## Using RevenueCat: deep links work but transactions don't appear If you are using RevenueCat for receipt validation, the following steps are mandatory. Missing any of these will prevent Insert Affiliate from receiving purchase events, even if deep linking and short-code attribution are working correctly. ### 1. RevenueCat webhook to Insert Affiliate (required for all SDKs) You must configure RevenueCat to send purchase events to Insert Affiliate via webhook. ### 2. Webhook setup Go to RevenueCat and create a new webhook: - Configure the webhook with these settings: - **Webhook URL:** `https://api.insertaffiliate.com/v1/api/revenuecat-webhook` - **Authorization header:** Use the value from your Insert Affiliate dashboard (you'll get this in step 4) - Set **"Event Type"** to **"All events"** ### 3. In your Insert Affiliate dashboard settings: - Navigate to the verification settings (**Integrations** tab) - Set the in-app purchase verification method to **RevenueCat** Back in your Insert Affiliate dashboard: ### 4. Locate the RevenueCat webhook authentication header value - Copy this value - Paste it as the **Authorization header** value in your RevenueCat webhook configuration Purchase Verification Settings with RevenueCat selected, showing the webhook URL and the RevenueCat webhook authentication header value to copy

Click to view full size

### App Store / Play Store server notifications RevenueCat requires server-to-server notifications from the App Store or Play Store so it can relay subscription and purchase updates. Make sure you have set up: - Apple App Store Server Notifications - Google Play Real-Time Developer Notifications (RTDN) **[View RevenueCat Server Notifications Documentation →](https://www.revenuecat.com/docs/platform-resources/server-notifications/apple-server-notifications)** **Without these, RevenueCat won't receive full or timely purchase data — meaning Insert Affiliate won't either.** ### 5. Confirm the Insert Affiliate attribute inside RevenueCat 1. Open a purchase inside your [RevenueCat dashboard](https://app.revenuecat.com/overview). 2. On the transaction detail page, look for the **Attributes** panel on the right-hand side. 3. You should see: `insert_affiliate: ` **If this attribute is present and correct** → RevenueCat is receiving the affiliate code successfully. **If it is missing** → the short code is not being passed to RevenueCat. - This means the issue is before RevenueCat (deep link → app → SDK → attribute step). This single check determines immediately whether the fault is in: - Deep linking - Your Insert Affiliate SDK integration - Or your RevenueCat setup ### 6. If the attribute exists but you still don't see sales in Insert Affiliate If `insert_affiliate` is visible inside RevenueCat but the sale does not appear on your Insert Affiliate dashboard, then the issue is one of: #### a) Webhook not firing or misconfigured Double-check the webhook URL and ensure: - It is active - It has not been changed - No authentication/headers are missing ### 7. If the attribute is missing If you do not see the `insert_affiliate` attribute: - Deep linking may not be passing the correct link into your app - The short code callback may not be handled - You may not be setting the RevenueCat setAttributes at the right moment - The user might not be attributed before the purchase occurs - The attribute may be overwritten elsewhere in your code Proceed with: - Deep linking debugging - Short-code testing - Verifying SDK callbacks - Checking runtime logs to confirm when the attribute is set --- ## Using Adapty: deep links work but transactions don't appear If you are using Adapty for receipt validation, the following steps are mandatory. Missing any of these will prevent Insert Affiliate from receiving purchase events, even if deep linking and short-code attribution are working correctly. ### 1. Adapty webhook to Insert Affiliate (required for all SDKs) You must configure Adapty to send purchase events to Insert Affiliate via webhook. ### 2. Webhook setup 1. In your [Insert Affiliate dashboard](https://app.insertaffiliate.com/settings): - Set **In-App Purchase Verification** to **Adapty** - Copy the **Adapty Webhook URL** - Copy the **Adapty Webhook Authorization Header** value 2. In the [Adapty Dashboard](https://app.adapty.io/integrations): - Navigate to **Integrations** → **Webhooks** - Set **Production URL** to the webhook URL from Insert Affiliate - Set **Sandbox URL** to the same webhook URL - Paste the authorization header value into **Authorization header value** - Enable these options: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** - Save the configuration ### 3. Confirm the Insert Affiliate attribute inside Adapty 1. Go to [app.adapty.io/profiles/users](https://app.adapty.io/profiles/users) 2. Find and select the user who made the test purchase 3. Look for the **Custom attributes** section 4. You should see: `insert_affiliate` with format `{SHORT_CODE}-{UUID}` - Example: `SAVE20-a1b2c3d4-e5f6-7890-abcd-ef1234567890` **If this attribute is present and correct** → Adapty is receiving the affiliate code successfully. **If it is missing** → the short code is not being passed to Adapty. - This means the issue is before Adapty (deep link → app → SDK → updateProfile step). This single check determines immediately whether the fault is in: - Deep linking - Your Insert Affiliate SDK integration - Or your Adapty setup ### 4. If the attribute exists but you still don't see sales in Insert Affiliate If `insert_affiliate` is visible inside Adapty but the sale does not appear on your Insert Affiliate dashboard, then the issue is one of: #### a) Webhook not firing or misconfigured Double-check the webhook configuration and ensure: - Both Production URL and Sandbox URL are set correctly - Authorization header value is correct - **Send user attributes** is enabled - The webhook is saved and active #### b) Missing webhook options Ensure all required options are enabled: - **Exclude historical events** - **Send attribution** - **Send trial price** - **Send user attributes** ### 5. If the attribute is missing If you do not see the `insert_affiliate` attribute: - Deep linking may not be passing the correct link into your app - The short code callback may not be handled - You may not be calling `Adapty.updateProfile` with the affiliate identifier - The user might not be attributed before the purchase occurs - The attribute may be overwritten elsewhere in your code Proceed with: - Deep linking debugging - Short-code testing - Verifying SDK callbacks - Checking runtime logs to confirm when `updateProfile` is called --- ## Android: Install Referrer Not Working During Testing If you are testing the "app not installed" flow on Android (deferred deep linking via Google Play Install Referrer) and attribution is not being applied after install, the most common cause is a **stale Google Play Store session**. ### The Problem When the Google Play Store is already open to your app's listing page and you navigate to the same page again via an affiliate link, **Google Play ignores the referrer parameter** in the URL. This means the Install Referrer API returns empty data and attribution is lost. This happens frequently during testing because you are repeatedly installing and uninstalling the same app, keeping the Play Store open to that page between attempts. ### The Fix Before each test of the not-installed flow: 1. **Force close the Google Play Store** — go to Settings → Apps → Google Play Store → Force Stop, or run `adb shell am force-stop com.android.vending` 2. **Uninstall the app** 3. **Then** click the affiliate link and install This ensures the Play Store processes the referrer URL as a fresh navigation, which is how real users will experience it — they won't already have the Play Store open to your app's page. ### Important This is only a testing issue. Real users clicking an affiliate link for the first time will not have the Play Store open to your app's page, so the referrer will be captured correctly. --- ## Can I Test a "Cold Start" (App Not Installed) Deep Link Without Going Through the App Store? **With Insert Links, yes you can.** With other providers, you need to check their documentation. ### To test locally using Insert Links: 1. Tap the affiliate link with the app uninstalled. 2. When taken to the app store page, do not install the app. 3. Install the app locally instead. 4. If your Insert Links setup is correct, attribution will behave exactly as it would if you had installed via the app store. --- # Webhook Notifications | Insert Affiliate Source: https://docs.insertaffiliate.com/webhooks > Receive real-time notifications when affiliates are created or deactivated. Configure a webhook endpoint to sync affiliate lifecycle events with your own systems. # Webhook Notifications Receive real-time notifications when affiliates are created or deactivated in your programme. Webhooks let you sync affiliate state with your own systems automatically — no polling required. --- ## How It Works When an affiliate is created or removed from your company, Insert Affiliate sends an HTTP POST request to your configured webhook URL with details about the event. This happens automatically in the background and does not delay the affiliate operation. --- ## Setting Up Webhooks 1. Go to [Settings](https://app.insertaffiliate.com/settings) → **Integrations** tab 2. Scroll to the **Webhook Notifications** section 3. Enter your **Webhook URL** — this must use HTTPS 4. Optionally enter a **Bearer Token** — this will be sent in the `Authorization` header so your server can verify requests are genuinely from Insert Affiliate 5. Click **Save Changes** Webhook Notifications section in the Insert Affiliate dashboard settings

Click to view full size

Your bearer token is encrypted at rest and never displayed in full after saving. --- ## Webhook Events ### `affiliate.created` Sent when an affiliate is added to your company. This includes all creation methods: manually adding an affiliate from the dashboard, approving a self-signup application, or accepting an affiliate's join request. **Payload:** ```json { "event": "affiliate.created", "affiliate_id": "ia_45fee001", "email": "affiliate@example.com", "deep_link": "https://myapp.link/ref/abc123", "occurred_at": "2026-03-18T12:00:00.000Z" } ``` **Fields:** | Field | Type | Description | |---|---|---| | `event` | string | Always `"affiliate.created"` | | `affiliate_id` | string | A deterministic identifier for the affiliate, derived from their email. Format: `ia_` followed by 8 hexadecimal characters. Consistent across all events for the same affiliate. | | `email` | string | The affiliate's email address | | `deep_link` | string | The affiliate's assigned deep link URL. This is included when a deep link has been assigned (e.g. during self-signup approval or join request acceptance). May be an empty string if no deep link has been assigned yet. | | `occurred_at` | string | ISO 8601 timestamp of when the event occurred | --- ### `affiliate.deactivated` Sent when an affiliate is removed from your company. **Payload:** ```json { "event": "affiliate.deactivated", "affiliate_id": "ia_45fee001", "email": "affiliate@example.com", "deep_link": "https://myapp.link/ref/abc123", "occurred_at": "2026-03-18T14:30:00.000Z" } ``` **Fields:** | Field | Type | Description | |---|---|---| | `event` | string | Always `"affiliate.deactivated"` | | `affiliate_id` | string | The same deterministic identifier that was sent in the `affiliate.created` event for this affiliate. Use this to match creation and deactivation events. | | `email` | string | The affiliate's email address | | `deep_link` | string | The deep link URL that was assigned to the affiliate at the time of removal. Empty string if no deep link was assigned. | | `occurred_at` | string | ISO 8601 timestamp of when the event occurred | --- ## Authentication If you configured a bearer token, every webhook request includes the header: ``` Authorization: Bearer ``` Your server should verify this header matches the token you configured in Insert Affiliate to ensure requests are legitimate. --- ## Behaviour Notes - **Fire-and-forget** — Webhook delivery does not block the affiliate operation. If your endpoint is down or returns an error, the affiliate is still created or removed as normal. - **HTTPS only** — Webhook URLs must use HTTPS for security. - **Timeout** — Requests time out after 10 seconds. Ensure your endpoint responds promptly. - **No retries** — Failed webhooks are not retried. If reliability is critical, consider logging received events on your end and periodically reconciling against the Insert Affiliate dashboard. - **Consistent affiliate IDs** — The `affiliate_id` is deterministic and based on the affiliate's email. The same email will always produce the same `affiliate_id`, so you can reliably match `created` and `deactivated` events. --- ## Example Use Cases - **Sync affiliates to your CRM** — Automatically create or archive contacts when affiliates join or leave - **Trigger onboarding workflows** — Start an internal onboarding flow when a new affiliate is approved - **Update your own database** — Keep your user records in sync with affiliate status changes - **Slack or email alerts** — Forward events to a notification channel for your team