Это вовсе не проблема, вам нужны UTM метки. Не знаю как это выглядит в modx но простая форма с utm метками выглядит так:
<form >
<input type="hidden" name="utm_source" value="<?php echo isset($_GET['utm_source']) ? $_GET['utm_source'] : '' ;?>" />
<input type="hidden" name="utm_medium" value="<?php echo isset($_GET['utm_medium']) ? $_GET['utm_medium'] : '' ;?>" />
<input type="hidden" name="utm_campaign" value="<?php echo isset($_GET['utm_campaign']) ? $_GET['utm_campaign'] : '' ;?>" />
<input type="hidden" name="utm_content" value="<?php echo isset($_GET['utm_content']) ? $_GET['utm_content'] : '' ;?>" />
<input type="hidden" name="utm_term" value="<?php echo isset($_GET['utm_term']) ? $_GET['utm_term'] : '' ;?>" />
<input type="text" name="name" placeholder="Ваше имя">
<input type="text" name="phone" placeholder="Телефон" required>
<button type="submit">Отправить</button>
</form>
Работать utm метки будут только в файле с расширением "PHP" письма будут приходить к примеру так:
Имя пользователя: Вася
Телефон: 8 (777) 777 77 77
utm_source: google
utm_medium: cpc
utm_campaign: utm
utm_content: ad2
utm_term: utm метки
Мануалов в интернете валом :)