iPhone/Google contacts switched from Exchange to CardDAV but one way sync only
My understanding is that CardDAV does not push changes from server to clients, but rather requires that clients poll the server. Perhaps you have polling turned off?


Launch Settings.
Select Mail, Contacts, Calendars.
Select Fetch New Data.
Under the Fetch heading, is Manually selected? If so, then your phone is not automatically checking for updates.
Select Advanced.
Find your Google CardDAV account in this list. Is it set to Fetch or Manual? If the latter, then your phone is not automatically checking for updates.