Install Meta Pixel on Strikingly | OpsBlu Docs

Install Meta Pixel on Strikingly

How to install and configure Meta Pixel (Facebook Pixel) on Strikingly using custom code injection.

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

  1. Go to Meta Events Manager
  2. Select your pixel (or create new one)
  3. Click Settings in left sidebar
  4. Copy your Pixel ID (15-16 digit number)

Step 2: Get Pixel Base Code

  1. In Meta Events Manager, click Continue Pixel Setup
  2. Choose Install code manually
  3. 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

  1. Log in to Strikingly dashboard
  2. Select your site
  3. Go to SettingsAdvanced
  4. Find Custom Code section
  5. 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

  1. Click Save in Custom Code section
  2. Return to site editor
  3. Click Publish
  4. Wait 30-60 seconds for changes to go live

Step 5: Verify Installation

Method 1: Meta Pixel Helper

  1. Install Meta Pixel Helper extension
  2. Visit your Strikingly site
  3. Click the extension icon

Expected Result:

  • Green checkmark icon
  • Shows your Pixel ID
  • PageView event detected

Method 2: Meta Events Manager

  1. Open Meta Events Manager
  2. Select your pixel
  3. Go to Test Events tab
  4. Visit your Strikingly site in another tab
  5. Should see events appear in real-time

Method 3: Browser Console

  1. Open Developer Tools (F12)
  2. Console tab
  3. Type: fbq
  4. 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:

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

Add Meta Pixel to GTM

  1. In GTM, go to TagsNew
  2. Click Tag Configuration
  3. Choose Custom HTML
  4. 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>
  1. Triggering: Select All Pages
  2. Save as "Meta Pixel - Base Code"
  3. Click Submit to publish container

Verify in GTM Preview

  1. Click Preview in GTM
  2. Enter your Strikingly site URL
  3. Verify "Meta Pixel - Base Code" tag fires
  4. 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:

  1. Create Form Submission Trigger (All Forms)
  2. Create new Tag:
    • Type: Custom HTML
    • Code:
      <script>
        fbq('track', 'Lead', {
          content_name: 'Contact Form'
        });
      </script>
      
    • Trigger: Form Submission
  3. 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'
      });
    });
  });
});

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

  1. Go to Meta Events Manager
  2. Select Custom Conversions
  3. Click Create Custom Conversion
  4. Configure:
    • Name: "Contact Form Submission"
    • Data Source: Your pixel
    • Event: Lead
    • Rule: URL contains /thank-you (or similar)
  5. 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'
});

Implement consent before loading Meta Pixel.

<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.js request

Check 3: Ad Blockers

  • Disable ad blocker
  • Test in incognito mode
  • Meta Pixel is commonly blocked

Events Not Firing

Diagnose:

  1. Open Meta Pixel Helper
  2. Perform action (submit form, click button)
  3. 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:

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:

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:

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

  1. In Meta Events Manager, select pixel
  2. Go to SettingsEvent Setup Tool
  3. Enter your Strikingly URL
  4. Click buttons/forms to track
  5. Meta auto-generates event code

Aggregated Event Measurement

For iOS 14+ tracking:

  1. Go to Aggregated Event Measurement
  2. Verify domain
  3. Configure priority events (max 8)
  4. Prioritize purchase/lead events highest

Data Sources

  1. Connect pixel to ad accounts
  2. Enable Automatic Advanced Matching
  3. Configure attribution settings
  4. 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

  1. Enable Advanced Matching in pixel settings
  2. Send user data (hashed email, phone, name)
  3. Use standard events instead of custom
  4. 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

For general Meta Pixel concepts, see Meta Pixel Documentation.

Additional Resources