— Which way is better — online or offline?
It depends on the type of data you want to work with. Online data transfer works best for information that only "lives" online and doesn't need to be stored in a CRM (such as certain aspects of how visitors use your website). In some cases though, it's still useful to note this "online" information in your own database and then send it to Metrica from there.
For example, if customers can get a discount card on your site, you'll want to note that certain customers have this card in your database.
The two methods also differ in speed. Offline uploading lets you add data for visitors that already have UserIDs/ClientIDs faster: parameters will update immediately when you upload the current file. By contrast, you will have to wait for the customer's next visit to your site to send data using the userParams method.
If necessary, you can transfer data using both online and offline means.
— What's better, a UserID or a ClientID?
This depends on whether or not you have your own unique customer IDs. If you do, then it's simpler to use UserIDs and not involve an extra ID system.
— Can I use different ID types simultaneously for the UserID (such as username and social network referrer)?
You can only choose one ID type for the UserID. Otherwise different UserIDs will be transfered to Metrica for the same visitor and that individual's parameters will be matched with several different visitors.
— I get a "matching error" when I try to upload my file. What should I do?
A matching error means that you either haven't added the code that calls the setUserID or getClientID methods to your site or this code is not functioning correctly. You might also be getting this error because no visitors that you transfer UserID's for or get ClientID's from have visited your site yet.
— Is it necessary to get a 100% client match when uploading a file?
In actual practice, 100% matching doesn't happen: sometimes a customer's data doesn't "stick together" due to small technical kinks (for example, like when a visitor leaves a site before the counter code loads).
If you've got any other questions about user parameters, just ask away in the comments – we'll be happy to help.