Influencer Campaign Planner
Run ID: 69cc5f1cb4d97b7651475d062026-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 of 3: Audience Analysis for Influencer Campaign Planning

This document provides a comprehensive analysis of your target audience, a critical first step in developing an effective influencer marketing campaign. Understanding your audience's demographics, psychographics, and behaviors will inform every subsequent decision, from influencer selection to content strategy and messaging.

For the purpose of this analysis, we will assume a hypothetical brand: "EcoChic Apparel," a sustainable fashion brand targeting ethically conscious consumers who seek stylish, environmentally friendly clothing options. This allows for a more detailed and actionable breakdown.


1. Introduction: The Cornerstone of Campaign Success

An influencer campaign's effectiveness hinges entirely on its ability to resonate with the right audience. This analysis aims to define your ideal customer profile with precision, enabling us to identify influencers who genuinely connect with and influence this group. By understanding their motivations, challenges, and media consumption habits, we can craft messages that convert.


2. Target Audience Profile: EcoChic Apparel

Our primary target audience for EcoChic Apparel can be broadly categorized as "Conscious Millennials & Gen Z Fashion Enthusiasts."

2.1. Demographic Analysis

  • Age: 18-35 years old (primarily 22-30)
  • Gender: Predominantly female (70%), but with a growing male segment (30%) interested in sustainable and ethical fashion.
  • Location: Urban and suburban areas in developed countries (e.g., North America, Western Europe, Australia), where awareness and disposable income for sustainable products are higher.
  • Income Level: Mid to upper-mid income, with disposable income allocated towards quality, values-aligned purchases.
  • Education Level: College-educated or currently pursuing higher education.
  • Occupation: Young professionals, creatives, students, and those in tech or service industries with a progressive mindset.
  • Family Status: Single, in relationships, or young couples, often without children or with young children.

2.2. Psychographic Analysis

  • Interests & Hobbies:

* Fashion, style, ethical brands, minimalism, capsule wardrobes.

* Environmentalism, sustainability, climate action, zero-waste living.

* Health & wellness, yoga, outdoor activities.

* Social justice, ethical consumerism, supporting local/small businesses.

* Travel, culture, art, music festivals.

  • Values & Beliefs:

* Strong commitment to environmental protection and social responsibility.

* Value transparency, authenticity, and ethical production practices.

* Believe in making a positive impact through their purchasing decisions.

* Prioritize quality and longevity over fast fashion trends.

* Seek personal expression through style while aligning with their values.

  • Lifestyle Choices:

* Active, socially conscious, and digitally savvy.

* Often engage in mindful consumption, seeking products that align with their values.

* Enjoy experiences and travel.

* Health-conscious and often follow specific diets (e.g., vegetarian, vegan).

* Early adopters of new trends, especially those with a positive social or environmental impact.

  • Personality Traits: Idealistic, discerning, socially aware, proactive, community-oriented, trend-aware but not trend-driven.
  • Attitudes towards Sustainable Products: Highly positive, willing to pay a premium for ethically sourced, high-quality, and durable items. Skeptical of "greenwashing."
  • Pain Points & Aspirations:

* Pain Points: Difficulty finding truly sustainable and stylish options; lack of transparency from brands; high cost barrier to ethical fashion; feeling overwhelmed by choice.

* Aspirations: To look good and feel good about their choices; to express their values through their style; to contribute to a better planet; to build a functional, ethical, and stylish wardrobe.

2.3. Behavioral Analysis

  • Online Behavior:

* Platforms Used: Instagram (primary for fashion inspiration, discovery, and shopping), TikTok (short-form content, trends, community), Pinterest (mood boards, style ideas), YouTube (reviews, hauls, sustainable living content), Facebook (groups, community, news), Twitter (news, discussions on ethical issues).

* Content Consumed: Fashion lookbooks, styling tips, sustainable living hacks, brand reviews, ethical news, DIY projects, travel vlogs.

* Purchasing Habits: Research-intensive prior to purchase; influenced by peer reviews, influencer recommendations, and brand storytelling. Often shop online directly from brand websites or curated marketplaces. Willing to invest in fewer, higher-quality pieces.

* Engagement Patterns: Active commenters, sharers, and savers of content. Engage with polls, Q&As, and live streams. Respond well to authentic, relatable content.

  • Offline Behavior: Shop at farmers' markets, prefer local businesses, participate in community events, enjoy outdoor activities, advocate for causes they believe in.
  • Decision-Making Process: Highly values-driven. Decisions are often a blend of aesthetics, ethics, quality, and price. Trust in brand mission and transparency is paramount.

3. Key Audience Segments

