MessageMatch MatchAgent Documentation
Welcome! This guide will help you set up and use your MessageMatch MatchAgents. No coding required—just copy, paste, and go!
Introduction
MessageMatch lets you easily add AI-powered content to your website. With just a few clicks, you can create widgets that update your site's text dynamically for campaigns, personalization, and more—no coding required.
Key Features
- AI-powered content generation
- Dynamic content replacement
- Campaign-specific messaging
- Real-time analytics and click tracking
- Easy integration with any website
Quick Start
Get Started in 3 Steps
- Create a MatchAgent in your dashboard
- Copy and paste the MatchAgent script to your website
- Add content classes to elements you want to update
That's it! Your MatchAgent will automatically start replacing content on your website with AI-generated text tailored to your visitors.
Installation
Installing MessageMatch is simple - just add our script tag to your website. No complex setup or dependencies required.
Step 1: Get Your MatchAgent Script
- Log into your MessageMatch dashboard
- Navigate to the MatchAgents section
- Click "Create MatchAgent" or select an existing MatchAgent
- Click the "Copy Script" button
Step 2: Add Script to Your Website
Paste the copied script into your website's HTML. We recommend placing it just before the closing </body> tag:
<!-- Place this script before closing </body> tag -->
<script>
  window._evolveConfig = {
    widgetId: "your-widget-id",
    apiKey: "your-api-key"
  };
