Skip to main content
PassTru’s Event Branding feature allows you to fully customize the three attendee-facing pages: Attendee Portal, Check-In Page, and Post Check-In Message. You can also design confirmation emails using a rich text editor.

Accessing Event Branding

Event branding is configured per event in the Event Portal.
1

Navigate to your event

Go to /events and click on an event name to enter its portal.
2

Open Branding tab

In the Event Portal sidebar, click Branding or navigate to /{org-slug}/{event-slug}/portal/branding.
3

Select a page to customize

The branding page has four tabs:
  • Attendee Portal — Customize the attendee’s personal portal
  • Check-In Page — Customize the public check-in page
  • Post Check-In — Customize the message shown after successful check-in
  • Email Template — Design the confirmation email with Tiptap rich text editor

Branding Template Variables

All branding pages support dynamic variables that populate with actual data when rendered.

Event Variables

Available on all pages:
VariableDescriptionExample Output
{{event_name}}Event name”Annual Conference 2024”
{{event_date}}Event date”2024-12-15”
{{event_venue}}Event venue”Grand Ballroom, Plaza Hotel”
{{org_name}}Organization name”TechCorp”

Attendee Variables

Available on Attendee Portal and Post Check-In pages (not on Check-In page):
VariableDescriptionExample Output
{{attendee_name}}Attendee’s full name”John Doe”
{{attendee_email}}Attendee’s email[email protected]
{{attendee_unique_id}}8-character unique ID”A1B2C3D4”
{{attendee_status}}Check-in status”Checked In” or “Not Checked In”

Custom Field Variables

Any attendee field you selected for the event becomes a variable:
Selected FieldVariableExample
Department{{Department}}”Engineering”
Organisation{{Organisation}}”TechCorp”
Seat{{Seat}}”A15”
Table{{Table}}”5”
Booth{{Booth}}”12B”
Dietary{{Dietary}}”Vegetarian”
Remarks{{Remarks}}”VIP Guest”
Variables are displayed in a clickable reference panel at the top of each branding form. Click any variable to copy it to your clipboard.

Attendee Portal Branding

Customize the personal portal attendees access after check-in at /{org-slug}/{event-slug}/attendee/{unique-id}.

Configurable Elements

1

Event Logo

Upload a PNG logo (max 1MB, recommended 100px h × 300px w) displayed at the top of the portal.
2

Headline

Main welcome message. Example: "Welcome, {{attendee_name}}!"
3

Subtitle

Secondary text below headline. Example: "{{event_name}}"
4

Event Banner

Large banner image (PNG, max 1MB, recommended 400px h × 800px w).
5

QR Code Section Label

Text above the attendee’s QR code. Example: "Your Check-In QR Code"
6

Content Section 1

Title and body text for the first content block. Use for event agenda, welcome message, etc.
7

PDF Downloads

Upload up to 2 PDFs (max 5MB each) with custom button labels. Useful for event programs, maps, or schedules.
8

Content Section 2

Title and body text for a second content block. Use for additional info, sponsor messages, etc.
9

Button Links

Add up to 2 custom buttons with labels and URLs. Link to external resources, registration forms, or surveys.
10

Footer Content

Footer text displayed at the bottom of the portal.

Image Upload Requirements

ElementFormatMax SizeRecommended Dimensions
Event LogoPNG1 MB100px h × 300px w
Event BannerPNG1 MB400px h × 800px w
Event PosterPNG1 MB800px h × 400px w
Only PNG images are accepted. The system validates file format using PNG magic bytes (not just file extension).

Check-In Page Branding

Customize the public check-in page at /{org-slug}/{event-slug}/welcome.

Configurable Elements

1

Event Logo

Upload a PNG logo (same specs as Attendee Portal).
2

Headline

Main welcome message. Example: "Welcome to {{event_name}}"
3

Subtitle

Secondary text. Example: "Check in to get started"
4

Event Banner

Large banner image (same specs as Attendee Portal).
5

QR Scanner & Manual Entry

These are system components and cannot be customized. A placeholder message indicates this.
6

Body Text

Additional information below the check-in interface. Use for event program, agenda, or instructions.
7

Event Poster

Optional poster image (PNG, max 1MB, recommended 800px h × 400px w).
8

Footer Content

Footer text displayed at the bottom of the page.
The Check-In Page does not support attendee-specific variables like {{attendee_name}} because it’s a public page shown before check-in.

Post Check-In Message Branding

Customize the message shown immediately after an attendee checks in.

Configurable Elements

1

Headline

Confirmation message. Example: "You're all set, {{attendee_name}}!"
2

Body Text

Additional message or instructions. Example: "You have successfully checked in for {{event_name}}."
3

Information to Display

Select which attendee fields to show after check-in:
  • Name
  • Email
  • Unique ID
  • All custom fields selected for the event (Department, Organisation, Seat, Table, Booth, Dietary, Remarks)
Selected fields appear in a formatted list on the post check-in screen.

Example Post Check-In Configuration

Headline: "Welcome, {{attendee_name}}!" Body: "You have successfully checked in for {{event_name}}. Your seat assignment and other details are shown below." Visible Fields:
  • Name
  • Email
  • Table
  • Seat
  • Dietary

Confirmation Email Template

Use the Tiptap rich text editor to design confirmation emails sent to attendees.

Email Template Variables

Available in the email editor:
VariableDescription
{{name}}Attendee’s name
{{email}}Attendee’s email
{{unique_id}}8-character unique ID
{{event_name}}Event name
{{event_date}}Event date
{{event_venue}}Event venue
{{portal_url}}Link to attendee portal
{{qr_code_url}}URL to attendee’s QR code image

