link
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env python3
"""
UTM Builder
Build UTM tracking parameters for campaign URLs
"""
from urllib.parse import urlencode, urlparse, parse_qs
def build_utm_url(base_url, source, medium, campaign,
term=None, content=None):
"""Build URL with UTM parameters"""
params = {
'utm_source': source,
'utm_medium': medium,
'utm_campaign': campaign
}
if term:
params['utm_term'] = term
if content:
params['utm_content'] = content
# Handle existing query params
parsed = urlparse(base_url)
existing_params = parse_qs(parsed.query)
# Merge params
for key, value in existing_params.items():
if key not in params:
params[key] = value[0]
# Build final URL
query = urlencode(params)
return f"{parsed.scheme}://{parsed.netloc}{parsed.path}?{query}"
def build_batch(urls, source, medium, campaign):
"""Build UTM URLs for multiple links"""
return [build_utm_url(url, source, medium, campaign) for url in urls]
# Presets for common sources
PRESETS = {
'newsletter': {'source': 'newsletter', 'medium': 'email'},
'cold_email': {'source': 'outreach', 'medium': 'email'},
'drip': {'source': 'drip', 'medium': 'email'},
'transactional': {'source': 'transactional', 'medium': 'email'}
}
if __name__ == '__main__':
url = build_utm_url(
'https://example.com/landing',
source='newsletter',
medium='email',
campaign='jan2024_promo'
)
print(url)
info Об инструменте
UTM-конструктор создаёт правильно отформатированные UTM-параметры для ссылок email-кампаний. Отслеживайте эффективность email в Google Analytics с единообразным наименованием.
UTM-параметры
- utm_source - Источник трафика (рассылка, охват)
- utm_medium - Маркетинговый канал (email)
- utm_campaign - Название кампании (promo_jan2024)
- utm_term - Платные ключевые слова (опционально)
- utm_content - Вариант A/B теста (опционально)
Ключевые особенности
- Предустановки - Быстрые шаблоны для типичных видов email
- Пакетная обработка - Добавление UTM к нескольким URL за раз
- Валидация URL - Гарантирует корректную структуру URL
- Существующие параметры - Сохраняет существующие параметры запроса
Требования
- Python 3.7+
- Без внешних зависимостей
Лучшая практика: Используйте единообразные соглашения об именах. lowercase_with_underscores лучше всего для названий кампаний.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial