I have a custom object called Conversations, which has a child object called Conversation Contacts. These objects allow me to track conversations with constituents, and connect the Conversation record with the Contact record. It basically functions like Activities (we created the custom object years ago before the Activities object could do all the things it does now.
I want to be able to report on our total engagement with our contacts. So that includes both contacts' campaigns and conversations. But when I try to create a Joined report on Campaigns and Conversations, Salesforce says they have no fields in common so I can't do that.
Any recommendations for how to track total engagement of a contact across objects?
Contacts is the common parent object for both Campaign Members and your Conversation Contacts object, right? I think you could use a custom report type set up with Contacts as the primary object and Campaign Members as the child object. Then set up another custom report type that just has Conversation Contacts as the primary object and no other relationships enforced. Edit the layout for this CRT and use "Add fields related via lookup" (thanks @Steve Molis ) to traverse the Contact relationship and bring in any fields you need from the Contact object (like the "Primary Affiliation" field). Then you should be able to set up a joined report with a block from each of these report types. For grouping - you will want to use the Primary Affiliation field that is on the contact object, not either of the formula fields you created on the child objects.
Hope that gets you started in the right direction! Let me know if you run into trouble.