Parte de https://example.com/p?q=a%20b&utm_source=old&flag&utm_source=older#buy. Introduce linkedin, paid_social, launch y hero/card.
URL final esperada
El resultado es https://example.com/p?q=a%20b&flag&utm_source=linkedin&utm_medium=paid_social&utm_campaign=launch&utm_content=hero%2Fcard#buy. q conserva %20, flag sigue sin igual, la barra de content se vuelve %2F y #buy queda al final.
Evidencia esperada
Se conservan dos segmentos ajenos, se sustituyen ambas apariciones utm_source en minúsculas y se añaden cuatro pares. UTM_SOURCE con otra caja sería ajeno y quedaría visible porque la coincidencia es exacta. Revisa ese nombre manualmente en lugar de suponer una corrección silenciosa.
Reproduce e inspecciona el resultado
Carga el ejemplo revisado en UTMLink o escribe los valores exactamente. Crea el enlace y compara carácter por carácter cada segmento conservado, par de campaña y fragmento con la línea esperada. Los contadores explican la transformación sin enviar la dirección: conservados son los segmentos ajenos, sustituidos son todas las apariciones UTM propias en minúsculas eliminadas y añadidos son los campos finales no vacíos. Cambia un valor opcional, vuelve a crear y comprueba que el resultado anterior desaparece antes de mostrar el nuevo. Borra el formulario y recarga: ningún historial debe volver porque esta versión no guarda enlaces introducidos ni generados.