Influencer Campaign Planner
Run ID: 69cb855d61b1021a29a89d892026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Plan an influencer marketing campaign with ideal influencer profiles, outreach templates, contract terms, content guidelines, and ROI tracking framework.

Step 1/3: Audience Analysis for Influencer Campaign Planning

Executive Summary

This document provides a comprehensive analysis of the target audience, a foundational step for developing an effective influencer marketing campaign. Understanding the audience's demographics, psychographics, behaviors, and content consumption habits is crucial for identifying suitable influencers, crafting compelling content, selecting appropriate platforms, and ultimately achieving campaign objectives. This analysis outlines key audience segments, their motivations, pain points, and preferred engagement channels, offering strategic recommendations to guide subsequent campaign planning steps.

Introduction: The Critical Role of Audience Analysis

A successful influencer campaign starts with a deep understanding of who you are trying to reach. Without this clarity, influencer selection can be misguided, content irrelevant, and campaign efforts ineffective. This audience analysis aims to paint a vivid picture of your ideal customer, enabling data-driven decisions for every aspect of your influencer strategy.

Target Audience Profile: Detailed Breakdown

To create an impactful campaign, we need to move beyond basic demographics and delve into the psychological and behavioral aspects of your audience.

1. Demographics

  • Age Range: [e.g., 25-45 years old] - Impacts platform choice, content style, and influencer age range.
  • Gender Split: [e.g., 60% Female, 40% Male, or Gender-Neutral] - Influences messaging, product representation, and influencer gender balance.
  • Geographic Location: [e.g., Urban and suburban areas in US, specifically NYC, LA, Chicago] - Crucial for local campaigns, regional content, and time zone considerations.
  • Socioeconomic Status/Income Level: [e.g., Middle to upper-middle class, disposable income for premium goods/services] - Informs product positioning, pricing perception, and aspirational messaging.
  • Education Level: [e.g., College-educated professionals] - Affects complexity of messaging and content depth.
  • Occupation: [e.g., Young professionals, parents, students, entrepreneurs] - Provides insight into daily routines, time constraints, and professional interests.

2. Psychographics

  • Interests & Hobbies: [e.g., Health & wellness, sustainable living, technology, travel, DIY, fashion, gaming, specific sports] - Directly informs content themes and influencer niches.
  • Values & Beliefs: [e.g., Authenticity, community, environmental responsibility, personal growth, convenience, innovation] - Guides brand alignment, ethical considerations, and emotional appeals.
  • Lifestyle: [e.g., Busy urban dwellers, health-conscious families, adventurous travelers, homebodies] - Shapes content scenarios and product integration.
  • Personality Traits: [e.g., Early adopters, trend-followers, cautious consumers, brand loyalists, aspirational, practical] - Helps tailor tone of voice and influencer persona.
  • Attitudes Towards Your Product/Industry: [e.g., Skeptical of marketing, open to new experiences, seeking solutions to specific problems] - Crucial for overcoming objections and highlighting benefits.

3. Behavioral Insights

  • Online Habits:

Platforms Most Used: [e.g., Instagram (Stories, Reels), TikTok, YouTube (long-form reviews), Pinterest (inspiration), LinkedIn (professional insights)] - Directly dictates platform focus for the campaign.*

Content Preferences: [e.g., Short-form video, tutorials, behind-the-scenes, authentic reviews, aesthetically pleasing imagery, educational content, live streams] - Informs content format and style guidelines.*

Time Spent Online: [e.g., Evenings, weekends, during commutes] - Optimizes posting times for maximum reach and engagement.*

  • Purchase Journey & Decision-Making:

* Discovery Phase: How do they typically find new products/services? [e.g., Social media recommendations, online searches, friend referrals]

* Consideration Phase: What influences their decision? [e.g., Peer reviews, expert opinions, product demonstrations, brand values, price comparisons]

* Purchase Triggers: What prompts them to buy? [e.g., Limited-time offers, positive testimonials, solving a specific pain point, aspirational desire]

