The Meta Pixel (formerly Facebook Pixel) tracks user interactions on your Strikingly site for Facebook and Instagram advertising. This guide covers installation via direct code injection and Google Tag Manager.
Prerequisites
- Strikingly Plan: Limited, Pro, or VIP (custom code access required)
- Meta Business Account: business.facebook.com
- Pixel Created: Pixel ID from Meta Events Manager
- Site Access: Admin access to Strikingly settings
Method Comparison
| Method | Difficulty | Flexibility | Recommended For |
|---|---|---|---|
| Direct Pixel Code | Easy | Low | Quick setup, basic tracking |
| Google Tag Manager | Medium | High | Multiple pixels, advanced tracking |
Method 1: Direct Meta Pixel Installation
Add Meta Pixel directly to your Strikingly site's custom code.
Step 1: Get Your Pixel ID
- Go to Meta Events Manager
- Select your pixel (or create new one)
- Click Settings in left sidebar
- Copy your Pixel ID (15-16 digit number)
Step 2: Get Pixel Base Code
- In Meta Events Manager, click Continue Pixel Setup
- Choose Install code manually
- Copy the pixel base code
Example Base Code:
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=YOUR_PIXEL_ID&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->
Step 3: Install on Strikingly
- Log in to Strikingly dashboard
- Select your site
- Go to Settings → Advanced
- Find Custom Code section
- Paste pixel code into Header Code field
Complete Code for Header:
<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=YOUR_PIXEL_ID&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->
Replace YOUR_PIXEL_ID with your actual Pixel ID.
Step 4: Save and Publish
- Click Save in Custom Code section
- Return to site editor
- Click Publish
- Wait 30-60 seconds for changes to go live
Step 5: Verify Installation
Method 1: Meta Pixel Helper
- Install Meta Pixel Helper extension
- Visit your Strikingly site
- Click the extension icon
Expected Result:
Method 2: Meta Events Manager
- Open Meta Events Manager
- Select your pixel
- Go to Test Events tab
- Visit your Strikingly site in another tab
- Should see events appear in real-time
Method 3: Browser Console
- Open Developer Tools (F12)
- Console tab
- Type:
fbq - Press Enter
Expected Result: Should show Meta Pixel function (not undefined).
What Gets Tracked (Basic Installation)
Automatic Events:
- PageView - Every page load
- ViewContent - If enabled in Auto Events
Automatic Parameters:
- User agent
- Referrer URL
- Page URL
- Button text (if clicked)
NOT Automatically Tracked:
- Form submissions
- Button clicks (specific)
- Product views
- Add to cart
- Purchase events
- Custom conversions
See sections below for custom event implementation.
Method 2: Meta Pixel via Google Tag Manager
Using GTM provides better control and easier management.
Prerequisites
- GTM installed on Strikingly (see GTM setup guide)
Add Meta Pixel to GTM
- In GTM, go to Tags → New
- Click Tag Configuration
- Choose Custom HTML
- Paste Meta Pixel base code:
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window,document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
- Triggering: Select All Pages
- Save as "Meta Pixel - Base Code"
- Click Submit to publish container
Verify in GTM Preview
- Click Preview in GTM
- Enter your Strikingly site URL
- Verify "Meta Pixel - Base Code" tag fires
- Check Meta Events Manager for events
Standard Events for Strikingly
Implement common Meta Pixel standard events.
Form Submission Event (Lead)
Track contact form submissions:
Direct Implementation:
<!-- Add to Header Code, AFTER pixel base code -->
<script>
document.addEventListener('DOMContentLoaded', function() {
var forms = document.querySelectorAll('form, .s-contact-form');
forms.forEach(function(form) {
form.addEventListener('submit', function() {
fbq('track', 'Lead', {
content_name: 'Contact Form',
content_category: 'form_submission'
});
});
});
});
</script>
GTM Implementation:
- Create Form Submission Trigger (All Forms)
- Create new Tag:
- Type: Custom HTML
- Code:
<script> fbq('track', 'Lead', { content_name: 'Contact Form' }); </script> - Trigger: Form Submission
- Save and publish
Button Click Event (Contact)
Track CTA button clicks:
<script>
document.addEventListener('click', function(e) {
var button = e.target.closest('.s-cta-button, button[data-track="cta"]');
if (button) {
fbq('track', 'Contact', {
content_name: button.textContent.trim()
});
}
});
</script>
Newsletter Signup (Subscribe)
Track email subscription:
document.addEventListener('DOMContentLoaded', function() {
var newsletterForms = document.querySelectorAll('.s-email-form');
newsletterForms.forEach(function(form) {
form.addEventListener('submit', function() {
fbq('track', 'Subscribe', {
content_name: 'Newsletter',
value: 0.00,
currency: 'USD'
});
});
});
});
Outbound Link Click
Track clicks to external sites:
document.addEventListener('click', function(e) {
var link = e.target.closest('a');
if (link && link.href) {
var hostname = window.location.hostname;
var linkHostname = new URL(link.href).hostname;
if (linkHostname !== hostname) {
fbq('track', 'Lead', {
content_name: 'Outbound Link',
content_category: linkHostname
});
}
}
});
E-commerce Events (Strikingly Simple Store)
For Strikingly sites with e-commerce functionality.
View Content (Product View)
document.addEventListener('DOMContentLoaded', function() {
var productItems = document.querySelectorAll('.s-ecommerce-item');
productItems.forEach(function(item) {
item.addEventListener('click', function() {
var productName = item.querySelector('.product-name')?.textContent || 'Unknown';
var productPrice = item.querySelector('.product-price')?.textContent || '0';
fbq('track', 'ViewContent', {
content_name: productName,
content_type: 'product',
value: parseFloat(productPrice.replace(/[^0-9.]/g, '')),
currency: 'USD'
});
});
});
});
Add to Cart
document.addEventListener('click', function(e) {
var addToCartBtn = e.target.closest('.s-ecommerce-add-to-cart, .add-to-cart-button');
if (addToCartBtn) {
var productContainer = addToCartBtn.closest('.s-ecommerce-item');
var productName = productContainer?.querySelector('.product-name')?.textContent || 'Unknown';
var productPrice = productContainer?.querySelector('.product-price')?.textContent || '0';
fbq('track', 'AddToCart', {
content_name: productName,
content_type: 'product',
value: parseFloat(productPrice.replace(/[^0-9.]/g, '')),
currency: 'USD'
});
}
});
Purchase Event
Add to your order confirmation/thank you page:
// Only fire on order confirmation page
if (window.location.pathname.includes('/store/order/') ||
window.location.search.includes('order_id=')) {
fbq('track', 'Purchase', {
value: getTotalValue(),
currency: 'USD',
content_type: 'product',
contents: getOrderItems()
});
}
function getTotalValue() {
var totalElement = document.querySelector('.order-total, .total-price');
if (totalElement) {
return parseFloat(totalElement.textContent.replace(/[^0-9.]/g, '')) || 0;
}
return 0;
}
function getOrderItems() {
var items = [];
var orderItems = document.querySelectorAll('.order-item');
orderItems.forEach(function(item) {
items.push({
id: item.dataset.productId || 'unknown',
quantity: parseInt(item.querySelector('.item-quantity')?.textContent) || 1
});
});
return items;
}
Custom Conversions
Create custom conversions in Meta Events Manager for specific actions.
Set Up Custom Conversion
- Go to Meta Events Manager
- Select Custom Conversions
- Click Create Custom Conversion
- Configure:
- Name: "Contact Form Submission"
- Data Source: Your pixel
- Event: Lead
- Rule: URL contains
/thank-you(or similar)
- Save
Track Custom Event
fbq('trackCustom', 'ConsultationRequest', {
content_name: 'Free Consultation',
service_type: 'web_design'
});
Advanced Meta Pixel Configuration
Multiple Pixels
If you need to track with multiple pixels:
// Initialize multiple pixels
fbq('init', 'PIXEL_ID_1');
fbq('init', 'PIXEL_ID_2');
// Track page view for all
fbq('track', 'PageView');
// Track event for specific pixel only
fbq('trackSingle', 'PIXEL_ID_1', 'Lead');
User Data for Better Matching
Send hashed user data for improved attribution:
fbq('init', 'YOUR_PIXEL_ID', {
em: 'hashed_email@example.com', // SHA-256 hashed
fn: 'john', // First name (lowercase)
ln: 'doe', // Last name (lowercase)
ct: 'menlo park', // City
st: 'ca', // State
zp: '94025', // Zip
country: 'us'
});
Important: Hash sensitive data (email, phone) before sending.
Dynamic Product Data
For product catalogs:
fbq('track', 'ViewContent', {
content_ids: ['PRODUCT_SKU'],
content_type: 'product',
content_name: 'Product Name',
content_category: 'Category',
value: 29.99,
currency: 'USD'
});
Privacy and Consent
Implement consent before loading Meta Pixel.
Simple Consent Check
<script>
// Check for consent before initializing
if (localStorage.getItem('marketingConsent') === 'granted') {
// Initialize Meta Pixel
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
} else {
// Show consent banner
showConsentBanner();
}
function grantConsent() {
localStorage.setItem('marketingConsent', 'granted');
// Initialize pixel after consent
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
}
</script>
Limited Data Use (California)
For California users (CCPA compliance):
fbq('dataProcessingOptions', ['LDU'], 1, 1000); // California, US
Or disable data processing:
fbq('dataProcessingOptions', []);
Troubleshooting
Pixel Not Loading
Check 1: Pixel Helper
- Shows red icon = error
- Click for details
- Common: Pixel ID incorrect
Check 2: Browser Console
- Open DevTools (F12)
- Look for errors mentioning
fbq - Check Network tab for
fbevents.jsrequest
Check 3: Ad Blockers
- Disable ad blocker
- Test in incognito mode
- Meta Pixel is commonly blocked
Events Not Firing
Diagnose:
- Open Meta Pixel Helper
- Perform action (submit form, click button)
- Check if event appears in helper
Common Causes:
- Event code syntax error
- Event triggers before pixel loads
- CSS selectors don't match elements
- JavaScript errors blocking execution
Fix:
// Ensure pixel is loaded before tracking
if (typeof fbq !== 'undefined') {
fbq('track', 'Lead');
} else {
console.error('Meta Pixel not loaded');
}
Duplicate Events
Cause: Pixel installed multiple times.
Check:
- Direct code in Strikingly AND GTM
- Multiple GTM tags firing same event
- Pixel in theme AND custom code section
Fix: Remove all but one implementation.
Events in Test Mode But Not Live
Possible Causes:
- Ad blockers in production
- Users not accepting cookies
- Pixel blocked by privacy extensions
Solutions:
- Implement Conversions API (server-side)
- Use Meta's Aggregated Event Measurement
- Educate users on cookie consent
Conversions API (Advanced)
For more reliable tracking, supplement pixel with Conversions API.
Benefits:
- Server-side tracking (not blocked by ad blockers)
- Better data accuracy
- More complete attribution
Implementation:
- Requires server-side code
- Send events from your server to Meta
- Deduplicates with pixel events
Resources:
- Meta Conversions API Documentation
- May require developer assistance
Performance Considerations
Optimize Pixel Loading
<!-- Use async loading (built into pixel code) -->
<script>
// Pixel code already uses async loading
t.async=!0;
</script>
Monitor Impact
Check site speed after adding pixel:
- PageSpeed Insights
- Look for third-party script warnings
- Monitor LCP
Best Practices
- Load pixel in header for early initialization
- Consolidate multiple pixels through GTM
- Only track necessary events
- Use event deduplication
- Test on mobile devices
Testing Checklist
Before going live:
- Pixel code added to Strikingly Header Code
- Settings saved and site published
- Meta Pixel Helper shows green checkmark
- PageView events in Meta Events Manager
- Test events fire correctly
- No JavaScript errors in console
- Works in incognito mode (if no ad blocker)
- Mobile testing complete
- Custom events implemented
- Privacy/consent implemented
Meta Events Manager Setup
Configure events for optimization:
Event Configuration
- In Meta Events Manager, select pixel
- Go to Settings → Event Setup Tool
- Enter your Strikingly URL
- Click buttons/forms to track
- Meta auto-generates event code
Aggregated Event Measurement
For iOS 14+ tracking:
- Go to Aggregated Event Measurement
- Verify domain
- Configure priority events (max 8)
- Prioritize purchase/lead events highest
Data Sources
- Connect pixel to ad accounts
- Enable Automatic Advanced Matching
- Configure attribution settings
- Set up offline events (if applicable)
Monitoring and Optimization
Meta Events Manager Metrics
Monitor these metrics:
- Events Received - Total events tracked
- Event Match Quality - Data matching score
- Active Events - Events firing recently
- Pixel Health - Overall pixel status
Improve Event Match Quality
- Enable Advanced Matching in pixel settings
- Send user data (hashed email, phone, name)
- Use standard events instead of custom
- Send complete event parameters
A/B Testing
Test pixel performance:
- Test with/without custom events
- Compare direct pixel vs. GTM implementation
- Measure impact on ad performance
- Monitor site speed impact
Next Steps
- Track Custom Events - Similar implementation for GA4
- Install GTM - For easier pixel management
- Troubleshoot Issues - Debug common problems
For general Meta Pixel concepts, see Meta Pixel Documentation.