Currently we are using Google analytics but in future we would like to utilize Sitecore Analytics? Can we migrate past Google analytics data to Sitecore xDB?
I think that this is probably going to result in opinionated answers. But the question does have merit.
Use both. Don't silo yourself into just one platform. The more data you have, the better/more accurate your data and reporting is. Then you can make informed marketing decisions based on that.
I forget where, but I heard it said:
Google Analytics is for reporting, Sitecore Analytics is for Marketing
And that kinda sums up why you might use both. GA is an industry standard for reporting. It has good market maturity, some very nice visualizations and can give you a high level view of how your site is performing easily.
You also can do goal & event tracking, funneling, integrate Ad Words etc... It is very powerful.
This is where Sitecore Analytics (xDB) comes in. With Sitecore Analytics, you get a more focused view of each user. It is tied nicely to the content and you can use that for personalization or multivariate testing etc... You can track page events and goals from within the CMS and you can have real time page optimization.
The analytics is tracked server side, so no issues with ad blockers etc... And Path Analyzer is pretty cool.
The cons, its not as mature as GA. It can store massive amounts of data, which has a cost associated with that. If you've ever had to rebuild the reporting database, you will know it can take days for large data sets. You have extra infrastructure to maintain.
Ultimately - they both have things that a marketing team will need, and neither does everything. So just use both and pick which set of tooling is going to fill your marketing requirements better for each task.
It can be quite challenging to migrate data from Google analytics to Sitecore xDB, depending to what extent you want it to be.
If you use Sitecore 9.0 or higher, in order to import external data to xDB, you can leverage xConnect Client API, which allows to write data to the Experience Database and add contacts and interactions. You can find detailed documentation here.
And if you use older versions of Sitecore, you can also take a look into Sitecore Data Exchange Framework, which is designed to facilitate the transfer of data between systems and can read external data and create contacts in xDB. You can find more information here.
Another possibility you might want to consider is to export both Google Analytics data and Sitecore Analytics data to a third-party Business Intelligence platforms (e.g. Power BI, etc.) to have analytics data from different systems aggregated in one place for marketers to take advantage of. You can use xConnect Client API that allows to extract contacts and interactions.