Delivery Options
- MediaMath Universal Pixel: Container tag for all tracking
- Individual Event Pixels: Specific conversion and audience pixels
- Google Tag Manager: Centralized tag management
- Server-Side Pixel: S2S postback for conversions
Universal Pixel Deployment
Direct Implementation
Deploy the MediaMath universal pixel in the <head> section of all pages:
<!-- MediaMath Universal Pixel -->
<script type="text/javascript">
(function() {
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=PIXEL_ID&mt_exem=&mt_excl=&v1=&v2=&v3=&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
Parameters
mt_id: Your MediaMath advertiser IDmt_adid: Pixel ID for trackingv1,v2,v3: Custom variables for additional datas1,s2,s3: Dynamic segments for audience targeting
Conversion Pixel
Purchase Conversion
<!-- MediaMath Conversion Pixel - Purchase -->
<script type="text/javascript">
(function() {
var orderValue = '99.99'; // Dynamic order value
var orderId = 'ORDER_12345'; // Unique order ID
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=CONVERSION_PIXEL_ID&mt_exem=&mt_excl=&v1=' + orderValue + '&v2=' + orderId + '&v3=&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
Lead Generation
<!-- MediaMath Conversion Pixel - Lead -->
<script type="text/javascript">
(function() {
var leadValue = '50.00'; // Estimated lead value
var leadType = 'contact_form'; // Lead category
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=LEAD_PIXEL_ID&mt_exem=&mt_excl=&v1=' + leadValue + '&v2=' + leadType + '&v3=&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
Google Tag Manager Implementation
Create Custom HTML Tag
- Create new tag: Custom HTML
- Paste MediaMath pixel code
- Configure variables for dynamic values
- Set trigger (page view, custom event, etc.)
Dynamic Variable Configuration
Create GTM variables for dynamic pixel parameters:
<script type="text/javascript">
(function() {
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id={{MM Advertiser ID}}&mt_adid={{MM Pixel ID}}&mt_exem=&mt_excl=&v1={{Transaction Value}}&v2={{Transaction ID}}&v3={{Product Category}}&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
GTM Variables to Create
- MM Advertiser ID: Constant - your advertiser ID
- MM Pixel ID: Lookup table based on event type
- Transaction Value: Data Layer Variable -
ecommerce.value - Transaction ID: Data Layer Variable -
ecommerce.transaction_id - Product Category: Data Layer Variable -
ecommerce.items.0.category
Audience Pixel
Retargeting Pixel
<!-- MediaMath Audience Pixel -->
<script type="text/javascript">
(function() {
var productId = 'SKU_12345'; // Product viewed
var category = 'electronics'; // Product category
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=AUDIENCE_PIXEL_ID&mt_exem=&mt_excl=&v1=' + productId + '&v2=' + category + '&v3=&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
Dynamic Retargeting Pixel
Product Detail Page
<!-- MediaMath Dynamic Retargeting Pixel -->
<script type="text/javascript">
(function() {
var productData = {
id: 'SKU_12345',
name: 'Blue Widget',
category: 'widgets',
price: '49.99',
image: 'https://example.com/images/product.jpg'
};
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=DYNAMIC_PIXEL_ID&mt_exem=&mt_excl=&v1=' + productData.id + '&v2=' + productData.price + '&v3=' + productData.category + '&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
})();
</script>
Image Pixel (No JavaScript)
For environments where JavaScript is not supported:
<!-- MediaMath Image Pixel -->
<img src="https://pixel.mathtag.com/event/img?mt_id=ADVERTISER_ID&mt_adid=PIXEL_ID&mt_exem=&mt_excl=&v1=&v2=&v3=&s1=&s2=&s3=" width="1" height="1" style="display:none;" />
Server-Side Pixel
For server-side conversion tracking:
import requests
def fire_mediamath_pixel(advertiser_id, pixel_id, order_value, order_id):
"""Fire MediaMath pixel server-side"""
url = 'https://pixel.mathtag.com/event/img'
params = {
'mt_id': advertiser_id,
'mt_adid': pixel_id,
'mt_exem': '',
'mt_excl': '',
'v1': order_value,
'v2': order_id,
'v3': '',
's1': '',
's2': '',
's3': ''
}
try:
response = requests.get(url, params=params, timeout=5)
if response.status_code == 200:
print(f"MediaMath pixel fired: {order_id}")
else:
print(f"Pixel error: {response.status_code}")
except Exception as e:
print(f"Failed to fire pixel: {e}")
# Usage
fire_mediamath_pixel(
advertiser_id='123456',
pixel_id='789012',
order_value='99.99',
order_id='ORDER_12345'
)
Privacy Compliance
Consent Management
<!-- MediaMath Pixel with Consent Check -->
<script type="text/javascript">
(function() {
// Check for user consent
if (typeof window.gdprConsent !== 'undefined' && window.gdprConsent) {
var mtm = document.createElement('script');
mtm.type = 'text/javascript';
mtm.async = true;
mtm.src = 'https://pixel.mathtag.com/event/js?mt_id=ADVERTISER_ID&mt_adid=PIXEL_ID&mt_exem=&mt_excl=&v1=&v2=&v3=&s1=&s2=&s3=';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(mtm, s);
}
})();
</script>
Validation Checklist
- Universal pixel loads on all pages
- Conversion pixels fire at correct moments
- Custom variables populate with correct data
- Audience pixels create segments in TerminalOne
- Image pixel fallback for no-JS environments
- Privacy consent implemented before pixel fires
- Test pixels in staging before production
- Verify pixel IDs match TerminalOne configuration