Code, Design, and Growth at SeatGeek

Jobs at SeatGeek

We are growing fast, and have lots of open positions!

Explore Career Opportunities at SeatGeek

How We Use Push Notifications to Keep in Touch with Fans

Push notifications are one of the most direct tools we have at our disposal for communicating with our users and keeping them engaged. If we’re smart about how we send pushes, each notification serves as an opportunity to inform users and find out what they care about (and hopefully drive some revenue).

Automated Push Notifications

Automated pushes are really valuable for targeting users based on how long they’ve had the app and their level of engagement since they’ve installed it. Intuitively, the messages that we send to new users should be very different from the messages that we send to people who have had the app for a while and bought tickets before. If we notice patterns in users’ behavior, then we can send them information about events they’re likely to find of interest. With new users, though, we don’t have the accumulated data that’s necessary to know what they like. Instead of accepting the risk that we may be sending them irrelevant information in a push, we target our absence of knowledge.

One of our more successful automated push campaigns is sent to users who have had the app for a few days but haven’t tracked any artists or events. We tested out several different versions of the message, and found that this version performed best:

Chairnerd_Push_1

The copy is informal, but it encourages the user to re-engage with the platform while simultaneously serving as a reminder of our value proposition: SeatGeek can help you find the best deals on tickets. Compared to a control group, this push more than doubled the number of users who tracked events.

One-Off Push Notifications

Sometimes it’s more effective to send one-off push notifications rather than set up a campaign. Major sporting events, like the Super Bowl or NCAA Tournament, occur annually but typically have different participants each year, so it’s not practical to set up recurring campaigns. Instead, we’ll generate a custom list of users we can reasonably assume are interested in the event because of prior purchase or tracking behavior.

For example, if we wanted to send a push notification about tickets for Opening Day at Wrigley Field, we would want to send it to users who have:

  • Purchased a ticket to a Cubs game
  • Clicked out on a ticket to a Cubs game
  • Tracked the Cubs or a Cubs game

We would also be interested in sending the push notification to users who live within a few miles of Wrigley Field, just to be thorough. To pull this list, we would run a query on our internal database that looks similar to the following:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
SELECT u."id" FROM users u

-- users within a 15 mile radius of Wrigley Field
WHERE acos((sin(radians(41.9483))*sin(radians(u.lat)))
      +(cos(radians(41.9483))*cos(radians(u.lat))
      *cos(radians(u.lon+87.6556))))*3959 <= 15

      -- users with full accounts
      AND u.can_send_email = 1
      AND n.announce = 1

UNION

SELECT u."id"
FROM (

  -- users that have tracked the Cubs
  SELECT DISTINCT up.user_id
  FROM user_preferences up
  LEFT JOIN performers p ON p."id" = up.performer_id
  WHERE p."id" = 11

  UNION

  -- users that have tracked Cubs games
  SELECT DISTINCT n.user_id
  FROM update_notifications n
  LEFT JOIN events e ON e.id = n.event_id
  WHERE e.home_team = 11

  UNION

  -- users that have clicked out on/purchased tickets to Cubs games
  SELECT DISTINCT c.user_id
  FROM clicks c
  LEFT JOIN events e ON e.id = c.event_id
  WHERE c.user_id IS NOT NULL
    AND e.home_team = 11
) AS x

LEFT JOIN users u ON u.id = x.user_id
LEFT JOIN newsletter_signups AS n ON n.user_id = u.id

-- users with full accounts
WHERE u.email IS NOT NULL
    AND u.can_send_email = 1
    AND n.announce = 1
;

These push notifications tend to be much more transactional and are independent of our automated pushes. Generally, we try to communicate three main things with our one-off pushes: excitement through targeting, urgency through copy and timing, and accessibility by showing low ticket prices to the event. The result is a push that looks like this:

One-off_Push

This directs the user to the Cubs Opening Day event page in the SeatGeek app.

While we’re on the topic of pushing things, let me say that the marketing team at SeatGeek is currently hiring! If you’re excited about keeping users happy, active, and engaged, then check out the Marketing Analyst: Retention Specialist position.

Comments