Tiptap Editor Features

  • Rich text formatting — Bold, italic, underline, headings, lists
  • Image upload — Insert images directly into the email (uploaded to branding-assets bucket)
  • Links — Add hyperlinks to external resources
  • Alignment — Left, center, right, justify
  • Color — Text and background colors
  • Variables — Insert template variables using the copy-paste panel

Sending Test Emails

1

Design your email template

Use the Tiptap editor to create your confirmation email.
2

Click Send Test Email

The system sends a test email to the first attendee in your attendee list (if any).
3

Review the test email

Check your inbox for the test email. Verify:
  • Template variables are correctly populated
  • Images appear correctly
  • Links work as expected
  • Formatting looks good on desktop and mobile
4

Adjust and retest

Make any necessary changes and send another test email until you’re satisfied.
Test emails use the first attendee’s data. If you haven’t added any attendees yet, the test email feature may not work.

Draft and Publish Workflow

PassTru uses a draft/publish system to prevent accidental changes to live pages.

How It Works

  1. Edit in Draft Mode
    • All changes are saved to draft columns: draft_branding_portal, draft_branding_checkin, draft_branding_postcheckin
    • Drafts are not visible to attendees
    • You can safely experiment and preview changes
  2. Save Draft
    • Click Save Draft to save your changes without publishing
    • Changes remain in draft state
    • You can continue editing or publish later
  3. Publish
    • Click Publish to copy draft data to live columns: branding_portal, branding_checkin, branding_postcheckin
    • Changes become immediately visible to attendees
    • Published content is what attendees see on public pages

Workflow Steps

1

Edit branding content

Make changes to any of the four tabs (Attendee Portal, Check-In Page, Post Check-In, Email Template).
2

Save Draft

Click Save Draft to save changes without publishing. This allows you to continue editing later.
3

Preview changes

Use the Preview link (if available) to see how your branding looks before publishing.
4

Publish when ready

Click Publish to push all draft changes to the live pages. Attendees will see the updated branding immediately.
Drafts are saved per page. Publishing applies to all four branding pages (Attendee Portal, Check-In, Post Check-In, Email Template) simultaneously.

Image and PDF Uploads

All branding assets are uploaded to the branding-assets Supabase storage bucket.

Upload Process

1

Click upload field

Click the upload button for the element you want to add (e.g., Event Logo, Event Banner, PDF 1).
2

Select file

A file picker opens. Select your PNG image or PDF file.
3

Validation

The system validates:
  • File format (PNG for images, PDF for documents)
  • File size (max 1MB for images, 5MB for PDFs)
  • Magic bytes (ensures file is actually a PNG or PDF, not just renamed)
4

Upload to storage

File is uploaded to branding-assets/{eventId}/{timestamp}-{filename}
5

Update branding data

Public URL is generated and saved to the branding form field.
6

Display preview

Uploaded images show a preview thumbnail with a remove button (X icon).

Removing Uploaded Files

To remove an uploaded image or PDF:
  1. Click the X button on the image preview (for images)
  2. Click Remove link next to the PDF indicator (for PDFs)
  3. The field is cleared, but the file remains in storage (for potential re-use)

Live Preview

You can preview your branding changes before publishing.

Preview Check-In Page

1

Save your draft

Ensure you’ve saved your draft branding changes.
2

Click Preview link

If available, click the Live Preview or Preview link.
3

View in new tab

The check-in page opens in a new tab showing your draft branding (if supported).
Preview functionality may show draft branding or published branding depending on implementation. Always publish changes to ensure attendees see the final version.

Best Practices

1

Use consistent branding

Maintain consistent logos, colors, and messaging across all three pages (Attendee Portal, Check-In, Post Check-In).
2

Optimize images before upload

Compress images using tools like TinyPNG to reduce file size while maintaining quality. This improves page load times for attendees.
3

Test template variables

Always test emails and preview pages to ensure variables like {{attendee_name}} are rendering correctly.
4

Keep content concise

Avoid overwhelming attendees with too much text. Use clear headlines and concise body text.
5

Mobile-first design

Remember that most attendees will view these pages on mobile devices. Use large, readable fonts and avoid tiny images.
6

Save drafts frequently

Click Save Draft regularly while editing to avoid losing work.
7

Publish only when ready

Once published, changes are immediately visible to attendees. Double-check content before publishing.

Troubleshooting

Image Upload Failed

Issue: Upload rejected with error message. Solutions:
  • Ensure file is PNG format (not JPG, WebP, or other formats)
  • Check file size is under 1MB
  • Try compressing the image and re-uploading
  • Verify internet connection is stable

PDF Upload Failed

Issue: PDF upload rejected. Solutions:
  • Ensure file is PDF format
  • Check file size is under 5MB
  • Verify the file is not corrupted (try opening it first)
  • Ensure the file is a valid PDF (magic bytes validation)

Variables Not Rendering

Issue: Variables like {{event_name}} appear as plain text instead of actual data. Solutions:
  • Ensure you’ve published the branding (not just saved draft)
  • Check variable spelling and case (must match exactly)
  • Verify the variable is supported on that page (e.g., attendee variables don’t work on Check-In page)
  • For custom fields, ensure the field is selected in the event’s attendee field configuration

Changes Not Appearing on Live Page

Issue: Branding changes don’t appear to attendees. Solutions:
  • Click Publish (not just Save Draft) to push changes live
  • Hard refresh the page (Cmd+Shift+R or Ctrl+Shift+R) to clear browser cache
  • Check that the check-in page is activated (/portal/checkin)
  • Verify attendee portal is activated for the specific attendee

Cannot Remove Image

Issue: X button doesn’t remove the uploaded image. Solutions:
  • Ensure you clicked the X button on the image preview
  • Click Save Draft after removing to persist the change
  • If the issue persists, try refreshing the page and removing again

Build docs developers (and LLMs) love