While the "Conscious Millennials & Gen Z Fashion Enthusiasts" is our broad target, we can identify sub-segments for more targeted influencer strategies:

  • The Eco-Minimalist: Prioritizes functionality, durability, and a small, curated wardrobe. Values timeless pieces over fleeting trends. Influenced by capsule wardrobe experts and sustainable living gurus.
  • The Ethical Trendsetter: Seeks stylish, on-trend pieces that are also ethically produced. Enjoys discovering new sustainable brands. Influenced by fashion-forward eco-bloggers and stylists.
  • The Activist Consumer: Deeply committed to social and environmental causes. Uses fashion as a form of expression and advocacy. Influenced by social justice advocates, environmental activists, and outspoken ethical brands.
  • The Budget-Conscious Ethicist: Wants to shop sustainably but is limited by budget. Looks for affordable ethical options, sales, and secondhand finds. Influenced by "sustainable fashion on a budget" creators and thrifting enthusiasts.

4. Data Insights & Trends

  • Rise of Conscious Consumerism: A significant and growing segment of consumers (especially Gen Z and Millennials) are willing to pay more for sustainable and ethically produced products. Data shows a marked increase in demand for transparency and ethical sourcing.
  • Authenticity Over Polish: Audiences increasingly value authenticity and relatability from influencers over highly polished, unrealistic portrayals. User-generated content (UGC) and genuine testimonials drive higher engagement.
  • Micro & Nano Influencer Effectiveness: While mega-influencers offer reach, micro (10K-100K followers) and nano (1K-10K followers) influencers often boast higher engagement rates and foster deeper trust within niche communities. Their recommendations are perceived as more genuine.
  • Video Content Dominance: Short-form video (TikTok, Instagram Reels, YouTube Shorts) is paramount for discovery, brand storytelling, and showcasing products in action. Live shopping and interactive video are also gaining traction.
  • Community-Driven Engagement: Consumers are looking for brands that foster community and dialogue. Influencers who build strong, engaged communities are more effective.
  • Transparency Imperative: Consumers demand to know the "who, what, where, and how" behind products. Brands that are transparent about their supply chain, materials, and labor practices build trust.
  • Pre-Loved & Circular Fashion: The rise of secondhand platforms and a general move towards circularity indicates a strong audience interest in extending the life cycle of clothing and reducing waste.

5. Recommendations for Influencer Targeting

Based on the audience analysis, our influencer targeting strategy should focus on individuals who:

  1. Align with EcoChic's Values: Influencers must genuinely embody sustainable living, ethical consumption, and a passion for fashion. Authenticity is non-negotiable.
  2. Possess High Engagement Rates: Prioritize engagement over follower count. Look for influencers whose audience actively comments, shares, and saves their content.
  3. Have a Niche Audience Match: Target micro and nano influencers whose followers closely match our identified audience segments (e.g., sustainable fashion bloggers, ethical lifestyle creators, capsule wardrobe enthusiasts, zero-waste advocates).
  4. Are Storytellers: Influencers who can weave compelling narratives around sustainability, craftsmanship, and the impact of conscious choices will resonate best.
  5. Produce High-Quality Visuals: Fashion is visual. Influencers should have a strong aesthetic and produce high-quality photos and videos that align with EcoChic's brand image.
  6. Are Platform-Specific Experts: Select influencers who excel on platforms where our audience spends the most time (Instagram for visuals, TikTok for trends/short video, YouTube for in-depth reviews).
  7. Demonstrate Brand Loyalty (or Potential for it): Look for influencers who have previously expressed interest in sustainable brands or who would genuinely integrate EcoChic into their lifestyle.

6. Key Takeaways for Content Strategy

  • Educate & Inspire: Content should not just showcase products but also educate the audience on sustainable practices, ethical sourcing, and the benefits of conscious consumption.
  • Show, Don't Just Tell: Utilize video and high-quality imagery to demonstrate product fit, styling versatility, and the story behind the garments.
  • Highlight Transparency: Encourage influencers to speak about EcoChic's ethical practices, material sourcing, and positive impact.
  • Relatability & Authenticity: Influencer content should feel natural and integrated into their existing lifestyle, not like a forced advertisement.
  • Call to Action Focused on Values: CTAs should appeal to the audience's desire to make a difference and express their values through fashion.
  • Diverse Content Formats: Leverage a mix of static posts, carousels, Reels, Stories, and potentially longer-form YouTube videos or blog posts.
  • Community Engagement: Encourage influencers to facilitate discussions, Q&As, and polls around sustainable fashion and lifestyle.

7. Next Steps

  1. Develop Detailed Buyer Personas: Refine the audience segments into 2-3 detailed buyer personas based on this analysis, giving them names, backstories, and specific pain points/aspirations.
  2. Competitor Audience Analysis: Analyze the audience of competing sustainable fashion brands to identify gaps or opportunities.
  3. Influencer Identification & Vetting: Begin the research phase to identify potential influencers whose content, audience, and values align perfectly with EcoChic Apparel and the defined target audience.
  4. Define Campaign Objectives: With a clear audience in mind, articulate specific, measurable, achievable, relevant, and time-bound (SMART) objectives for the influencer campaign.

