If you're experiencing this rather "humiliating" problem in your country (Tunisia, Algeria, Morocco, Vietnam, ... for instance) on your favourite Android device having the latest Android version (Lollipop, Marshmallow), just follow carefully the following steps to enable Google now cards, on tap and Google Music as well:
As stated in the title, your device doesn't need to be rooted in order for this to work.
1- Shutdown your device and then remove your SIM card(s) (if you already have one or two already inserted).
2- Restart normally and then perform a factory reset: it depends on your device version and brand but it is generally under Settings, "Backup and reset" and then "Factory data reset"
3- At the first time setup, skip all steps : Disable data, disable location, no wifi, no email, no time/date, nothing.
4- Once installation done: connect to your Wi-Fi
5- Go to Settings "More networks", VPN and connect to any VPN from US or UK.
You can reliably use the free service vpnbook :
Just go to vpnbook.com, and then PPTP tab, choose the appropriate server and check the username / password.
You'll need to add a simple pattern for security, otherwise it won't work.
6- You should successfully, connect to the VPN to continue: Once you are connected, Tap the Google App
7- Sign in with your account
8- After you sign in, you'll see a new window introducing 'Google Now'. Click "Yes, I'm in".
9- To enable Now on Tap go to Settings > Google > Search & Now > Now Cards > Now on Tap and enable it
10- Install Google Music application from Google Play if it is not already installed, and then open it: it should be correctly enabled
11- Insert your SIM card and delete VPN (and the pattern you set up earlier if you wish)
12- Now you can enjoy Google Now cards, Now on Tap and Google Music, even without a VPN
This method has been successfully tested on a non-rooted Samsung S5 Duos on both Android Lollipop and Marshmallow.
Source: here