Ok, so changing
preg_match('_([0-9]+)_', $row->meta_key, $matches);
$meta_key = 'promosettings_' . $matches[0] . '_url';
$url = get_post_meta( $row->post_id, $meta_key, true );
echo $url[0];
to
preg_match('_([0-9]+)_', $row->meta_key, $matches);
$meta_key = 'promosettings_' . $matches[0] . '_url';
$url = get_post_meta( $row->post_id, $meta_key, true );
echo $url;
Now shows me the URL, but duplicated.