I discovered the reason why GA didn't display the right source for my goals:
I used this tracking code:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_setDomainName', '.mysite.com']);
_gaq.push(['_setAllowHash', false])
_gaq.push(['_trackPageview']);
I was informed that the right tracking code now looks like:
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
_gaq.push(['_setDomainName', '.mysite.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview']);
As _gaq.push(['_setAllowHash', false]) is no longer used.
Besides that I used GA's option to track additional pageviews at the checkout page. I used to work with this code:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
_gaq.push(['_trackPageview','/funnel/G1/Page-name']);
</script>
However the right code is:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXX-Y']);
_gaq.push(['_setDomainName', '.my-securesite.com']);
_gaq.push(['_setAllowLinker', true]);
_gaq.push(['_trackPageview','/funnel/G1/Page-name']);
</script>
Since I implemented these changes GA tracks the source of my goals correctly.