Link Contacts between Facebook and iCloud
Solution 1:
My suggestion would be to do ONE sync via iTunes and make sure your contacts are synced.
Once you do that, your icloud sync will be the same from one to the other.
OR
Backup your current Address book on your Mac. Then, export from iCloud.com and import into address book.
OR you can use a third party app. http://danauclair.com/addressbooksync/
Solution 2:
If you're using iCloud your Mac and iPhone should be syncing– that's the point of iCloud. Some suggestions I have read on syncing issues is logging out then back in on your computer (device that's not syncing correctly) and it should sync after that. Afterward, you may see duplicates in your macbook address book, which are easily resolved using the Card>Look for Duplicates.
I actually had the same problem, just went in opposite order. Also, just in case it helps, you can merge two contacts in the mac address book if you have a duplicate with different info. Control + Command + | or Card> Merge Selected Cards
Hope you get it worked out, good luck :)
Solution 3:
I have the same issue, and when I link a Facebook contact with an iCloud contact on my iPhone, it's not synced on my Mac and vice versa; if I link a Facebook contact with an iCloud contact on my Mac, it's not synced on my iPhone...
I think iCloud can't store the link you make with Facebook contacts because the they don't appear in iCloud (try to find your facebook contact on the iCloud website, you will not). The link is done only in the local contact database and is not synced.
I don't think it's possible for now to have this synchronization, and Apple should correct this- but maybe I'm doing something wrong.
EDIT: I tried something new: on the Mac, instead of merging the two cards, I just filled some additional information in the Facebook contact (for example, the phone number of the iCloud contact); what it does is it creates a new iCloud contact directly associated with the Facebook contact and this time the sync works. On my iPhone, the contact appears with all the information as a unified contact!
This means that it is not the lack of Facebook contacts in iCloud, since iCloud is able to make this sync; the bug is more on the "merge two contacts" function in both the iPhone and Mac's Contacts app.