This comprehensive audience analysis provides a robust foundation for building an impactful influencer marketing campaign for EcoChic Apparel. By understanding who we are speaking to, we can ensure our message is heard, trusted, and acted upon.

gemini Output

Unlock Your Brand's Potential: A Comprehensive Influencer Campaign Planner

Welcome to your definitive guide for launching impactful influencer marketing campaigns! In today's dynamic digital landscape, connecting with your audience through authentic voices is paramount. This planner provides you with the essential frameworks, templates, and strategies to build strong influencer partnerships, drive measurable results, and elevate your brand's presence.


1. Discovering Your Perfect Match: Defining Ideal Influencer Profiles

Identifying the right influencers is the cornerstone of a successful campaign. This section guides you through defining the characteristics that align perfectly with your brand and campaign objectives.

Key Criteria for Ideal Influencer Profiles:

  • Audience Alignment:

* Demographics: Does their audience match your target customer's age, gender, location, income level?

* Interests & Values: Do their followers share interests relevant to your product/service? Do their personal values align with your brand's ethos?

* Authenticity: Is their audience organically grown and genuinely engaged, or do they have a high percentage of bot followers?

  • Niche Expertise & Relevance:

* Industry Focus: Do they genuinely operate within a niche relevant to your brand (e.g., beauty, tech, fitness, sustainable living)?

* Credibility: Are they perceived as an authority or trusted voice within their niche?

* Content Fit: Does their existing content style and topics naturally integrate with your brand's messaging?

  • Engagement Metrics (Prioritize over Follower Count):

* Engagement Rate: Look for a healthy percentage of likes, comments, shares, and saves relative to their follower count (e.g., 2-5% for larger accounts, 5-10%+ for micro/nano influencers).

* Comment Quality: Are comments genuine and conversational, or generic and spammy?

* Reach & Impressions: While engagement is key, ensure their content reaches a substantial and relevant audience.

  • Brand Fit & Aesthetics:

* Visual Style: Does their content aesthetic (colors, editing, overall vibe) complement your brand's visual identity?

* Brand Messaging & Tone: Does their communication style resonate with your brand's voice (e.g., humorous, informative, luxurious, approachable)?

* Past Collaborations: Have they worked with competitor brands? Are their previous partnerships high-quality and relevant?

  • Platform Preference:

* Target Audience Platform: Where does your target audience spend most of their time? (Instagram, TikTok, YouTube, Pinterest, LinkedIn, Blogs, Podcasts).

* Influencer's Primary Platform: Is the influencer most active and successful on the platform where you want to promote your campaign?


2. Making Connections: Crafting Irresistible Outreach Templates

Effective outreach is personal, respectful, and clearly communicates value. These templates provide a starting point for initiating and nurturing valuable influencer relationships. Remember to always personalize!

A. Initial Contact Template

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

Dear [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 some time, and I'm genuinely impressed by your [specific compliment, e.g., "authentic reviews of sustainable products" or "engaging travel content"]. Your commitment to [specific value, e.g., "eco-conscious living" or "adventurous exploration"] truly resonates with our brand's mission at [Your Brand Name].

[Your Brand Name] is a [brief description of your brand, e.g., "premium skincare brand focusing on natural ingredients" or "innovative tech gadget company"]. We're currently launching an exciting campaign around [Campaign Theme/Product Name] and immediately thought of you as an ideal partner. We believe your audience, who values [mention specific shared value], would genuinely connect with [Your Product/Service] because [briefly explain the benefit/fit].

We're looking for partners who can create [mention content type, e.g., "authentic video reviews," "stunning lifestyle photos," "engaging blog posts"] that showcase [key message]. We have a comprehensive plan to support our influencers and ensure a mutually beneficial partnership.

Would you be open to a brief 15-minute call next week to discuss this potential collaboration further and share more details about our campaign? Please let me know what time works best for you.

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Link to your Social Media Profile]

B. Follow-Up Template