* Post-Purchase Behavior: Are they likely to review, share, or become repeat customers?

  • Pain Points, Needs & Aspirations:

* Pain Points: What problems does your product/service solve for them? [e.g., Lack of time, stress, financial insecurity, health issues, complexity, limited options]

* Needs: What are their functional and emotional needs? [e.g., Convenience, efficiency, belonging, self-expression, safety, status, knowledge]

Aspirations: What do they aspire to be or achieve? [e.g., Healthier, wealthier, more knowledgeable, more confident, more connected] - Key for crafting aspirational content and emotional connections.*

4. Influencer Engagement Patterns

  • Types of Influencers They Follow: [e.g., Macro-influencers for trends, micro-influencers for authenticity/niche expertise, celebrity endorsements for aspiration]
  • Content Formats They Engage With Most: [e.g., Instagram Stories polls, TikTok challenges, YouTube Q&A, blog posts, live streams]
  • Level of Trust: Do they trust influencer recommendations? What makes an influencer credible to them? [e.g., Personal experience, transparency, alignment with values]
  • Call to Action Responsiveness: How do they typically respond to CTAs from influencers (e.g., swipe up, link in bio, comment to enter)?

Key Audience Segments (Potential)

Based on the detailed profile, it's often beneficial to identify distinct segments within your broader audience. Tailoring content and influencer selection to these segments can significantly increase campaign effectiveness.

  • Example Segment 1: "The Busy Professional"

* Demographics: 30-45, urban, high income, college-educated.

* Psychographics: Values efficiency, convenience, quality, self-care, professional advancement.

* Pain Points: Lack of time, stress, desire for premium solutions.

* Influencer Fit: Experts in productivity, wellness coaches, luxury lifestyle influencers, tech reviewers.

* Content Focus: Time-saving tips, premium product benefits, stress reduction, professional growth.

  • Example Segment 2: "The Eco-Conscious Consumer"

* Demographics: 25-35, suburban/urban, mid-income, environmentally aware.

* Psychographics: Values sustainability, ethical sourcing, community, health.

* Pain Points: Guilt over environmental impact, difficulty finding truly sustainable products.

* Influencer Fit: Eco-lifestyle bloggers, sustainable fashion advocates, zero-waste creators, ethical brand reviewers.

* Content Focus: Product transparency, sustainable practices, impact stories, DIY alternatives.

Action Item: Define your primary and secondary audience segments based on your specific product/service.

Data Sources & Methodology (Proposed)

To gather the insights for the above analysis, a multi-faceted approach is recommended:

  • Internal Data: CRM data, past campaign performance, website analytics, customer surveys, sales data, social media insights (follower demographics, engagement rates).
  • Market Research: Industry reports, competitor analysis, consumer trend reports (e.g., from Nielsen, Statista, Pew Research).
  • Social Listening & Sentiment Analysis: Monitoring conversations around your brand, competitors, and industry on social media platforms to identify trends, pain points, and influential voices.
  • Audience Research Tools: Using tools like SimilarWeb, SparkToro, BuzzSumo, or native platform insights (e.g., Facebook Audience Insights, Instagram Insights) to identify demographics, interests, and content consumption habits.
  • Surveys & Focus Groups: Direct engagement with potential or existing customers to gather qualitative insights on motivations, preferences, and feedback.

Strategic Implications & Recommendations for Influencer Campaign

Based on this comprehensive audience analysis, here are key recommendations for the subsequent steps of your influencer campaign:

1. Influencer Profile Alignment

  • Authenticity & Relatability: Prioritize influencers whose personal brand, values, and lifestyle genuinely align with the identified audience psychographics and values. Authenticity is paramount for building trust.
  • Niche Expertise: For specific pain points or interests, target micro- or nano-influencers who have deep expertise and highly engaged, niche communities.
  • Demographic Match: Ensure influencers' primary audience demographics (age, location, interests) closely mirror your target audience.
  • Engagement Over Follower Count: Focus on influencers with high engagement rates, as this indicates an active and receptive audience, rather than just large follower counts.
  • Diversity & Inclusion: Consider diversifying your influencer pool to reflect the diverse nature of your audience, ensuring broader representation and appeal.

