This is some text inside of a div block.

Heading

This is some text inside of a div block.
Button Text
Achilles (Kelly) Pappas
Account Executive, South Florida
gotoPremiumFinance

Heading

Rep Specific copy goes here

Button Text
Bruce Mackinson
Account Executive, Metro-Atlanta
gotoPremiumFinance

Heading

Rep Specific copy goes here

Button Text
Troy Ellis
Account Executive, Mississippi Gulf Coast
gotoPremiumFinance

Heading

Rep Specific copy goes here

Button Text
Sydney Kuhrt
Account Executive, Southern TX / Gulf Coast
gotoPremiumFinance

Heading

Rep Specific copy goes here

Button Text
Lori Chadwick
Account Executive, Northern Texas / DFW
gotoPremiumFinance

Heading

Rep Specific copy goes here

Button Text

Built for agencies that can't afford friction

Flexible financing
Competitive rates at bind time.
Pay-in-full options
Both paths, always available.
Low-friction execution
Submit a deal in minutes.
Someone who picks up
Real person, not a ticket queue.
Reliable servicing
Protects client relationships long-term.
Active in your market
Priority regions, real attention.

From intro call to funded deal

1
Book a quick intro
15 minutes with your rep.
No pitch.
2
Submit your first deal
Fast online submission.
Approvals come back quickly.
3
Get paid, stay serviced
Reliable ongoing servicing keeps
revenue moving.

What agencies are saying

Premium finance is such an important part of what we do for our clients, and working with a team that supports us the way gotoPF does makes a difference. Grateful for the collaboration and looking forward to continued growth together.
This is some text inside of a div block.
gotoPremiumFinance delivers excellent customer support with fast responses, plus competitive rates and terms that make them a great partner.
This is some text inside of a div block.

Don’t meet us for the first time on bind day

Connect with a gotoPremiumFinance contact in your area before timing becomes the issue.
Button Text

Let’s make it official

Reach out to connect with a gotoPremiumFinance contact in your area.
Button Text
// gotoPF — landing page personalisation script // Collections: Awareness 2026s · Reps // Tokens: [rep-name] [rep-fname] [region-label] // All CTAs trigger the contact modal // No background image logic document.addEventListener('DOMContentLoaded', function () { // ─── 1. Read URL params ─────────────────────────────────────────────────── const params = new URLSearchParams(window.location.search); const repSlug = params.get('rep'); const utmTheme = params.get('utm_campaign'); // ─── 2. Theme resolution ───────────────────────────────────────────────── // All campaign items are in a hidden Collection List in the DOM const themeItems = document.querySelectorAll('[data-theme-id]'); let activeTheme = null; // Match utm_campaign to a theme-id if (utmTheme) { themeItems.forEach(function (item) { if (item.dataset.themeId === utmTheme) activeTheme = item; }); } // Fall back to the item where is-default = true if (!activeTheme) { themeItems.forEach(function (item) { if (item.dataset.themeDefault === 'true') activeTheme = item; }); } // ─── 3. Rep resolution ─────────────────────────────────────────────────── const repCards = document.querySelectorAll('[data-rep-card="true"]'); const repSection = document.querySelector('[data-rep-section="true"]'); let matchedRep = null; // Hide all rep cards and the rep section by default repCards.forEach(function (card) { card.style.display = 'none'; }); if (repSection) repSection.style.display = 'none'; // Match ?rep= param to a rep card slug if (repSlug) { repCards.forEach(function (card) { if (card.dataset.repSlug === repSlug) { card.style.display = ''; matchedRep = card; } }); } // Show rep section only if a rep was matched if (matchedRep && repSection) repSection.style.display = ''; // ─── 4. Build token map from matched rep ───────────────────────────────── const repName = matchedRep ? matchedRep.dataset.repName : ''; const repFname = matchedRep ? matchedRep.dataset.repFname : ''; const repRegion = matchedRep ? matchedRep.dataset.repRegion : ''; function replaceTokens(text) { return text .replace(/\[rep-name\]/g, repName) .replace(/\[rep-fname\]/g, repFname) .replace(/\[region-label\]/g, repRegion); } // ─── 5. Inject messaging ───────────────────────────────────────────────── // Chooses rep vs default fields based on whether a rep was matched function inject(selector, text) { if (!text) return; const el = document.querySelector(selector); if (el) el.textContent = replaceTokens(text); } function injectOrHide(selector, text) { const el = document.querySelector(selector); if (!el) return; if (text) { el.textContent = replaceTokens(text); el.style.display = ''; } else { el.style.display = 'none'; } } if (activeTheme) { const d = activeTheme.dataset; const hasRep = !!matchedRep; // Hero eyebrow inject('[data-inject="eyebrow"]', hasRep ? d.repEyebrow : d.defaultEyebrow); // Hero headline inject('[data-inject="headline"]', hasRep ? d.repHeadline : d.defaultHeadline); // Hero subhead inject('[data-inject="subhead"]', hasRep ? d.repSubhead : d.defaultSubhead); // Hero primary CTA inject('[data-inject="cta-primary"]', hasRep ? d.repCtaPrimary : d.defaultCtaPrimary); // Hero secondary CTA — hide if no value injectOrHide('[data-inject="cta-secondary"]', hasRep ? d.repCtaSecondary : d.defaultCtaSecondary); // Rep card label inject('[data-inject="rep-card-label"]', hasRep ? d.repCardLabel : ''); // Rep card body inject('[data-inject="rep-card-body"]', hasRep ? d.repCardBody : ''); // Rep card CTA button inject('[data-inject="rep-card-cta"]', hasRep ? d.repCardCta : ''); // Bottom CTA headline inject('[data-inject="bottom-headline"]', hasRep ? d.repBottomHeadline : d.defaultBottomHeadline); // Bottom CTA subhead inject('[data-inject="bottom-subhead"]', hasRep ? d.repBottomSubhead : d.defaultBottomSubhead); // Bottom CTA button inject('[data-inject="bottom-cta-button"]', hasRep ? d.repBottomButton : d.defaultBottomButton); } // ─── 6. Modal rep context ──────────────────────────────────────────────── // Pass rep name and UTM values into hidden form fields // so the SDR has full context on every submission const modalRepField = document.querySelector('[data-modal-rep-name]'); const utmCampaignField = document.getElementById('field-utm-campaign'); const utmSourceField = document.getElementById('field-utm-source'); if (modalRepField && repName) modalRepField.value = repName; if (utmCampaignField && utmTheme) utmCampaignField.value = utmTheme; if (utmSourceField) utmSourceField.value = params.get('utm_source') || ''; });