Out of the box, the Sitecore UI has no way of knowing how to trigger goals if Identified or not.
In code, you can check the property Sitecore.Analytics.Tracker.Current.Session.Contact.Identifiers.Identifier
to see if the current user is identified or not.
Then you can fire your goal in code
if (Sitecore.Analytics.Tracker.IsActive && Sitecore.Analytics.Tracker.CurrentPage != null)
{
Sitecore.Data.Items.Item GoaltoTrigger = Sitecore.Context.Database.GetItem("{Item ID of the Goal}");
if(GoaltoTrigger!=null)
{
Sitecore.Analytics.Data.Items.PageEventItem registerthegoal = new Sitecore.Analytics.Data.Items.PageEventItem(GoaltoTrigger);
Sitecore.Analytics.Data.DataAccess.DataSets.VisitorDataSet.PageEventsRow eventData = Sitecore.Analytics.Tracker.CurrentPage.Register(registerthegoal);
eventData.Data = GoaltoTrigger["Description"];
Sitecore.Analytics.Tracker.Submit();
}
}
Doing it this way, in code only, is a tough way to go. But if you want to track it separately, identified vs not, you need to fire one vs the other based on identification.
Your other choices are to hide components with a custom rule and place the goal on your identified or un-identified rendering. Or to hide your conversion based goals behind a login screen.