You may notice that the sessions in your reports are being associated with the wrong sources. This is often caused by tracking implementation mistakes.
Untracked Landing Pages
For a session to be attributed to the correct Source, the landing page for the session must have basic page tracking properly installed. If page tracking is not properly installed, sessions may appear with a Source of "direct", since the first tracked page on the site registers a referral from the previous untracked page. A large number of "direct" users may indicate untracked landing pages.
Improperly Tagged Links
If you are using autotagging, Analytics automatically appends the gclid (Google Click ID) parameter to the end of the destination URL. It interprets Source, Campaign, Medium, and other dimensions from this ID as long as autotagging is enabled and the landing page has the tracking code properly installed.
If your links have been manually tagged, it's possible that the utm_source parameter is incorrectly assigned. Use the URL Builder to ensure that the destination URLs you create are properly tagged.
Ecommerce transactions: crossing between domains
If you use a third party shopping cart, make sure that cross domain tracking has been implemented. Without cross domain tracking, the referring-source information gets dropped when a user navigates between the domains, and the ecommerce transactions may be attributed to "direct" sessions.