GA4 Reporting on phone_call Custom Dimensions is Inconsistent
Hello CallRail Community,
I am working with a plethora of existing CallRail clients, and we have been enabling the GA4 integration. After learning by doing and also connecting with some Support resources, we concluded that there is currently no reliable way to collect the custom dimensions in GA4 because of the timing at which CallRail sends them. We went back and forth at length with Support, including hopping on a call. They will be escalating the known bug to their product and engineering counterparts, because this known gap applies to all CallRail customers, not just ours. In the meantime, we were provided with a link to the community forum to share our knowledge and open up the conversation for improvements to the CallRail custom dimensions made available.
To be clear, we are already aware that only the first-touch/user level acquisition data is standardly available, and not the session level (only as custom dimensions). We do hope in time that GA4 makes this easier for third-party systems.
We are finding the campaign name is inconsistent on when it pulls into GA4, sometimes as the id and sometimes as the name. We learned that the "campaign" custom dimension is populating respective to the data that is available at the time CallRail sends it, which we now know is when the call ends. And there is no delay on that, which means any call details missing when the call ends are sent to GA4 in a different format than expected or not at all (i.e. (not set)). Universal Analytics consistently pulled in the campaign name but GA4 is not.
If we can have a delay set on when call details reach GA4, say a few hours delay instead of when the call ends, so there is time for all the session-level data to process, that would have a much higher success rate of populating GA4 as expected. Implementing a delay (i.e. having batch requests send the call details until all pertinent custom dimensions are populated) is the only way I see this working. But that's my non-dev brain stating that. By having batch API calls, or by having a decently long delay on the sending of the "phone_call" event to GA4, seems to be the only fix.