2. Content Strategy & Formats

  • Platform-Specific Content: Develop content strategies tailored to the preferred platforms (e.g., short, dynamic videos for TikTok/Reels; aesthetically pleasing imagery for Instagram; in-depth reviews/tutorials for YouTube; professional insights for LinkedIn).
  • Problem/Solution Focus: Craft content that directly addresses the audience's identified pain points and clearly positions your product/service as the solution.
  • Aspirational & Value-Driven Messaging: Leverage the audience's aspirations and values by creating content that inspires, educates, or aligns with their personal goals.
  • Authentic Storytelling: Encourage influencers to share personal experiences and genuine testimonials rather than scripted advertisements. User-generated content (UGC) style is highly effective.
  • Interactive & Engaging Formats: Incorporate polls, Q&As, challenges, live sessions, and contests to foster direct audience engagement and build community.

3. Platform Selection

  • Primary Focus: Prioritize platforms where your target audience is most active and receptive to influencer content (e.g., Instagram for visual appeal, TikTok for viral trends, YouTube for detailed reviews).
  • Secondary Channels: Consider leveraging secondary platforms for specific content types or extended reach (e.g., Pinterest for inspiration, blogs for long-form content, Facebook Groups for community engagement).

4. Messaging & Tone

  • Relatable & Conversational: Adopt a tone that resonates with the audience's preferred communication style. Avoid overly formal or corporate language.
  • Benefit-Oriented: Clearly articulate the benefits and value proposition of your product/service, focusing on how it improves the audience's life or solves their problems.
  • Call to Action (CTA) Clarity: Ensure CTAs are clear, concise, and aligned with the audience's typical purchase journey (e.g., "Learn More," "Shop Now," "Download Guide," "Sign Up for Free Trial").

5. ROI Tracking Considerations (Audience-specific)

  • Engagement Metrics: Track likes, comments, shares, saves, and direct messages to gauge audience interest and resonance with content.
  • Audience Sentiment: Monitor sentiment towards the campaign and brand using social listening tools.
  • Conversion Metrics: Implement unique discount codes, affiliate links, or landing pages per influencer to track direct conversions from specific audience segments.
  • Brand Lift Studies: Measure changes in brand awareness, perception, and purchase intent among the target audience before and after the campaign.

Next Steps

  1. Validate & Refine: Review this detailed audience analysis with your internal teams (marketing, product, sales) to ensure alignment and refine any assumptions with specific internal data.
  2. Influencer Identification Criteria: Use this analysis to develop a precise set of criteria for identifying potential influencers.
  3. Content Pillar Development: Begin brainstorming core content themes and message angles that align with audience interests, pain points, and aspirations.
  4. Platform Strategy: Finalize the primary and secondary platforms for the campaign based on audience presence and content preferences.
  5. KPI Definition: Based on the audience's expected behavior and campaign goals, establish specific Key Performance Indicators (KPIs) for success.
gemini Output

Influencer Campaign Planner: Your Blueprint for Success

Headline: Unlock Authentic Growth: Your Comprehensive Influencer Campaign Strategy

Body: In today's dynamic digital landscape, influencer marketing offers an unparalleled opportunity to connect with your target audience through trusted voices. This detailed campaign planner provides a robust framework to identify, engage, and collaborate with the right influencers, ensuring your message resonates authentically and drives measurable results. From crafting compelling outreach to tracking every conversion, this plan is designed to empower your brand with a strategic, impactful, and ROI-driven influencer marketing initiative.


1. Campaign Overview & Strategic Goals

Before diving into execution, a clear understanding of your campaign's purpose and desired outcomes is paramount.