</script>
<script src="https://evolvecopy.webadmin-503.workers.dev/widget.main.js"></script>
</body>⚠️ Important
Always use the script from your dashboard - it contains your unique MatchAgent ID and API key!
Configuration
Configure your MatchAgent behavior by modifying the _evolveConfig object or through your dashboard settings.
Required Configuration
| Parameter | Required | Description | 
|---|---|---|
| widgetId | Yes | Your unique MatchAgent identifier (widgetId) | 
| apiKey | Yes | Your API key for authentication | 
Optional Configuration
| Parameter | Type | Default | Description | 
|---|---|---|---|
| loadingEffect | String | "blur" | Loading animation: "blur" or "fade" | 
| user_prompt | String | Widget config | Custom AI prompt for content generation | 
| campaign | String | null | Campaign identifier for analytics | 
| demographics | String | null | Target audience segment | 
What is a "Rematch"?
A rematch (also called a "prediction" or "impression") is when our AI processes and enhances content on your website. Here's what happens:
The Rematch Process:
- Content Detection: The MatchAgent finds content elements on your page (like headings, paragraphs, buttons)
- AI Processing: Our AI analyzes the content and generates enhanced versions based on your MatchAgent's configuration
- Content Update: The original content is replaced with the AI-enhanced version
- Caching: The result is cached to avoid duplicate AI calls for the same content
Important: Each unique combination of content, user prompt, and URL parameters counts as one rematch. If the same content is processed multiple times with the same parameters, it uses the cached result and doesn't count as additional rematches.
Caching Logic Explained
To optimize costs and performance, we use intelligent caching:
Cache Hit (No Charge)
- Same content processed before
- Same user prompt
- Same URL parameters
- Instant response from cache
Cache Miss (Counts as Rematch)
- New content never seen before
- Different user prompt
- Different URL parameters
- AI processing required
Cache Key Components
The cache key includes: content text, user prompt, URL parameters (like campaign, demographics), and MatchAgent configuration. This ensures that different contexts get different AI responses.
Plan Limits & Billing
Each plan includes a monthly limit on rewrites (AI predictions). Here's how they work:
Free Plan
1,000 rematches/month
Perfect for testing and small websites
Pro Plan
50,000 rematches/month
Great for growing businesses with multiple pages
Agency Plan
500,000 rematches/month
For agencies managing multiple client websites
Lifetime Plan
Unlimited rematches
Lifetime access with unlimited AI processing
Usage Tracking
You can monitor your rematch usage in the Settings page. The dashboard shows your current usage and plan limits in real-time.
Best Practices for Optimizing Rematches
Follow these guidelines to maximize the value of your rematch allocation:
✅ Do's
- Use consistent user prompts across similar content
- Leverage URL parameters for different contexts
- Test with the Free plan before upgrading
- Monitor usage in your dashboard
- Use caching to your advantage
❌ Don'ts
- Don't change prompts unnecessarily
- Don't use unique parameters for identical content
- Don't ignore the cache - it saves money
- Don't exceed your plan limits
Pro Tip
The most cost-effective strategy is to design your content and prompts so that similar pages can share cached results. This way, you get the benefits of AI enhancement without using up your rematch allocation unnecessarily.
Basic Configuration
Learn how to create and configure your MatchAgent for optimal performance.
Creating Your MatchAgent
In your dashboard, you'll configure these essential settings:
MatchAgent Name
Appears in analytics section, used to organize what site it's applied on or what campaign is being ran.
Description
For personal and internal documentation to help you remember the MatchAgent's purpose.
Element Selector Types
Choose how the widget identifies content and conversion elements on your page:
Default (Recommended)
Perfect for GoHighLevel, WordPress, and most websites. Uses simple class names.
<h1 class="content1">Original Headline</h1> <p class="content2">Original description text</p> <button class="conversion1">Sign Up</button> <a href="#" class="conversion2">Learn More</a>
Custom Classes
For ClickFunnels, Leadpages, and platforms where you can specify custom CSS classes.
<h1 class="my-headline-class">Original Headline</h1> <p class="my-description-class">Original description</p> <button class="my-cta-button">Sign Up</button>
You specify "my-headline-class", "my-description-class", etc. in your MatchAgent settings.
Custom IDs
For Infusionsoft, Systeme.io, and platforms where you can set element IDs.
<h1 id="main-headline">Original Headline</h1> <p id="main-description">Original description</p> <button id="signup-button">Sign Up</button>
You specify "main-headline", "main-description", etc. in your MatchAgent settings.
MatchAgent Installation
After creating your MatchAgent, use the "Copy Script" button to get your installation code:
📋 Copy Script Button
Always use the "Copy Script" button in your dashboard - it contains your unique widget ID and API key automatically configured for your widget.
MatchAgent Management Features
- Edit: Click to modify MatchAgent settings, prompts, and selectors
- Copy Script: Get installation code for your website
- Delete: Remove widget (with confirmation)
- Inline Edit: Click name or description to edit directly
- Analytics: View performance metrics on each MatchAgent card
Advanced Features
Explore advanced MatchAgent capabilities for sophisticated content personalization and analytics.
URL Parameter Configuration
Control which URL parameters the AI analyzes for content personalization:
Default Parameters
These parameters are included by default but can be removed. You must have at least 1 parameter selected:
Examples: ?campaign=summer2024, ?demographics=young_adults, or ?campaign=summer2024&demographics=young_adults
Custom Parameters
Add additional parameters for more sophisticated targeting:
Example: ?campaign=summer2024&utm_source=newsletter&user_type=premium
Custom AI Prompts
Guide the AI's content generation with custom prompts and context:
User Prompt Field
Can be used to include context for the AI outside of information present on the page, or for introducing rules-based criteria.
Example prompts: • "Always mention our 30-day money-back guarantee" • "Focus on benefits for small businesses" • "Use a conversational, friendly tone" • "Include urgency and scarcity in CTAs"
Custom Element Selectors
Configure custom selectors for different platforms and use cases:
Content Element Selectors
Specify which elements should have their content replaced by AI:
my-headline-class, product-descriptionmain-headline, hero-subtitleConversion Element Selectors
Specify which elements should be tracked for conversions:
cta-button, signup-formbuy-now-btn, contact-formAnalytics & Performance Tracking
Monitor your MatchAgent's performance with comprehensive analytics:
Free Plan Metrics
- • Total page views
- • Content rewrites
- • Total clicks
- • Last activity date
Pro+ Plan Metrics
- • All free plan metrics
- • Click-through rate (CTR)
- • Conversion rate by element
- • Campaign performance
Webhook Integration
Receive real-time notifications when users interact with your content:
🔒 Pro Feature
Webhook functionality is available on Pro and Agency plans.
- • Real-time interaction events
- • Custom endpoint configuration
- • Detailed event payloads
- • Perfect for CRM integration
MatchAgent Management
Efficiently manage your MatchAgents with these dashboard features:
📝 Inline Editing
Click any MatchAgent name or description to edit directly in the dashboard without opening modals.
📊 Live Analytics
View real-time performance metrics directly on each MatchAgent card in your dashboard.
🔧 Advanced Settings
Access full configuration options including selectors, prompts, and integrations.
Styling Options
Customize the appearance and behavior of your MatchAgent during content loading.
Loading Effects
Blur Effect (Default)
Original content is blurred while new content loads, then replaced instantly.
Fade Effect
Content fades out with a spinner, then new content fades in smoothly.
Custom CSS
You can style the loading states and widget elements with CSS:
/* Style elements during loading */
.widget-loading {
  opacity: 0.5;
  transition: opacity 0.3s ease;
}
/* Style content blocks */
.content1, .content2, .content3 {
  transition: all 0.3s ease;
}
/* Style conversion elements */
.conversion1, .conversion2 {
  cursor: pointer;
  transition: background-color 0.2s ease;
}Event Handling
Listen for MatchAgent events and implement custom behavior in your application.
MatchAgent Events
| Event | Description | Data | 
|---|---|---|
| widget:loaded | Widget has initialized | Widget configuration | 
| widget:content-updated | Content has been replaced | Updated elements | 
| widget:interaction | User clicked tracked element | Click details | 
Event Listeners
Add event listeners to respond to MatchAgent events:
// Listen for widget events
window.addEventListener('widget:loaded', (event) => {
  console.log('Widget loaded:', event.detail);
});
window.addEventListener('widget:content-updated', (event) => {
  console.log('Content updated:', event.detail);
  // Run custom analytics or other code
});
window.addEventListener('widget:interaction', (event) => {
  console.log('User interaction:', event.detail);
  // Handle custom conversion tracking
});Conversion Tracking
Track user interactions and conversions to measure your MatchAgent's effectiveness.
Trackable Elements
Add tracking classes to elements you want to monitor:
<!-- Content tracking --> <div class="content1">This content block will be tracked when clicked</div> <p class="content2">This paragraph tracks engagement</p> <!-- Conversion tracking --> <button class="conversion1">Sign Up Now</button> <a href="/pricing" class="conversion2">View Pricing</a> <div class="conversion3">Special Offer Banner</div>
Analytics Dashboard
View detailed analytics in your dashboard:
- Total impressions and clicks
- Click-through rates (CTR)
- Conversion rates by element
- Campaign performance metrics
- Time-series analytics
Webhook Events
Configure webhooks to receive real-time interaction events at your endpoint.
Content Marketing
Use MessageMatch MatchAgents to personalize landing pages, blog CTAs, or newsletter signups based on campaign or user data. Easily A/B test headlines and offers.
Example Use Cases
- Personalized blog post CTAs based on referrer
- Dynamic email campaign landing pages
- A/B test headlines and value propositions
- Seasonal content updates
E-commerce
Show dynamic product descriptions, personalized offers, or cart reminders using MatchAgent content blocks and URL parameters for each shopper.
E-commerce Applications
- Personalized product recommendations
- Dynamic pricing and offers
- Cart abandonment recovery messages
- Location-based shipping information
Documentation Sites
Use widgets to highlight new features, show targeted onboarding tips, or personalize docs for logged-in users or teams.
Documentation Features
- Feature announcements and updates
- User role-based content
- Contextual help and tips
- Progressive disclosure of advanced features
Landing Pages
Instantly update hero text, CTAs, or testimonials for different campaigns, referral sources, or user segments using widgets and URL parameters.
Landing Page Optimization
- Dynamic headlines based on traffic source
- Personalized value propositions
- Targeted testimonials and social proof
- Campaign-specific offers and CTAs
FAQ: Common Questions
How do I set up my first widget?
- Create a widget in your dashboard
- Copy the widget script using the "Copy Script" button
- Add the script to your website's HTML
- Add content classes to your HTML elements
- Test and monitor performance in your dashboard
How do I choose the right selector type?
How long does it take for content to update?
Content updates happen in real-time when users visit your page. The initial load typically takes 1-3 seconds depending on your content complexity and AI processing requirements.
What analytics can I see in my dashboard?
How do I edit my widget settings?
Can I use multiple widgets on one page?
Yes! You can use multiple widgets on the same page. Each widget operates independently and can have different configurations and content targeting.
How do I track conversions?
conversion1, conversion2, etc. classesWhat URL parameters does the widget analyze?
campaign= and demographics= (can be removed)utm_source=, user_type=, etc.What if the widget fails to load?
If the widget fails to load, your original content remains unchanged. The widget is designed to fail gracefully without breaking your website's functionality.