This documentation refers to an older version of CiviCRM (3.4 / 4.0). The current stable version is 4.1. Please introduce all documentation changes and new material here.

Skip to end of metadata
Go to start of metadata
This page refers to CiviCRM 3.4 and 4.0, current STABLE version.

Documentation Search


CiviCRM 3.4 and 4.0 Documentation

Support and Participation

Developer Resources


CiviCRM books!

Make sure to check out the FLOSS Manual Understanding CiviCRM as well! You can also support this project by ordering a hard copy.

Or support us by buying an eBook or hard copy of Using CiviCRM from Packt Publishing.

What's the difference between a Group and a Tag?

We see Tags as a way of describing / naming a thing and Groups as a way of creating a set of things (which may or may not have things in common).

Very concretely, in the kitchen you might have a thing we would Tag as a 'Refrigerator', and a 'Stove', and a 'Sink'. You can you combine these objects into a set using the Group concept (they are members of 'Kitchen Group').

On another level, Groups have 'members' — and their membership status history is generally tracked by the system (added, pending confirmation, removed/opted-out).

Groups automatically become an access control (permissionable) object. You can also do this with Tags by creating a smart group which searches for contacts assigned that tag — but this is less efficient.

You can selectively expose Groups via Profile forms (sign-up/user registration/my account) — by including Groups in the Profile and setting 'visibility' at the Group level. So you can have some Groups that 'the public' can see and join, and others that are hidden.

On implementation level:

  • Tags are stored as a simple join table - entity_id to tag_id
  • Groups are modeled as:
    • join table - contact_id to group_id + status
    • subscription table - history of joining/leaving for each contact
    • optional link to a saved search (for 'smart' groups)

You might also want to check out this faq entry Groups, Tags, Custom Fields, Relationships: What do I use for what?

Labels
  • None