If you publish an iCal/xCal file to your website then your users can subscribe to this using Google Calendar. In the Calendar UI its under Settings->Browse Interesting Calendars->Add by URL.
This causes Google to internally create a new Google calendar and arrange for it be populated with new events from your feed regularly (at least once every 24 hours). To add new events you simply upload/publish a new version of your calendar file.
If its a bit much to ask your users to follow this method, then you can publish a "subscribe to calendar" link or button on your website. The link should be:
http://www.google.com/calendar/render?cid=http://location-of-calendar-file
Or for Apps:
http://www.google.com/calendar/hosted/somedomain.com/render?cid=http://location-of-calendar-file
Google used to have this information in a support document but I can't find it anymore :( I can verify that this method works well - we publish personalized feeds for 150K users right now.
Although Google Calendar doesn't allow you to create or modify arbitrary recurrence rules, the iCalendar specification which it uses and understands is quite robust in this regard.
Create an ICS file with a custom recurrence rule (RRULE). For example, for an all-day event on the first, third, and fifth Fridays of every month, starting 2 March 2012:
BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART;VALUE=DATE:20120302
DTEND;VALUE=DATE:20120302
RRULE:FREQ=MONTHLY;INTERVAL=1;BYDAY=1FR,3FR,5FR
DESCRIPTION:
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Event on the first, third, and fifth Fridays.
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
To import the ICS file (updated June 2018): Click the gear icon and select "Settings", then choose "Import & export" from the menu. (Here's a direct link as of June 2018.) Under "Import", select your ICS file and upload it to the desired calendar.
For this example, Google Calendar parses the RRULE correctly and even describes the recurrence as "Monthly on Friday of weeks 1, 3, 5 of the month":
![Google Calendar event form showing recurrence rule reading "Monthly on Friday of weeks 1, 3, 5 of the month"](https://i.stack.imgur.com/VG0Jf.png)
Of course, you won't be able to tweak the custom recurrence rule from within Google Calendar, unless you want to replace the recurrence rule entirely with one of the standard options. Otherwise, you'll have to delete the event, tweak your ICS file, and reimport. You should still be able to make other changes to the event within Google Calendar, such as renaming, moving to another calendar, etc.
If this helps, you may wish to read more about the flexibility offered by custom recurrence rules in the iCalendar specification.
Best Answer
You can use Google App Script to write script that will create events series in your Google Calendar.
Using
CreateEventSeries()
you can create event withWednesday following the 3rd Monday of every month
recurrence rule: