We do not expect GA and Infinity to match due to the different ways the platforms attribute credit. Here is a page which explains in depth how we track our data compared to GA click here.
We do not send our channel data into GA for any online calls, we send the CID we captured from the visitor along with the Infinity event (Call, CRM event etc) so GA can find the visitor using the CID in its own system and assign the channel it sees fit to the Infinity event. We do however send basic channel information for calls that do not have a CID (offline calls).
Here are a few examples of how we send Infinity events to GA:
When sending Call events to GA for calls to Dynamic pool numbers
For calls to dynamic pool numbers that are attributed to an Infinity Visitor ID, we do not send the Infinity marketing data (channel) when sending into GA, and instead send only the Google CID variable as explained above. This allows Google's own attribution model to be applied to online calls, so they can map it back to the Google tracked visitor journey.
When sending Call events to GA for calls to Fixed Numbers
For fixed numbers, because they do not happen online, we do not record a GA Client ID (cid) against those calls. Our system detects this and instead sends in the Infinity marketing source data using 'utm like' variables.