| Notes from CiviCampaign Review Notes from a discussion of CiviCampaign and issues related to integrating CiviEngage and grassroots advocacy requirements with CiviCampaign. Participants: Alice Aguilar and Josue Guillen from Progressive Technology Project, Dave Greenberg. PTP added additional notes/specs below. PTP also believes that CiviEngage and CiviCampaign should be integrated as one component. Campaign has the functionality/features we've been wanting to do with Engage (specifically the robust way of gathering responses to a canvass/survey and connecting activities/events with an overall campaign), and Engage brings the additional demographics and information that identifies / personalizes indiviiduals interests, commitments, etc. that helps in targetting / identifying a specific universe of contacts to then do further activities with. Both work in conjunction to track history of engagements/relationships with people. |
Summary of Development Required for Integration
These are in priority order. Current funding is for 100hrs so items should be coded in priority order.
Est Hrs |
Item |
|---|---|
20 |
1. Add core properties to campaign (goals etc) and allow custom fields for campaign |
40 |
2. Campaign as a property of / connected to objects: contrib, event, activity, membership, mailing (click thru's) |
20 |
3. Campaign filter on component searches (and available in component panes on Adv Search) |
20 |
5. Migrate Phonebank and Walklist reports to use Campaign / Survey structure (PTP responsible for spec / mockup) |
5-25 |
6. Engagement tracking support by activity type / activity (engagement level added to activity detail report). Minimum implementation is simply adding Engagement Level integer field to Activity record |
10 |
1a. Campaign leads - select one or more groups |
20 |
7. Summary and Detail Campaign reports (totals and transaction details by campaign for each component) |
20 |
4. Campaign filter on component reports (5 reports) |
TBD |
8. Extensions to RECORD "Survey" Responses |
TBD |
9. (nice to have) Streamline survey creation workflow |
OPEN ISSUE: Ability to define read-only OR editable contact fields in a profile used for Record Survey Results.
Campaigns
- CiviEngage currently allows organizers to assign a campaign / source code (a unique way of identifiying a specific campaign) and campaign / source method (a general way of identifiying the type or method of campaign, e.g. appeal, canvass, renewal, etc.) to walklist / phonebank activities as well as:
- Events / participants in events
- Memberships
- Contributions
- This functionality is important for CiviEngage integration, and broadly relevant to a wide spectrum of non-profits / advocacy orgs. This integration allows organizers to connect various activities that are connected to a larger campaign strategy, e.g. A major immigrant rights campaign, can include activities such as door knocking, phone banking, events, meetings, appeal for contributions, email blasts, one-one meetings, direct-action, etc. and want to track contacts that participated/volunteered/committed/attended/responded to any of these activities.
- PTP will develop a list of additional properties to consider including in core campaign object (e.g.revenue goals, engagement goals, budget, campaign lead(s)).
Search and Reporting
- CiviEngage currently allows users to identify activities, contributions, etc. via campaign (using the custom fields which all use the same "campaigns" option group).
- Need to consider a Campaign search interface and / or incorporating campaign filters into Find Activities and Adv Search.
- Campaign reports (summary and detail) will be needed. PTP can potentially develop specifications for these.
- Need a way to "find" survey targets who haven't been interviewed / haven't responded yet. (Might be there already but didn't find it.)
- Need to have a printable version of a walk list/phone bank as is currently available in CiviEngage that can display 'respondents' data, such as contact id, address, phone numbers, and other demographics and member info.
- Need reports or searches that can help analyze the results (ergo the effectiveness)or current status of the campaign:
- be able to see aggregate results of a specific campaign, or multiple campaigns (in a time period): totals from various related activities (the campaign source code or campaign method could be a criteria) such as total number of contacts made (responded) via door knock, phone bank, attended events, etc; percentage of contacts made/responded vs. the whole universe of contact you were trying to reach; total amount of contributions; avg amount of contributions; be able to see the total amount received in contributions in relation to the overall goal amount; total counts of responses to a canvass (door knock, phone call) - total number who responded at all; totals of specific responses (y/n/etc); total number who didn't respond, etc; totals who participated in event vs invited; (all of this info can be exported as well)
- be able to see details of the above summaries/aggregates as well, such as list of individuals contacted during a door knock, phone bank, attended events (can also specify time period, or campaign source code as criteria).
- Be able to track level of engagement of people to be able to identify most active people, or contacts you want to engage more deeply, or contacts you want to increase participation, or do specific asks (contribution, an action, etc.): This is a search that would pull up people based on how active they are with their organization. Options to search by include: attendance at events (specific event types or any event) , number of activities (specific types of activities, or any activity) participated, over a period of time. This search needs to be able to be filtered by staff responsible field (already in CiviEngage).
- So a search could look like: Find all the individuals who have attended at least 5 events (event type is workshops or direct action) in the past year, and have also given at least 2 times over the past 2 years, where the contribution type is donation or membership dues, have responded Y to question(s) in a survey/campaign, over the last year. Then from the results, you can do more actions with the group (as you can with search results now)
SURVEY object
- The survey includes a pointer to a "result set" (option values). However, there doesn't seem to be a way to define the "question" that these chioces are answering??
- Most "surveys" (walklist/phonebank...) conducted by PTP orgs (and per Alice and Josue - many advocacy groups) have 3-4 questions. Perhaps the survey object should allow for up to 3-4 questions (or more) with result sets (e.g. Y, N, M, U (undecided), D (declined to answer), MV (moved), WN (wrong number or Wrong Address), DE (Deceased), NH (Not Home) etc.) built-in rather than one? This would mean that many fewer surveys would require the more complicated process: creating custom fields; create profile; assign fields to profile; assign profile to survey.
- Consider dealing the the terminology issue (voter vs. interview vs. survey vs. petition vs. donor, etc.) by using the label of the Activity Type assigned to each survey to dynamically set page titles, column headers, button text ...)
- Example: If activity type is "Walklist" - page title for recording responses which is currently "Record Voters Interview" would be "Record Walklist Responses". If activity type is "Survey", "Record Survey Responses", etc.
RESERVE respondents ("voters")
Possible requirements:
- Include proximity search
- Ability to filter by group
- Ability to sort on other columns besides name
FIND respondents ("voters") to interview
- Supervisor / campaign leads need to see reserved voters for all / any interviewer. I "think" you can do this by leaving Interviewer field empty - but this is not obvious (maybe just label or help issue?).
RECORD "Survey" Responses (currently "Record Voters Interview")
- CiviEngage organizations would need a printable copy of the Record Responses grid (for offline use). The Walklist / Phonebank reports currently provide this.
- CiviEngage users need to configure what columns of respondent data are displayed on the Record Responses grid.
- Example: they need phone #'s for phonebanking, address data for walklists, etc.
- option 1 is using existing "Autocomplete" Search setting (as we currently do in batch update - implemented for 3.1)
- option 2 (more flexible) is making these columns profile-driven
- There should be a "Copy value to all rows" action for input columns. (I thought this was already implemented, but don't see it on the sandbox.)
- Ability to bulk "Record Interview" for all rows w/ responses with on click (i.e. a batch "Record All Rows with Responses" button). This would be particularly useful when entering batch of response collected offline.
- Survey responses should be creating an activity where target is respondent and source is interviewer (I think this is happening already but activities are NOT visible under interviewer or respondents Activities tab for some reason???)
RELEASE respondents (Find Voters to Release)
- "Supervisor"/survey leads should be able to release voters from multiple interviewers.
- Interviewer name should be included in search results selector, and results should be sortable by interviewer.
Work Flow
- We should be careful not to code the workflow so that it's too specific, because workflows can change over time. So the functionality should be flexible, for example,
- want to be able to select the universe of contacts you want responses from based on certain criteria important to your 'campaign' or 'activity';
- want to create the survey of questions (more than 1 question) and track the responses; and connect the survey to a campaign, if appropriate
- want to record the responses to a group of people: with the option of not needing to identify of threshhold of time time to 'release the group' - in other words having the option NOT TO 'reserve' the group; be able to identify who is responsible (aka the interviewer) for the group of people
- In general, a Campaign (whether it's electoral work or organizing activity) has a number of activities associated with it: e.g. let's say the campaign is work towards the passage of specific legislation. So road to get there is as follows: there are different events and different activities for which organizers try to get people to participate in those events. Within that, organizers need to track demographic info, additional details of about contacts (e.g. interests). Essentially, there is no difference in the workflow in process to identify 20 core leaders who will anchor effort of gathering a group to lobby at the capital, or voter campaign looking for 15K supportive voters. The flow is: ID the universe of contacts > contact target groups within universe > gather responses/participation info / do followup with those contacted -- this is all about tracking the history of engagement and relationships with people.
Also refer to:
- Here is the campaign public demo site : http://campaign.dev.civicrm.org/
( username and password = demo )