Campaign Title: [Your Campaign Title Here - e.g., "Spring Collection Launch with Lifestyle Creators"]

Campaign Duration: [Start Date] - [End Date]

Campaign Objectives:

Define 2-3 SMART (Specific, Measurable, Achievable, Relevant, Time-bound) objectives.

  • Brand Awareness:

* Increase brand reach by X% (e.g., 20%) within the target demographic.

* Achieve X million impressions across all influencer content.

* Generate X,000 brand mentions on social media.

  • Engagement:

* Increase average engagement rate on influencer posts related to the campaign by X% (e.g., 5%).

* Drive X,000 unique comments and shares on campaign content.

  • Website Traffic / Leads:

* Drive X,000 unique visitors to a specific landing page (e.g., product page, sign-up form).

* Generate X new leads/sign-ups via influencer-driven CTAs.

  • Sales / Conversions:

* Achieve X% increase in sales for specific products/services promoted.

* Generate X revenue directly attributable to influencer-specific discount codes or affiliate links.

Target Audience:

Clearly define the demographic and psychographic profile of the audience you want to reach.

  • Demographics: Age range, gender, location, income level, occupation.
  • Psychographics: Interests, values, lifestyle, pain points, aspirations, preferred social media platforms.

2. Ideal Influencer Profiles: Finding Your Perfect Match

Identifying the right influencers is the cornerstone of a successful campaign. We'll categorize them by tier and define specific attributes.

Influencer Tiers & Characteristics:

  • Nano-Influencers (1K - 10K Followers):

* Pros: Highest engagement rates, deeply niche communities, highly authentic, cost-effective.

* Cons: Limited reach, more effort for broad campaigns.

* Best For: Hyper-targeted campaigns, fostering genuine community, product reviews.

  • Micro-Influencers (10K - 100K Followers):

* Pros: Strong engagement, credible niche authority, good balance of reach and authenticity, cost-efficient.

* Cons: Still not massive reach for mass market.

* Best For: Product launches, driving traffic, building brand trust.

  • Mid-Tier Influencers (100K - 500K Followers):

* Pros: Significant reach, established authority, professional content creators, often more diverse audience.

* Cons: Higher cost, potentially slightly lower engagement than micro/nano.

* Best For: Broadening awareness, driving significant traffic, larger campaigns.

  • Macro-Influencers (500K - 1M+ Followers):

* Pros: Extensive reach, widespread brand awareness, strong professional presence.

* Cons: Higher cost, potentially lower engagement rates, less niche-specific.

* Best For: Mass market campaigns, major brand announcements, celebrity endorsements.

Key Criteria for Selection:

  • Niche Relevance: Does their content align perfectly with your product/service and target audience? (e.g., beauty, fitness, tech, travel, parenting).
  • Audience Demographics: Does their audience closely match your target audience (age, gender, location, interests)?
  • Engagement Rate: A healthy engagement rate (likes, comments, shares per post) indicates an active and loyal audience.

Benchmark: 3-6% is generally good; higher for nano/micro. Beware of vanity metrics (high followers, low engagement).*

  • Authenticity & Trust: Do they genuinely connect with their audience? Are their comments real and meaningful?
  • Content Quality: High-resolution visuals, clear audio/video, consistent aesthetic, professional editing.
  • Brand Alignment: Do their personal values, past content, and overall aesthetic align with your brand's image and values? Avoid influencers with controversial past content.
  • Previous Collaborations: Review their history with other brands. Are they experienced? Are they over-saturated with sponsored content?
  • Red Flags: Suspicious follower growth, unusually high follower-to-engagement ratio, generic comments, bot activity.

3. Influencer Outreach Strategy & Templates

A personalized and value-driven outreach approach is crucial for securing top talent.