Subject: Following Up: [Your Brand Name] x [Influencer's Name] Collaboration

Dear [Influencer's Name],

Hope this email finds you well.

I'm just following up on my previous email from [Date] regarding a potential collaboration opportunity between [Your Brand Name] and yourself. I understand you have a busy schedule, but I truly believe this partnership could be a fantastic fit, offering [reiterate a key benefit, e.g., "a chance to introduce your audience to a product they'll love" or "an exciting way to expand your content portfolio"].

In case you missed it, we're particularly interested in your ability to [reiterate why they are a good fit, e.g., "tell compelling stories through video" or "capture beautiful product photography"].

If you're interested in learning more, please let me know. I'm happy to provide additional details or schedule a quick chat at your convenience.

Thank you again,

[Your Name]

[Your Title]

[Your Brand Name]

C. Negotiation Template

Subject: Proposal Discussion: [Your Brand Name] x [Influencer's Name] - [Campaign Name]

Dear [Influencer's Name],

Thank you for your interest in partnering with [Your Brand Name] for our [Campaign Name] campaign. We're excited about the prospect of working together.

Based on our discussions and your media kit, we'd like to propose the following for your consideration:

  • Deliverables: [e.g., 1 Instagram Feed Post, 3 Instagram Stories, 1 TikTok video]
  • Key Message: [e.g., "Highlight the versatility and natural ingredients of our new serum"]
  • Compensation: [e.g., A fixed fee of $$$ OR Product value of $$$ + commission on sales using unique code]
  • Timeline: [e.g., Content draft submission by X date, Live posting by Y date]
  • Usage Rights: [e.g., Brand can repost content on its social channels for 3 months]

We are open to discussing these terms to ensure they align with your expectations and value. Please let us know if you have any questions or alternative proposals you'd like to share.

We look forward to building a successful campaign together.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]


3. Solidifying Partnerships: Essential Influencer Contract Terms

A clear, comprehensive contract protects both your brand and the influencer, ensuring expectations are managed and legal requirements are met.

Key Contractual Elements:

  • Scope of Work & Deliverables:

* Content Type & Quantity: Specify exactly what content is required (e.g., 1 Instagram feed post, 2 Instagram Stories, 1 YouTube video).

* Specific Requirements: Include any specific product mentions, hashtags, links, or visual elements.

* Posting Schedule: Clear deadlines for content submission, approval, and live posting.

* Platform(s): Where the content will be published.

  • Payment Terms:

* Compensation Model: Fixed fee, performance-based (e.g., CPA, commission), product exchange, or a hybrid.

* Payment Schedule: When and how payments will be made (e.g., 50% upfront, 50% upon completion; net 30 days after invoice).

* Invoicing: Requirements for invoicing (e.g., tax ID, specific details).

  • Usage Rights & Licensing:

* Brand's Rights: Define how and for how long your brand can repurpose the influencer's content (e.g., on your social channels, website, paid ads, email marketing).

* Duration: Specify the period for which the brand has usage rights (e.g., 6 months, 1 year, perpetual).

* Exclusivity: Prevent the influencer from working with direct competitors for a specified period (e.g., 30-90 days before, during, and after the campaign).

  • Disclosure Requirements:

* FTC/ASA/Local Regulations: Mandate clear and conspicuous disclosure of sponsored content (e.g., #Ad, #Sponsored, #BrandPartner).

* Placement: Specify where disclosures must appear (e.g., first line of caption, clearly audible in video).

  • Content Approval Process:

* Draft Submission: Timeline for submitting content drafts for review.

* Revision Cycles: Number of revisions allowed.

* Approval Authority: Who at the brand has final approval.

  • Confidentiality:

* Protect sensitive campaign details, product launches, or performance data from being shared publicly.

  • Termination Clauses:

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

* Consequences of termination (e.g., partial payment, return of products).

  • Representations & Warranties:

* Influencer confirms they own the rights to content, will comply with laws, and have the authority to enter the agreement.

  • Indemnification:

* Protection for the brand against any legal claims arising from the influencer's content or actions.


4. Guiding Creativity: Comprehensive Content Guidelines

Empower influencers to create authentic content that resonates with their audience while ensuring it aligns perfectly with your brand's message and aesthetic.

Essential Content Guidelines:

  • Campaign Objectives:

* Clearly state the primary goal (e.g., increase brand awareness, drive website traffic, generate sales, promote a new product feature).

  • Key Messages & Talking Points:

Provide 2-3 core messages or unique selling propositions (USPs) that must* be communicated.

* Offer optional talking points for inspiration, but encourage personalization.

  • Brand Voice & Tone:

* Describe your brand's personality (e.g., friendly, authoritative, playful, luxurious, educational).

* Provide examples of language to use and avoid.

  • Visual Requirements & Aesthetics:

* Product Placement: How should the product be featured? (e.g., clearly visible, in use, lifestyle setting).

* Mood Board/Reference Images: Provide visual examples of desired aesthetics, lighting, and composition.

* Branding Elements: Any specific logo visibility, color palettes, or fonts to consider.

* Do's and Don'ts: (e.g., DO shoot in natural light; DON'T use filters that distort product color).

  • Call to Action (CTA):

* Specify the desired action (e.g., "Shop now

gemini Output

Influencer Campaign Planner: Optimized & Finalized Deliverable

This document provides a comprehensive and actionable plan for your upcoming influencer marketing campaign. It covers all essential aspects from influencer identification to ROI tracking, designed to ensure a successful and measurable campaign.


1. Campaign Overview & Objectives

Campaign Title: [Suggest a campaign title, e.g., "Spring Refresh Collection Launch," "Healthy Habits for a Better You," "Tech for Tomorrow Innovators"]

Campaign Goal:

The primary goal of this influencer campaign is to leverage authentic voices to [Choose primary goal, e.g., increase brand awareness, drive product sales, generate user-generated content, improve brand perception, drive website traffic, boost app downloads].

Specific, Measurable, Achievable, Relevant, Time-bound (SMART) Objectives:

  • Awareness: Achieve a minimum of [X] million impressions and [Y]% increase in brand mentions across social media platforms within the campaign period.
  • Engagement: Generate an average engagement rate of [Z]% on sponsored content posts (likes, comments, shares, saves).
  • Traffic/Conversions: Drive [A] unique visitors to the campaign landing page/product page, resulting in [B]% conversion rate (e.g., sales, sign-ups, downloads).
  • Content Generation: Secure [C] pieces of high-quality, on-brand user-generated content (UGC) from influencers for repurposing.
  • Audience Growth: Increase social media follower count by [D]% on [Platform(s)] during the campaign.

Target Audience:

[Describe your target audience, e.g., "Millennial women aged 25-35 interested in sustainable fashion and ethical consumerism," "Tech enthusiasts aged 18-30 seeking innovative gadgets," "Parents of young children (0-5) focused on health and wellness."]

Key Message/Theme:

[Summarize the core message, e.g., "Experience effortless style with our new sustainable collection," "Transform your daily routine with our smart home devices," "Nourish your family with our organic, wholesome snacks."]


2. Ideal Influencer Profiles

To achieve the campaign objectives, we will target influencers who align with our brand values, target audience, and campaign message.

Category/Niche:

  • [Specify relevant niches, e.g., "Fashion & Lifestyle," "Tech Reviewers," "Health & Wellness Coaches," "Food Bloggers," "Travel Enthusiasts," "Gaming Streamers," "Beauty Gurus"]

Audience Demographics:

  • Age: [e.g., 25-45]
  • Gender: [e.g., Predominantly Female, Mixed]
  • Location: [e.g., USA (Tier 1 cities), Global, Europe]
  • Interests: [e.g., Sustainable living, Home decor, Fitness, DIY, Digital photography]

Influencer Tiers (Potential Mix):

  • Nano-Influencers (1k-10k followers): High authenticity, strong niche communities, often more affordable. Good for targeted reach and UGC.
  • Micro-Influencers (10k-100k followers): Excellent engagement rates, perceived as highly credible, good balance of reach and authenticity.
  • Mid-Tier Influencers (100k-500k followers): Broader reach than micro, still maintain good engagement, often more professional.
  • Macro-Influencers (500k-1M+ followers): Significant reach and brand awareness, higher costs, can drive large traffic volumes.

Recommendation:* Focus primarily on Micro and Mid-Tier influencers for optimal engagement and ROI, supplemented by a few Nano-influencers for authentic content and a select Macro-influencer for broader awareness if budget permits.

Key Characteristics & Attributes:

  • Authenticity & Trust: Genuine passion for the niche, transparent with their audience, high trust factor.
  • Engagement Rate: Consistently high engagement (likes, comments, shares, saves) relative to follower count (ideally 2%+ for micro/mid, 1%+ for macro).
  • Content Quality: High-quality visuals (photos/videos), clear audio, professional editing, compelling storytelling.
  • Brand Alignment: Values align with [Your Brand], positive brand image, no history of controversial content.
  • Audience Overlap: Significant portion of their audience matches our target demographic.
  • Responsiveness: Professional and timely communication.
  • Previous Brand Collaborations: Evidence of successful past collaborations (but not oversaturated with sponsored posts).
  • Platform Specificity: Strong presence on relevant platforms (e.g., Instagram, TikTok, YouTube, Pinterest, Blog).

Red Flags to Avoid:

  • Fake Followers/Engagement: Use tools to detect suspicious follower growth or engagement patterns.
  • Inconsistent Content: Erratic posting schedule or content unrelated to their niche.
  • Negative Brand Associations: History of controversies or problematic behavior.
  • Poor Communication: Unresponsive or unprofessional during initial contact.

3. Influencer Outreach Strategy & Templates

A personalized and professional outreach approach is crucial for securing top-tier influencers.

Outreach Channels:

  • Direct Message (DM): For initial contact, especially on Instagram/TikTok. Keep it concise.
  • Email: Preferred for detailed proposals and formal communication. Often found in their bio or media kit.
  • Influencer Platforms/Agencies: If working with a platform or agency, they manage outreach.

Outreach Process:

  1. Initial Research & Shortlisting: Identify 50-100 potential influencers based on profile criteria.
  2. Deep Dive & Vetting: Analyze content, engagement, audience demographics for the top 20-30.
  3. Personalized Initial Contact: Send a concise, engaging message tailored to their content.
  4. Follow-up: If no response, send one polite follow-up after 3-5 business days.
  5. Proposal & Negotiation: Once interest is expressed, send detailed proposal and discuss terms.

Outreach Email Template (Initial Contact - Email):

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

Body:

Dear [Influencer's Name/Handle],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I've been a long-time admirer of your [mention specific content, e.g., "beautiful photography," "insightful tech reviews," "authentic approach to wellness"] on [Platform, e.g., Instagram/YouTube], particularly your recent post about [mention a specific piece of their content – personalization is key!].

At [Your Brand Name], we are passionate about [briefly state your brand's mission/values, e.g., "empowering individuals through sustainable fashion," "innovating smart home solutions," "promoting holistic well-being"]. We are currently planning an exciting campaign for our [Product/Service Name or Campaign Theme] and immediately thought of you as an ideal partner.

We believe your [mention specific attribute, e.g., "engaged audience," "unique storytelling ability," "expertise in X niche"] aligns perfectly with our vision for this campaign, which aims to [briefly state campaign goal, e.g., "showcase the versatility of our new collection," "educate consumers on the benefits of X," "inspire healthier lifestyles"].

We are looking to collaborate on [mention type of content, e.g., "a series of engaging Instagram posts and Stories," "a dedicated YouTube video review," "a blog post and Pinterest content"] and would love to share a more detailed proposal outlining the potential scope, deliverables, and compensation.

Would you be open to exploring this opportunity further? Please let me know your availability for a brief call next week or if you have a media kit you could share.

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Your Social Media Link]

Follow-up Email Template:

Subject: Following Up: Collaboration Opportunity - [Your Brand Name] x [Influencer's Name/Handle]

Body:

Hi [Influencer's Name/Handle],

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

I understand you're incredibly busy, but I truly believe this partnership could be a great fit given your [reiterate key alignment, e.g., "audience's interest in sustainable products," "expertise in smart home tech"].

If you're interested in learning more, I'd be happy to send over the full proposal. If now isn't the right time, no worries at all – perhaps we can connect on a future project.

Thanks again for your time.

Best,

[Your Name]


4. Contract Terms & Legal Considerations

A clear, legally sound contract is essential to protect both parties and ensure expectations are managed.

Key Contract Clauses to Include:

  1. Scope of Work & Deliverables:

* Number and type of posts (e.g., 1 Instagram feed post, 3 Instagram Stories, 1 TikTok video).

* Specific platforms for each deliverable.

* Content format (e.g., photo, video, carousel, Reel).

* Required captions, hashtags, tags, links.

* Approval process and revision rounds.

  1. Timeline & Deadlines:

* Content submission for review.

* Live posting dates.

* Duration content must remain live.

  1. Compensation:

* Payment amount (flat fee, product value, commission, hybrid).

* Payment schedule (e.g., 50% upfront, 50% upon completion; Net 30 days).

* Payment method.

* What is included/excluded (e.g., taxes, travel).

  1. Content Rights & Usage:

* Licensing: Granting the brand rights to use, repost, and adapt the influencer's content for specified purposes (e.g., brand social media, website, paid ads, email marketing) for a defined period (e.g., 6 months, 1 year, perpetual).

* Exclusivity: If the influencer cannot promote competing brands for a certain period (category, product type, duration).

* Ownership: Typically, the influencer owns the original content, but licenses its use to the brand.

  1. Disclosure Requirements:

* Mandatory use of FTC/ASA/CMA compliant disclosures (e.g., #Ad, #Sponsored, #BrandPartner, "Paid Partnership with [Brand Name]").

* Clear placement and visibility of disclosures.

  1. Brand Guidelines Adherence:

* Requirement to follow brand voice, messaging, and visual identity guidelines.

* Prohibition of certain content (e.g., profanity, controversial topics, misrepresentation).

  1. Performance & Reporting:

* Agreement to share post-campaign analytics (e.g., reach, impressions, engagement, clicks) within a specified timeframe.

  1. Termination Clause:

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

* Consequences of termination (e.g., prorated payment, content removal).

  1. Confidentiality:

* Agreement not to disclose proprietary information about the campaign or brand.

  1. Indemnification:

* Protection for the brand against claims arising from the influencer's actions (e.g., copyright infringement, false claims).

  1. Governing Law:

* Jurisdiction under which the contract will be interpreted.

Legal Considerations & Best Practices:

  • Always have a written contract: Verbal agreements are difficult to enforce.
  • FTC/ASA/CMA Compliance: Ensure all disclosures are prominent, clear, and unambiguous. Educate influencers on these requirements.
  • Clear Communication: Ensure the influencer fully understands all terms before signing.
  • Seek Legal Counsel: For complex campaigns or high-value partnerships, have a lawyer review your contract template.

5. Content Guidelines & Deliverables

Clear content guidelines ensure brand consistency and effective messaging while allowing influencers creative freedom.

Core Content Pillars/Themes:

  • [e.g., "Sustainability & Eco-Consciousness," "Innovation & Efficiency," "Self-Care & Wellness," "Adventure & Exploration"]

Mandatory Deliverables (Example):

  • Instagram:

* 1x In-Feed Post (Static Image/Carousel or Reel)

* 3x Instagram Stories (video or image, swipe-up link optional)

* 1x Instagram Live/Q&A (optional, with prior agreement)

  • TikTok:

* 1x Short-form Video (15-60 seconds)

  • YouTube:

* 1x Dedicated Video (3-5 minutes) OR Integrated Mention (60-90 seconds within a longer video)

  • Blog:

* 1x Blog Post (500-800 words, including product placement, 2-3 brand links)

Key Messaging & Call-to-Action (CTA):

  • Key Message: [e.g., "Our new collection makes sustainable living stylish and accessible," "Discover the future of smart living with our connected devices," "Unlock your best self with our holistic wellness program."]
  • Core Selling Points: [List 2-3 unique benefits/features of the product/service.]
  • CTA: [e.g., "Shop now at [Link]," "Use code [DISCOUNT CODE] for [X]% off," "Learn more at [Link in Bio]," "Download the app today!"]

Visual & Aesthetic Guidelines:

  • Brand Colors: [e.g., Maintain a natural, earthy palette; use vibrant, energetic tones.]
  • Imagery Style: [e.g., Bright & airy, minimalist, authentic & candid, high-energy & dynamic.]
  • Product Placement: Integrate the product naturally into their lifestyle, not just a standalone shot. Show it in use.
  • Logo/Packaging: If relevant, ensure product packaging/logo is visible and clear.
  • Forbidden Imagery: [e.g., No explicit content, no competing brands visible, avoid overly staged shots.]

Required Elements for ALL Content:

  • Disclosure: Prominent use of #Ad, #Sponsored, #BrandPartner, or "Paid Partnership with [Brand Name]" feature.
  • Brand Tag: Tag [@YourBrandHandle] in the caption and/or image/video.
  • Campaign Hashtag: Use #[YourCampaignHashtag] (e.g., #SpringRefreshCollection, #TechForTomorrow).
  • Product/Service Link: Include in bio, swipe-up story, or video description as appropriate.

Content Review & Approval Process:

  1. Draft Submission: Influencer submits draft content (photos, videos, captions) by [X] days before the live date.
  2. Brand Review: Brand reviews content within [Y] business days and provides feedback.
  3. Revisions: Influencer makes requested revisions (typically 1-2 rounds included in contract).
  4. Final Approval: Brand provides final approval, and influencer schedules content for posting.

Prohibited Content:

  • Misleading or false claims about the product/service.
  • Content that is offensive, discriminatory, or promotes illegal activities.
  • Content that directly compares to or disparages competitors.
  • Use of copyrighted music/imagery without proper licensing.
  • Overly promotional or "salesy" tone that doesn't fit the influencer's authentic voice.

6. ROI Tracking & Measurement Framework

Measuring the return on investment (ROI) is crucial to evaluate campaign success and inform future strategies.

Key Performance Indicators (KPIs) by Objective:

  • Awareness:

* Impressions/Reach: Total number of times content was displayed and unique viewers.

* Brand Mentions: Number of times your brand is mentioned (organic + campaign).

* Follower Growth: Increase in followers on relevant platforms.

* Share of Voice: Your brand's mentions relative to competitors.

  • Engagement:

* Engagement Rate: (Likes + Comments + Shares + Saves) / Reach or Followers.

* Comments & Sentiment: Quality and tone of comments on sponsored posts.

* Shares & Saves: Indicates content resonance and future reference.

  • Traffic & Conversions:

* Click-Through Rate (CTR): Clicks on trackable links / Impressions.

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
"); 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' import ReactDOM from 'react-dom/client' import App from './App' import './index.css' ReactDOM.createRoot(document.getElementById('root')!).render( ) "); 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' import './App.css' function App(){ return(

"+slugTitle(pn)+"

Built with PantheraHive BOS

) } export default App "); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e} .app{min-height:100vh;display:flex;flex-direction:column} .app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px} h1{font-size:2.5rem;font-weight:700} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` ## Open in IDE Open the project folder in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "type": "module", "scripts": { "dev": "vite", "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.5.13", "vue-router": "^4.4.5", "pinia": "^2.3.0", "axios": "^1.7.9" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "typescript": "~5.7.3", "vite": "^6.0.5", "vue-tsc": "^2.2.0" } } '); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { resolve } from 'path' export default defineConfig({ plugins: [vue()], resolve: { alias: { '@': resolve(__dirname,'src') } } }) "); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]} '); zip.file(folder+"tsconfig.app.json",'{ "compilerOptions":{ "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"], "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true, "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue", "strict":true,"paths":{"@/*":["./src/*"]} }, "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"] } '); zip.file(folder+"env.d.ts","/// "); zip.file(folder+"index.html"," "+slugTitle(pn)+"
"); 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' import { createPinia } from 'pinia' import App from './App.vue' import './assets/main.css' const app = createApp(App) app.use(createPinia()) app.mount('#app') "); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue"," "); 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} "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install npm run dev ``` ## Build ```bash npm run build ``` Open in VS Code or WebStorm. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local "); } /* --- 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",'{ "name": "'+pn+'", "version": "0.0.0", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build", "test": "ng test" }, "dependencies": { "@angular/animations": "^19.0.0", "@angular/common": "^19.0.0", "@angular/compiler": "^19.0.0", "@angular/core": "^19.0.0", "@angular/forms": "^19.0.0", "@angular/platform-browser": "^19.0.0", "@angular/platform-browser-dynamic": "^19.0.0", "@angular/router": "^19.0.0", "rxjs": "~7.8.0", "tslib": "^2.3.0", "zone.js": "~0.15.0" }, "devDependencies": { "@angular-devkit/build-angular": "^19.0.0", "@angular/cli": "^19.0.0", "@angular/compiler-cli": "^19.0.0", "typescript": "~5.6.0" } } '); zip.file(folder+"angular.json",'{ "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, "newProjectRoot": "projects", "projects": { "'+pn+'": { "projectType": "application", "root": "", "sourceRoot": "src", "prefix": "app", "architect": { "build": { "builder": "@angular-devkit/build-angular:application", "options": { "outputPath": "dist/'+pn+'", "index": "src/index.html", "browser": "src/main.ts", "tsConfig": "tsconfig.app.json", "styles": ["src/styles.css"], "scripts": [] } }, "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"} } } } } '); zip.file(folder+"tsconfig.json",'{ "compileOnSave": false, "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"]}, "references":[{"path":"./tsconfig.app.json"}] } '); zip.file(folder+"tsconfig.app.json",'{ "extends":"./tsconfig.json", "compilerOptions":{"outDir":"./dist/out-tsc","types":[]}, "files":["src/main.ts"], "include":["src/**/*.d.ts"] } '); zip.file(folder+"src/index.html"," "+slugTitle(pn)+" "); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; bootstrapApplication(AppComponent, appConfig) .catch(err => console.error(err)); "); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; } "); 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'; import { RouterOutlet } from '@angular/router'; @Component({ selector: 'app-root', standalone: true, imports: [RouterOutlet], templateUrl: './app.component.html', styleUrl: './app.component.css' }) export class AppComponent { title = '"+pn+"'; } "); zip.file(folder+"src/app/app.component.html","

"+slugTitle(pn)+"

Built with PantheraHive BOS

"); 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} "); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; import { routes } from './app.routes'; export const appConfig: ApplicationConfig = { providers: [ provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes) ] }; "); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router'; export const routes: Routes = []; "); 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)+" Generated by PantheraHive BOS. ## Setup ```bash npm install ng serve # or: npm start ``` ## Build ```bash ng build ``` Open in VS Code with Angular Language Service extension. "); zip.file(folder+".gitignore","node_modules/ dist/ .env .DS_Store *.local .angular/ "); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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(" "):"# add dependencies here "; zip.file(folder+"main.py",src||"# "+title+" # Generated by PantheraHive BOS print(title+" loaded") "); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` ## Run ```bash python main.py ``` "); zip.file(folder+".gitignore",".venv/ __pycache__/ *.pyc .env .DS_Store "); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^```[w]* ?/m,"").replace(/ ?```$/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)+" "; zip.file(folder+"package.json",pkgJson); var fallback="const express=require("express"); const app=express(); app.use(express.json()); app.get("/",(req,res)=>{ res.json({message:""+title+" API"}); }); const PORT=process.env.PORT||3000; app.listen(PORT,()=>console.log("Server on port "+PORT)); "; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000 "); zip.file(folder+".gitignore","node_modules/ .env .DS_Store "); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Setup ```bash npm install ``` ## Run ```bash npm run dev ``` "); } /* --- 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:" "+title+" "+code+" "; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */ *{margin:0;padding:0;box-sizing:border-box} body{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e} "); zip.file(folder+"script.js","/* "+title+" — scripts */ "); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. ## Open Double-click `index.html` in your browser. Or serve locally: ```bash npx serve . # or python3 -m http.server 3000 ``` "); zip.file(folder+".gitignore",".DS_Store node_modules/ .env "); } /* ===== 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(/ {2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+" Generated by PantheraHive BOS. Files: - "+app+".md (Markdown) - "+app+".html (styled HTML) "); } 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);}});}