PageSourceSearch

https://profitflo.io/terms-and-conditions

html profitflo.io collected 2026-10-09 00:47:22 UTC 14,674 bytes, 255 lines download raw bytes

1<!doctype html>
2<html lang="en" class="plt-tablet plt-desktop md" mode="md">
3  <head>
4    <meta charset="UTF-8" />
5    <link rel="icon" type="image/x-icon" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
6    <link rel="icon" type="image/png" sizes="16x16" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
7    <link rel="icon" type="image/png" sizes="32x32" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
8    <link rel="icon" type="image/png" sizes="48x48" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
9    <link rel="apple-touch-icon" sizes="180x180" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/apple-touch-icon.png" />
10    <link rel="icon" type="image/png" sizes="192x192" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
11    <link rel="icon" type="image/png" sizes="512x512" href="https://assets.viktor.com/spaces/6f98b507aa1bdf13770f10c8e0f0e26b/favicon.png" />
12    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
13    <title>Terms &amp; Conditions | ProfitFlo</title>
14    <meta id="seo-description" name="description" content="Read the Terms and Conditions for using ProfitFlo DJ booking software and client experience tools." />
15    <meta property="og:type" content="website" />
16    <meta property="og:site_name" content="ProfitFlo" />
17    <meta property="og:title" content="Terms & Conditions | ProfitFlo" />
18    <meta property="og:description" content="Read the Terms and Conditions for using ProfitFlo DJ booking software and client experience tools." />
19    <meta property="og:url" content="https://profitflo.io/terms-and-conditions" />
20    <meta property="og:image" content="https://profitflo.io/social-preview.jpg" />
21    <meta property="og:image:width" content="1708" />
22    <meta property="og:image:height" content="921" />
23    <meta name="twitter:card" content="summary_large_image" />
24    <meta name="twitter:title" content="Terms & Conditions | ProfitFlo" />
25    <meta name="twitter:description" content="Read the Terms and Conditions for using ProfitFlo DJ booking software and client experience tools." />
26    <meta name="twitter:image" content="https://profitflo.io/social-preview.jpg" />
27    <link rel="stylesheet" href="/assets/index-p5z28W2q.css" />
28    <link rel="stylesheet" href="/dubsado-comparison.css" />
29    <!-- Mirror the live site's existing tablet header rule in previews. -->
30    <style id="pf-tablet-nav-fix">
31      @media (min-width:768px) and (max-width:899px) {
32        nav.sticky>div>div:nth-child(2) { display:none!important }
33        nav.sticky>div>div:nth-child(3)>a.hidden.md\:block { display:none!important }
34        nav.sticky>div>div:nth-child(3)>button.md\:hidden { display:inline-flex!important }
35      }
36    </style>
37    <!--
38      "Vibe Store" unhidden for the V6.0 launch (per Paul, 2026-09-28).
39    -->
40    <style id="blog-image-cls-fix">
41      /* Reserve space for blog hero and card images so they do not shift the
42         page as they load (Core Web Vitals CLS). Ratio matches the 1248x707
43         thumbnails already in use, so nothing changes visually. */
44      img.w-full.rounded-xl.mb-8 {
45        aspect-ratio: 1248 / 707;
46        object-fit: cover;
47      }
48      /* Homepage mobile hero screenshot (1681x577): reserve its height so the
49         headline and intro text do not jump down when it loads. */
50      img[src="/hero-mobile-dashboard.jpg"] {
51        aspect-ratio: 1681 / 577;
52      }
53    </style>
54    
54<script type="application/ld+json">
55      {
56        "@context": "https://schema.org",
57        "@type": "Organization",
58        "name": "ProfitFlo",
59        "url": "https://profitflo.io/",
60        "logo": "https://profitflo.io/icon-512.png",
61        "description": "ProfitFlo is business management software for professional event and wedding DJs: live availability booking, e-signed contracts, deposit invoicing, and automated client follow-up.",
62        "sameAs": [],
63        "contactPoint": [{
64          "@type": "ContactPoint",
65          "contactType": "sales",
66          "url": "https://profitflo.io/contact-us",
67          "availableLanguage": ["en"]
68        }]
69      }
70    </script>
70
71    <!-- GoHighLevel / ProfitFlo external tracking pixel (per Paul, 2026-08-11) -->
72    
72<script
73      src="https://api.profitflo.io/js/external-tracking.js"
74      data-tracking-id="tk_c3ad88828cde4b319eb0d3e0c0465dec"
75    ></script>
75
76    <!-- Google Analytics 4 (per Paul, 2026-08-11). Property "Profitflo" (536745357), stream "profitflo.io (Marketing Site)", measurement ID G-ZNRZL3JF7C. -->
vendor: 68 bytes, lines 76-77
76
77    <script async src="https://www.googletagmanager.com/gtag/js?id=
77G-ZNRZL3JF7C
vendor: 16 bytes, lines 77-78
77"></script>
78    
78<script>
79      
vendor: 162 bytes, lines 79-84
79window.dataLayer = window.dataLayer || [];
80      function gtag() {
81        dataLayer.push(arguments);
82      }
83      gtag("js", new Date());
84      gtag("config", "
84G-ZNRZL3JF7C
vendor: 10 bytes, lines 84-85
84");
85      
85// SPA route-change tracking: the app is a client-side router, so gtag's
86      // automatic pageview (fired once on initial load) won't see later
87      // in-app navigation. Fire a manual page_view on every history change.
88      (function () {
89        function sendPageView() {
90          if (typeof gtag === "function") {
91            gtag("event", "page_view", {
92              page_path: window.location.pathname + window.location.search,
93              page_location: window.location.href,
94              page_title: document.title,
95            });
96          }
97        }
98        window.addEventListener("popstate", function () {
99          setTimeout(sendPageView, 300);
100        });
101        var origPushState = history.pushState;
102        history.pushState = function () {
103          origPushState.apply(this, arguments);
104          setTimeout(sendPageView, 300);
105        };
106      })();
107
108      // CTA click tracking (per Paul, 2026-09-02): the marketing site had no
109      // way to see when a visitor clicks a demo/signup/checkout link, so
110      // organic conversions always read as zero. This fires a GA4 event on
111      // any click that lands on one of our known conversion links, without
112      // touching page markup or the compiled app bundle.
113      (function () {
114        var DEMO_PATHS = ["/request-a-demo", "/schedule-demo"];
115        function ctaTypeFor(href) {
116          if (!href) return null;
117          try {
118            var url = new URL(href, window.location.origin);
119            var path = url.pathname;
120            if (DEMO_PATHS.indexOf(path) !== -1) return "demo_request";
121            if (/^\/dj\/(standard|professional|premium)checkout$/.test(path)) return "checkout";
122            if (url.hostname === "app.profitflo.io") return "app_signin_or_signup";
123            return null;
124          } catch (e) {
125            return null;
126          }
127        }
128        document.addEventListener(
129          "click",
130          function (e) {
131            var el = e.target;
132            while (el && el.tagName !== "A") el = el.parentElement;
133            if (!el || !el.href) return;
134            var ctaType = ctaTypeFor(el.href);
135            if (!ctaType) return;
136            if (typeof gtag === "function") {
137              gtag("event", "cta_click", {
138                cta_type: ctaType,
139                cta_href: el.href,
140                page_path: window.location.pathname,
141              });
142              if (ctaType === "demo_request") {
143                gtag("event", "generate_lead", {
144                  cta_href: el.href,
145                  page_path: window.location.pathname,
146                });
147              }
148            }
149          },
150          true
151        );
152      })();
153    </script>
153
154    
154<script type="module" crossorigin src="/assets/index-B5Qt9EMX.js"></script>
154
155  <link rel="canonical" href="https://profitflo.io/terms-and-conditions"><meta property="og:image" content="https://profitflo.io/social-preview.jpg"><meta name="twitter:image" content="https://profitflo.io/social-preview.jpg"><style id="pf-tablet-nav-fix">@media (min-width:768px) and (max-width:899px){nav.sticky>div>div:nth-child(2){display:none!important}nav.sticky>div>div:nth-child(3)>a.hidden.md\:block{display:none!important}nav.sticky>div>div:nth-child(3)>button.md\:hidden{display:inline-flex!important}}</style></head>
156  <body>
157    <div id="root"><!-- Static crawler-readable content (Google OAuth verification, 2026-10-06). React replaces this on load. -->
158      <main style="max-width:960px;margin:0 auto;padding:40px 20px;font-family:sans-serif;line-height:1.6">
159        <h1>ProfitFlo: DJ Business Operating System &amp; Booking Software</h1>
160        <p>ProfitFlo is booking and business software for DJ and event companies. It helps them capture leads, check availability, send contracts and invoices, and manage events in one place.</p>
161        <h2>How ProfitFlo uses Google Calendar</h2>
162        <p>Users can choose to connect their Google Calendar. ProfitFlo then reads their calendar availability (busy and free times) so clients can only book open dates. This prevents double bookings. We do not sell Google user data or use it for ads, and users can disconnect at any time.</p>
163        <p>ProfitFlo does not use Google user data to create, train, or improve AI models, and never uses Google APIs to generate AI images or content, including non-consensual intimate imagery (NCII).</p>
164        <p>ProfitFlo's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.</p>
165        <p><a href="/privacy-policy">Privacy Policy</a> | <a href="/terms-and-conditions">Terms &amp; Conditions</a> | <a href="/contact-us">Contact</a></p>
166      </main>
167    </div>
168    
168<script type="module" src="/assets/index-vibe-20261008.js"></script>
168
169    
169<script src="/assets/dubsado-comparison-20261008.js"></script>
169
170    
170<script src="/assets/google-compliance.js?v=3"></script>
170
171    <!--
172      SEO description gap-fill (per Paul, 2026-08-09): a handful of routes
173      never got a unique title/description set in AI Studio and fall back to
174      the site's generic default. This fills only those specific routes with
175      real copy; every other route already gets its own unique title +
176      description from the compiled app itself and is left untouched.
177    -->
178    
178<script>
179      (function () {
180        var SEO_OVERRIDES = {
181          "/affiliates": {
182            title: "ProfitFlo Affiliate Program | Earn 30% Recurring Commission",
183            desc: "Join the ProfitFlo Affiliate Program and earn 30% recurring commission for every DJ business you refer to the all-in-one booking and client experience platform.",
184          },
185          "/blog": {
186            title: "ProfitFlo Blog | DJ Business Strategy & Automation Tips",
187            desc: "Insights and strategies to help mobile and wedding DJs build a premium brand, automate lead follow-up, and grow bookings with ProfitFlo.",
188          },
189          "/faq": {
190            title: "Frequently Asked Questions | ProfitFlo DJ Booking Software",
191            desc: "Answers to common questions about ProfitFlo, the all-in-one DJ booking software and CRM: pricing, migration, features, and how it compares to other tools.",
192          },
193          "/contact-us": {
194            title: "Contact ProfitFlo | Get in Touch",
195            desc: "Have questions about how ProfitFlo can transform your DJ business? Contact our team for support, sales, or general questions about our booking software and CRM.",
196          },
197          "/privacy-policy": {
198            title: "Privacy Policy | ProfitFlo",
199            desc: "Read ProfitFlo's Privacy Policy to learn how we 
199collect, use, and protect your information as a DJ business using our booking and client experience platform.",
200          },
201          "/schedule-demo": {
202            title: "Schedule Your Demo | ProfitFlo DJ Booking Software",
203            desc: "Schedule a live demo of ProfitFlo to see how our all-in-one DJ booking software and CRM helps you win more clients and automate your business.",
204          },
205          "/terms-and-conditions": {
206            title: "Terms & Conditions | ProfitFlo",
207            desc: "Read the Terms & Conditions for using ProfitFlo, the DJ booking software and client experience platform for wedding and event DJs.",
208          },
209          "/compare/smpl": {
210            desc: "SMPL Events is a capable DJ event management CRM. See how ProfitFlo compares on pricing, automation, and full-business operating system features for DJs.",
211          },
212        };
213
214        function applySeoOverride() {
215          var path = window.location.pathname.replace(/\/$/, "") || "/";
216          var override = SEO_OVERRIDES[path];
217          if (!override) return;
218          if (override.title) document.title = override.title;
219          if (override.desc) {
220            var meta = document.querySelector('meta[name="description"]');
221            if (meta) meta.setAttribute("content", override.desc);
222          }
223        }
224
225        // The app sets its own (generic-fallback) title/description shortly
226        // after mount/route-change, so re-apply a few times to win the race
227        // without needing to hook into its internal router.
228        [50, 300, 800, 1800].forEach(function (delay) {
229          setTimeout(applySeoOverride, delay);
230        });
231        window.addEventListener("popstate", function () {
232          [50, 300, 800].forEach(function (delay) {
233            setTimeout(applySeoOverride, delay);
234          });
235        });
236      })();
237    </script>
237
238    
238<script>
239      (function () {
240        // Vibe Store unhidden for V6.0 launch (per Paul, 2026-09-28) -
241        // removed the /vibe-store redirect and the text-hiding sweep that
242        // used to live here. Kept the unrelated /solutions redirect fix.
243
244        // Pre-existing bug found on final QA sweep (2026-08-09): the
245        // breadcrumb on /dj-event-management links to "/solutions", a page
246        // that has never existed on this site (404s on the original AI
247        // Studio site too). Send it home instead of showing a 404.
248        if (window.location.pathname.replace(/\/$/, "") === "/solutions") {
249          window.location.replace("/");
250        }
251      })();
252    </script>
252
253  
253<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"5c3a09683b8746e799f34df4a35b6fee","r":1,"spa":2}' crossorigin="anonymous"></script>
253
254</body>
255</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.