Outreach Strategy:

  1. Research & Personalize: Never send generic emails. Reference specific content, posts, or qualities you admire about their work.
  2. Clearly State Your Value Proposition: Why is this collaboration beneficial for them? (e.g., aligning with their content, exposing them to a new audience, exciting product).
  3. Be Concise & Clear: Get straight to the point. Respect their time.
  4. Provide Campaign Context (Briefly): Give them a snapshot of the campaign idea without overwhelming them.
  5. Clear Call to Action: What do you want them to do next? (e.g., schedule a call, reply with their media kit).
  6. Follow-Up: A gentle reminder if you don't hear back within a reasonable timeframe (e.g., 5-7 business days).

Outreach Templates:

Template 1: Initial Contact - Partnership Inquiry

Subject: Collaboration Opportunity: [Your Brand Name] x [Influencer's Name] - [Campaign Title]

Body:

Hi [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I've been following your work on [Platform, e.g., Instagram/TikTok] for a while now, and I'm consistently impressed by your [specific compliment, e.g., "authentic storytelling," "eye for fashion," "engaging tech reviews"]. Your recent post about [mention a specific post/story/reel] really resonated with us, especially your [specific detail about their content].

At [Your Brand Name], we [briefly describe what your brand does and its mission, e.g., "create sustainable skincare products for conscious consumers" or "help small businesses grow with innovative software"]. We're currently planning an exciting campaign around our [Product/Service/Event, e.g., "new Spring Collection of eco-friendly activewear"] and we immediately thought of you.

We believe your audience would genuinely connect with our [Product/Service] because [explain the alignment, e.g., "it aligns perfectly with your focus on sustainable living" or "it addresses a common pain point your followers discuss"]. We envision a collaboration where you could [briefly suggest content idea, e.g., "showcase the collection in your daily routine" or "create a tutorial using our new feature"].

Would you be open to a brief 15-minute call next week to discuss this potential partnership in more detail? I'd love to share our campaign vision and learn more about your rates and availability.

Looking forward to hearing from you!

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Your Social Media Link]


Template 2: Follow-Up Email

Subject: Following Up: Collaboration Opportunity with [Your Brand Name]

Body:

Hi [Influencer's Name],

Hope you're having a great week!

Just wanted to gently follow up on my email from [Date of previous email] regarding a potential collaboration for our [Campaign Title] campaign.

We're really excited about the possibility of working with you and believe your unique voice and engaged audience would be a fantastic fit for showcasing our [Product/Service].

If you're interested, please let me know a good time for a quick chat, or feel free to send over your media kit if that's easier.

No worries at all if now isn't the right time!

Thanks,

[Your Name]


4. Influencer Contract Terms: Ensuring a Smooth Partnership

A clear and comprehensive contract protects both parties and outlines expectations. Always consult legal counsel for final contract drafting.

Essential Contract Clauses:

  1. Scope of Work (SOW):

* Deliverables: Specific content types (e.g., 1 Instagram feed post, 2 Instagram Stories, 1 TikTok video, 1 blog post).

* Platforms: Specify social media channels.

* Posting Schedule: Exact dates or timeframe for content publication.

* Key Message Points: Core messages to be conveyed.

* Call to Action (CTA): Specific actions influencers should drive (e.g., "Shop link in bio," "Use code [CODE]").

  1. Compensation:

* Payment Model: Fixed fee, performance-based (commission/affiliate), product-only, or hybrid.

* Payment Amount: Clearly state the agreed-upon fee.

* Payment Schedule: (e.g., 50% upfront, 50% upon content approval; or net 30 days post-campaign completion).

* Expenses: Clarify if travel, production costs, etc., are covered.

  1. Content Rights & Usage:

* Ownership: Who owns the content created? (Typically the influencer, with brand granted specific usage rights).

* License Grant: Define the brand's right to use the content (e.g., repost on brand channels, use in paid ads, website, email marketing).

* Usage Duration: (e.g., 3 months, 1 year, perpetual license).

* Usage Scope: Specify where and how the content can be used (e.g., organic social, paid social, website, print).

  1. Disclosure Requirements:

* Mandatory adherence to FTC (US), ASA (UK), or local advertising guidelines.

* Specific hashtags to use (e.g., #ad, #sponsored, #partner, #[BrandName]Partner).

* Verbal disclosure for video content.

  1. Exclusivity:

* Duration: Period during which the influencer cannot promote competing brands.

* Scope: Specific product categories or industries.

  1. Content Approval Process:

* Timeline for submitting drafts (e.g., 7 days prior to posting).

* Number of revision rounds allowed.

* Approval required before publication.

  1. Performance Metrics & Reporting:

* If applicable, agreed-upon metrics to track (e.g., reach, impressions, engagement rate, clicks).

* Influencer's responsibility to provide analytics after the campaign.

  1. Brand Safety & Compliance:

* Influencer agrees not to create content that is offensive, illegal, defamatory, or inconsistent with brand values.

* Compliance with all applicable laws and regulations.

  1. Termination Clause:

* Conditions under which either party can terminate the agreement (e.g., breach of contract, failure to deliver).

* Consequences of termination (e.g., pro-rata payment, content removal).

  1. Confidentiality:

* Influencer agrees not to disclose proprietary campaign information, product details, or contract terms.


5. Content Guidelines for Influencers: Crafting Impactful Content

Clear guidelines ensure consistency, brand alignment, and effectiveness while allowing for creative freedom.

Core Campaign Messaging:

  • Campaign Theme: [e.g., "Embrace Sustainable Style," "Simplify Your Workflow," "Discover Your Glow"]
  • Key Message Points (2-3):

1. [e.g., "Our new collection uses 100% recycled materials."]

2

gemini Output

This document outlines a comprehensive plan for executing an influencer marketing campaign, covering essential components from influencer selection to ROI tracking. It is designed to be a professional, actionable guide for your team.


Influencer Campaign Planner: Optimized & Finalized Output

1. Campaign Overview & Objectives

Campaign Title: [Your Campaign Title - e.g., "Spring Refresh with [Your Brand]"]

Campaign Dates: [Start Date] – [End Date]

Overall Goal: To leverage authentic influencer voices to drive brand awareness, engagement, and ultimately, product consideration/sales for [Your Product/Service/Brand].

Specific Objectives (SMART Goals):

  • Awareness: Achieve [X] million impressions and [Y] thousand unique reach across target platforms within [Z] weeks.
  • Engagement: Generate an average engagement rate of [X]% on influencer content and [Y] thousand comments/shares.
  • Traffic/Leads: Drive [X] thousand unique website visitors to a dedicated landing page or generate [Y] hundred leads/sign-ups.
  • Conversions/Sales: Achieve [X] unique purchases directly attributed to influencer codes/links, totaling [Y] in revenue.

Target Audience: [Briefly describe your ideal customer, e.g., "Gen Z and Millennials (18-35) interested in sustainable fashion and lifestyle products, primarily active on Instagram and TikTok."]


2. Ideal Influencer Profiles

Identifying the right influencers is crucial for campaign success. Here are the key criteria:

  • Niche & Content Alignment:

* Primary Niche: Must align directly with your product/service (e.g., beauty, fitness, tech, sustainable living, gaming).

* Content Style: Authentic, high-quality visuals, engaging storytelling, relatable. Their content should naturally integrate your brand without feeling forced.

* Brand Values: Influencer's personal brand and values should resonate with your brand's ethos (e.g., if you're eco-friendly, they should demonstrate sustainable practices).

  • Audience Demographics & Psychographics:

* Age, Gender, Location: Their audience should closely match your target demographic.

* Interests: Audience interests should align with your product category.

* Engagement: Their audience should be highly engaged, not just large in number. Look for active comments, shares, and saves.

  • Audience Size & Tier:

* Micro-influencers (10K-100K followers): High engagement, niche focus, strong community trust. Ideal for authentic storytelling and driving conversions. Often more affordable.

* Mid-tier influencers (100K-500K followers): Broader reach than micro, still good engagement, growing influence. Good balance of reach and authenticity.

* Macro-influencers (500K-1M+ followers): Significant reach, strong brand recognition, can drive massive awareness. May have lower engagement rates, higher costs.

* Selection Strategy: A mix often works best – a few mid-tier/macro for broad reach, supported by a larger number of micro-influencers for deep engagement and niche targeting.

  • Engagement Rate & Authenticity:

* Minimum Engagement Rate: Aim for at least 2-3% (for macro) to 5-10%+ (for micro) on their typical posts.

* Authenticity Check: Look for genuine comments (not just emojis), avoid accounts with a high percentage of bot followers or engagement pods. Review past sponsored content – does it feel natural?

  • Platform Preference:

* Primary Platform: Instagram (Feed, Stories, Reels), TikTok, YouTube, Pinterest, Blogs, X (Twitter). Select platforms where your target audience is most active and where your product can be best showcased.

* Multi-platform presence: A plus, but focus on their strongest platform.

  • Previous Brand Partnerships:

* Review their history. Do they frequently work with competitors? Are their past partnerships well-executed and transparently disclosed?


3. Influencer Outreach Templates

Key Principles for Outreach: Personalization, brevity, clear value proposition, and a specific call to action.

3.1. Initial Contact Email (Cold Outreach)

Subject Line Options:

  • "Collaboration Opportunity: [Your Brand Name] x [Influencer's Name]"
  • "Partnership Idea for [Influencer's Niche] Content – [Your Brand Name]"
  • "Exciting Collaboration Proposal from [Your Brand Name]"

Email Body Template:

Hi [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I'm reaching out because I've been a long-time admirer of your content, especially your [mention specific post/series/style, e.g., "sustainable fashion hauls" or "engaging tech reviews"]. Your dedication to [mention specific quality, e.g., "authentic storytelling" or "high-quality visuals"] truly resonates with our brand.

At [Your Brand Name], we [briefly describe your brand/mission, e.g., "create eco-friendly skincare products that empower natural beauty" or "develop innovative software solutions for small businesses"]. We believe your audience, who values [mention shared audience value, e.g., "transparency and conscious consumption"], would genuinely appreciate our [mention key product/service].

We're currently planning an exciting campaign focused on [briefly describe campaign theme/goal, e.g., "highlighting sustainable beauty routines"] and we immediately thought of you as an ideal partner. We envision a collaboration where you could [suggest specific content idea, e.g., "showcase our new XYZ product in your daily routine" or "create a tutorial using our ABC software"].

Would you be open to a brief 15-minute call next week to discuss this potential partnership in more detail? Please let me know what day/time works best for you, or feel free to share your media kit/rates.

Looking forward to hearing from you!

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Link to your Social Media]

3.2. Follow-Up Email

Subject Line Options:

  • "Following Up: [Your Brand Name] Collaboration Idea"
  • "Quick Follow-Up: [Your Brand Name] Partnership"

Email Body Template:

Hi [Influencer's Name],

Hope you're having a great week!

I'm just following up on my email from [Date of previous email] regarding a potential collaboration with [Your Brand Name].

We're still very keen on the idea of partnering with you to [reiterate brief campaign idea/benefit]. We truly believe your unique voice would be a perfect fit to introduce our [product/service] to your engaged audience.

If you're interested, please let me know a good time for a quick chat, or if you prefer, I'm happy to answer any questions via email.

Thanks again for your time and consideration.

Best,

[Your Name]


4. Contract Terms (Key Elements)

A clear, comprehensive contract is essential for managing expectations and protecting both parties.

  • Scope of Work (SOW):

* Deliverables: Specific number and type of posts (e.g., 1 Instagram Feed post, 2 Instagram Stories, 1 TikTok video).

* Platforms: Specify exact platforms.

* Content Type: Photos, videos, Reels, blog posts, live streams.

* Key Messaging: Specific talking points, brand benefits, CTAs.

* Hashtags & Mentions: Mandatory hashtags, brand handles.

* Exclusivity: Duration and scope of exclusivity (e.g., not promoting competitor X for 30 days post-campaign).

  • Compensation:

* Fee Structure: Fixed fee, performance-based (e.g., commission on sales), product-in-kind, or hybrid.

* Payment Schedule: (e.g., 50% upfront, 50% upon content approval; or full payment Net 30 post-campaign completion).

* Invoicing Requirements: W-9/W-8BEN forms, invoice submission deadlines.

  • Content Rights & Usage:

* License: Grant of non-exclusive, perpetual, worldwide license for the brand to use, repost, and repurpose influencer-generated content across brand-owned channels (website, social media, ads).

* Credit: Requirement for the brand to credit the influencer when reusing content.

* Usage Restrictions: Any limitations on the brand's use of content (e.g., no paid ads without additional compensation).

  • Disclosure Requirements:

* Mandatory use of clear and prominent disclosures (e.g., #ad, #sponsored, #partner) as per FTC/ASA guidelines and platform policies.

* Requirement to comply with all applicable laws and regulations regarding endorsements.

  • Timeline & Deadlines:

* Content Submission: Date for first draft submission for brand review.

* Review Cycles: Number of review rounds allowed (e.g., 2 rounds of revisions).

* Final Approval: Date for final content approval.

* Posting Dates: Specific dates/windows for content publication.

* Reporting: Deadline for influencer to provide analytics (if not directly tracked).

  • Approval Process: Detailed steps for content creation, submission, review, and final approval by the brand.
  • Term & Termination:

* Duration of Agreement: Start and end dates.

* Termination Clauses: Conditions under which either party can terminate the agreement (e.g., breach of contract, failure to meet deadlines, brand reputational damage).

* Consequences of Termination: Payment adjustments, content removal.

  • Confidentiality: Non-disclosure of campaign details, product information, and compensation terms.
  • Indemnification: Influencer agrees to indemnify the brand against claims arising from their content (e.g., copyright infringement, misleading claims).
  • Representations & Warranties: Influencer confirms they have the right to grant content usage, content is original, and they will comply with all laws.
  • Governing Law: Jurisdiction for legal disputes.

5. Content Guidelines

These guidelines ensure influencer content aligns with your brand's image and campaign objectives while allowing for creative freedom.

  • Key Messaging & Call to Action (CTA):

* Core Message: What is the single most important message you want influencers to convey? (e.g., "Product X simplifies your morning routine," "Brand Y offers sustainable alternatives").

* Key Benefits: Highlight 2-3 unique selling propositions (USPs) of your product/service.

* Mandatory CTAs: (e.g., "Shop now at [link in bio]," "Use code [INFLUENCERNAME] for 15% off," "Learn more about [feature] at [website]").

* Tone of Voice: (e.g., inspiring, educational, humorous, authentic, luxurious, friendly).

  • Visual Aesthetics & Brand Identity:

* Overall Mood/Vibe: (e.g., bright & airy, moody & sophisticated, minimalist, vibrant & energetic).

* Color Palette: Suggest complementary colors or avoid clashing ones.

* Lighting: Natural light preferred.

* Product Placement: How should the product be featured? (e.g., organically in daily life, as a hero shot, shown in use).

* Backgrounds: Clean, uncluttered, aesthetically pleasing.

* Logo/Packaging: Ensure it's clearly visible and recognizable where appropriate.

  • Dos & Don'ts:

* DOs:

* Authenticity: Encourage genuine reactions and personal stories related to the product.

* High-Quality: Use high-resolution images/videos, clear audio.

* Engaging Captions/Scripts: Tell a story, ask questions, encourage interaction.

* Clear Disclosure: Prominently display #ad or #sponsored.

* Creativity: Encourage influencers to integrate the product

influencer_campaign_planner.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}