You didn't mention what version of iOS you're using so I'm assuming you're using the latest version. Be sure you follow these directions from Apple's support page to setup the sync between your iPhone and iCloud:
Get started
- Make sure that you’re signed in to iCloud with the same Apple ID on all of your devices.
- Set up iCloud on all of your devices. If you have a PC, download iCloud for Windows.
- Make sure that you're connected to Wi-Fi or have an active Internet or cellular connection.
Set up iCloud Contacts
When you turn on iCloud Contacts, all of the information stored on separate devices uploads to iCloud. If you turn off iCloud Contacts, your information won't automatically move from iCloud back to your device.
On your iPhone, iPad, or iPod touch
- Go to
Settings > [your name] > iCloud
. If you’re using iOS 10.2 or earlier, go to Settings > iCloud
.
- Turn on Contacts.
- When you're asked if you want to Merge or Cancel, tap Merge.
All of the information stored in Contacts uploads to iCloud.
On iCloud.com or iCloud for Windows
After you turn on iCloud Contacts on your iPhone, iPad, iPod touch, or Mac, your contacts upload to iCloud. You can find and edit your contacts on iCloud.com or in iCloud for Windows. Any changes that you make automatically update on your other devices.
If you turn off iCloud Contacts on your iPhone, iPad, iPod touch, or Mac, your contacts won't delete from iCloud, they won't update automatically, and any changes you make won't update across your other devices.
If this doesn't work, follow the troubleshooting steps on this Apple Support page. There's many steps to try and options to take so I can't list them in this answer.