PyTracker es una herramienta modular de generación de URLs para diferentes canales de marketing digital. Está diseñada para procesar archivos CSV que contienen los parámetros necesarios y generar URLs de redirección, impresión y seguimiento por parámetros.
-
Canales Soportados:
- Display
- Afiliación
- Emailing
- Colaboración
- Comparador de Precios
- Links patrocinados Google Ads
- Links patrocinados Bing Ads
- Social
-
Validación Automática:
- Cada canal valida que los parámetros requeridos estén presentes.
- Generación de URLs específicas para cada canal.
-
Salida en CSV:
- Se genera un archivo CSV con las URLs resultantes de cada canal.
- Python 3.7 o superior
- Las siguientes bibliotecas están incluidas en la biblioteca estándar de Python:
csv
urllib.parse
-
Clona este repositorio:
git clone https://github.com/abutrag/PyTrackerES.git cd PyTracker
-
Crea un entorno virtual (opcional pero recomendado):
python -m venv env source env/bin/activate # Para macOS/Linux .\env\Scripts\activate # Para Windows
-
Instala las dependencias (si es necesario):
pip install -r requirements.txt # Actualmente no hay dependencias externas
-
Ejecuta el archivo
main.py
:python main.py
-
Selecciona el canal a traficar:
dy
para Displayaf
para Afiliaciónem
para Emailingco
para Colaboracióncp
para Comparador de Preciosga
para Links patrocinados Google Adsba
para Links patrocinados Bing Adssc
para Social
-
Introduce la ruta completa del archivo CSV.
-
El programa generará un archivo CSV con las URLs generadas en la misma carpeta que el archivo de entrada.
Cada canal tiene una estructura específica de CSV. Aquí tienes las plantillas para los canales soportados:
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_ubicacion,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,yes,no,no,yes,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,nombre_plan_medios,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,no,no,yes,no,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,mail_usuario,nombre_segmento,valor_segmento,url_destino,nombre_plan_medios,id_cliente,adid,idfa
MANDATORY: yes,yes,yes,yes,no,no,no,yes,no,no,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_ubicacion,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,yes,no,no,yes,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_banner,nombre_segmento,valor_segmento,url_destino,nombre_plan_medios,adid,idfa
MANDATORY: yes,yes,yes,yes,no,no,no,yes,no,no,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_ubicacion,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,yes,no,no,yes,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_ubicacion,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,yes,no,no,yes,no,no
HEADERS: dominio_tracking,sitio,nombre_soporte,nombre_campania,nombre_ubicacion,nombre_banner,formato_banner,nombre_segmento,valor_segmento,url_destino,nombre_plan_medios,adid,idfa
MANDATORY: yes,yes,yes,yes,yes,yes,yes,no,no,yes,no,no
Para ejecutar las pruebas unitarias, simplemente usa pytest
:
pytest
Si deseas contribuir a este proyecto, abre un pull request o crea un issue en GitHub.
Este proyecto está bajo la Licencia MIT.