Append parameter to URL accross all pages
The best hook for this is hook_url_outbound_alter. This affects links generated by url(), which is used by most/all code generating urls and links in Drupal.

function mymodule_url_outbound_alter(&amp;$path, &amp;$options, $original_path) {
  // If the param of interest is present and the url being generated is internal.
  if (!empty($_GET['country']) &amp;&amp; !$options['external']) {
    $options['query']['country'] = $_GET['country'];
  }
}