diff --git a/src/assets/videos/setting_up_brave_search_ads.mp4 b/src/assets/videos/setting_up_brave_search_ads.mp4
new file mode 100644
index 00000000..5f028fd9
Binary files /dev/null and b/src/assets/videos/setting_up_brave_search_ads.mp4 differ
diff --git a/src/auth/registration/Register.tsx b/src/auth/registration/Register.tsx
index 465f0ce6..82f14fe7 100644
--- a/src/auth/registration/Register.tsx
+++ b/src/auth/registration/Register.tsx
@@ -1,15 +1,14 @@
import { AdvertiserRegistered } from "@/auth/registration/AdvertiserRegistered";
import { Redirect, Route, Switch } from "react-router-dom";
import { BrowserRegister } from "@/auth/registration/BrowserRegister";
-import { SearchRegister } from "./SearchRegister";
export function Register() {
return (
-
+
);
}
diff --git a/src/auth/registration/SearchForm.tsx b/src/auth/registration/SearchForm.tsx
index 55537bc2..8f7e033c 100644
--- a/src/auth/registration/SearchForm.tsx
+++ b/src/auth/registration/SearchForm.tsx
@@ -10,7 +10,7 @@ export function SearchForm() {
const { _ } = useLingui();
return (
-
+
+
+
+
+ Check your brand's eligibility
+ {
@@ -38,7 +51,7 @@ export function SearchRegister() {
-
+
+
);
}
diff --git a/src/basic-attention-token/PrivacyPolicy.tsx b/src/basic-attention-token/PrivacyPolicy.tsx
index 93d56c31..67544dbf 100644
--- a/src/basic-attention-token/PrivacyPolicy.tsx
+++ b/src/basic-attention-token/PrivacyPolicy.tsx
@@ -17,7 +17,7 @@ export function PrivacyPolicy(props: { isSearch?: boolean }) {
);
return (
-
+
Please see our{" "}
diff --git a/src/components/Campaigns/CampaignDateRange.tsx b/src/components/Campaigns/CampaignDateRange.tsx
index d85c7323..7ac62e72 100644
--- a/src/components/Campaigns/CampaignDateRange.tsx
+++ b/src/components/Campaigns/CampaignDateRange.tsx
@@ -1,22 +1,38 @@
-import { Box, Stack } from "@mui/material";
+import { Box, Stack, Typography } from "@mui/material";
import ArrowForwardIcon from "@mui/icons-material/ArrowForward";
import { useField } from "formik";
-import { useState } from "react";
+import { useEffect, useState } from "react";
import { getDefaultTimezone, TimeZonePicker } from "../TimeZonePicker";
import { TimezoneAwareDatePicker } from "../TimeZonePicker/TimezoneAwareDatePicker";
import { useIsEdit } from "@/form/FormikHelpers";
import { useLingui } from "@lingui/react";
-import { msg } from "@lingui/macro";
+import { msg, Trans } from "@lingui/macro";
import dayjs from "dayjs";
+import { useAdvertiser } from "@/auth/hooks/queries/useAdvertiser";
+import { isFuzzyCalculatedDailyBudgetOk } from "@/util/campaign";
export const CampaignDateRange = () => {
- const { isDraft } = useIsEdit();
+ const { advertiser } = useAdvertiser();
+ const { isDraft, isEdit } = useIsEdit();
const [tz, setTz] = useState(getDefaultTimezone());
const [, startMeta, startHelper] = useField("startAt");
const [, endMeta, endHelper] = useField("endAt");
+ const [, budget] = useField("budget");
+ const [willNotReachEndDate, setWillNotReachEndDate] = useState(false);
const { _ } = useLingui();
+ useEffect(() => {
+ if (!isEdit) return;
+ if (advertiser.selfServiceSetPrice) return;
+
+ const { ok } = isFuzzyCalculatedDailyBudgetOk(
+ startMeta.value,
+ endMeta.value,
+ );
+ setWillNotReachEndDate(!ok(budget.value));
+ }, [endMeta.value, isEdit, budget.value, startMeta.value]);
+
return (
@@ -53,6 +69,14 @@ export const CampaignDateRange = () => {
sx={{ flexGrow: 1 }}
/>
+ {willNotReachEndDate && (
+
+
+ The campaign will likely stop running before the end date provided
+ due to budget constraints.
+
+
+ )}
);
};
diff --git a/src/locales/en.po b/src/locales/en.po
index 32a1bea0..1cfcc7f9 100644
--- a/src/locales/en.po
+++ b/src/locales/en.po
@@ -169,8 +169,8 @@ msgstr "Are you sure you want to modify \"{creativeName}\"?"
msgid "Are you sure you want to pause"
msgstr "Are you sure you want to pause"
-msgid "As effective as Google"
-msgstr "As effective as Google"
+#~ msgid "As effective as Google"
+#~ msgstr "As effective as Google"
msgid "At a marketing/media conference"
msgstr "At a marketing/media conference"
@@ -223,17 +223,29 @@ msgstr "Brave is where early adopters thrive. We’re celebrating our crypto roo
msgid "Brave Search Ads"
msgstr "Brave Search Ads"
-msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
-msgstr "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+#~ msgid "Brave Search ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+#~ msgstr "Brave Search ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
-msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
-msgstr "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+msgid "Brave Search Ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+msgstr "Brave Search Ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
-msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
-msgstr "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+#~ msgid "Brave Search ads are built to perform and convert as well as - or better than - Google search ad clicks."
+#~ msgstr "Brave Search ads are built to perform and convert as well as - or better than - Google search ad clicks."
-msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
-msgstr "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+msgid "Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks."
+msgstr "Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks."
+
+#~ msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+#~ msgstr "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+
+#~ msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+#~ msgstr "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+
+#~ msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+#~ msgstr "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+
+#~ msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+#~ msgstr "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
msgid "Brave’s 70+ million cord cutters, and tech savvy early adopters want privacy and performance over tracking and lag. Hundreds of thousands more make the switch every day. Want them to see your brand? Start your first campaign in minutes, and with as little as $500."
msgstr "Brave’s 70+ million cord cutters, and tech savvy early adopters want privacy and performance over tracking and lag. Hundreds of thousands more make the switch every day. Want them to see your brand? Start your first campaign in minutes, and with as little as $500."
@@ -310,6 +322,15 @@ msgstr "cannot create session"
msgid "Check eligibility"
msgstr "Check eligibility"
+#~ msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+#~ msgstr "Check if your brand is eligible for a <0>free trial0> of Brave Search ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+
+msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search Ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+msgstr "Check if your brand is eligible for a <0>free trial0> of Brave Search Ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+
+msgid "Check your brand's eligibility"
+msgstr "Check your brand's eligibility"
+
msgid "Choose"
msgstr "Choose"
@@ -421,6 +442,9 @@ msgstr "Conversion URL required."
msgid "Conversions"
msgstr "Conversions"
+msgid "Convert customers with AI-powered search ads"
+msgstr "Convert customers with AI-powered search ads"
+
msgid "Copy this and keep this safe!"
msgstr "Copy this and keep this safe!"
@@ -466,6 +490,9 @@ msgstr "Create new ad"
msgid "Create new keypair?"
msgstr "Create new keypair?"
+msgid "create now"
+msgstr "create now"
+
msgid "created"
msgstr "created"
@@ -667,6 +694,12 @@ msgstr "Generating a new API key will result in the deactivation of your previou
msgid "Get in touch with our team"
msgstr "Get in touch with our team"
+msgid "Get in touch."
+msgstr "Get in touch."
+
+msgid "Get incremental traffic with paid ads on the world's fastest growing search engine."
+msgstr "Get incremental traffic with paid ads on the world's fastest growing search engine."
+
msgid "Get login link"
msgstr "Get login link"
@@ -676,6 +709,9 @@ msgstr "Get started"
msgid "Get to your first million users with powerful ad placements on the world’s fastest-growing alternative browser & search engine."
msgstr "Get to your first million users with powerful ad placements on the world’s fastest-growing alternative browser & search engine."
+msgid "Have specific questions?"
+msgstr "Have specific questions?"
+
msgid "Help Center"
msgstr "Help Center"
@@ -739,8 +775,8 @@ msgstr "In your local time this is"
msgid "Include campaigns that ended over 6 months ago"
msgstr "Include campaigns that ended over 6 months ago"
-msgid "Incremental"
-msgstr "Incremental"
+#~ msgid "Incremental"
+#~ msgstr "Incremental"
msgid "Invalid format"
msgstr "Invalid format"
@@ -874,6 +910,12 @@ msgstr "New tab takeover"
msgid "New tab takeovers"
msgstr "New tab takeovers"
+#~ msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services"
+#~ msgstr "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services"
+
+msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services."
+msgstr "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services."
+
msgid "Newsfeed"
msgstr "Newsfeed"
@@ -940,8 +982,8 @@ msgstr "On/Off"
msgid "Once confirmed, your account’s keypair will be replaced with the new keypair."
msgstr "Once confirmed, your account’s keypair will be replaced with the new keypair."
-msgid "Or email <0>searchads@brave.com0>"
-msgstr "Or email <0>searchads@brave.com0>"
+#~ msgid "Or email <0>searchads@brave.com0>"
+#~ msgstr "Or email <0>searchads@brave.com0>"
msgid "or sign in using a password"
msgstr "or sign in using a password"
@@ -1075,6 +1117,9 @@ msgstr "Query string parameters"
msgid "Reach 70+ million highly engaged, otherwise unreachable users."
msgstr "Reach 70+ million highly engaged, otherwise unreachable users."
+msgid "Reach new audiences you're missing"
+msgstr "Reach new audiences you're missing"
+
msgid "Ready to reach your first million users? Start your first campaign today."
msgstr "Ready to reach your first million users? Start your first campaign today."
@@ -1096,8 +1141,11 @@ msgstr "Review"
msgid "Review ads"
msgstr "Review ads"
-msgid "Risk Free"
-msgstr "Risk Free"
+#~ msgid "Risk Free"
+#~ msgstr "Risk Free"
+
+msgid "Risk free trial for up to 30 days"
+msgstr "Risk free trial for up to 30 days"
msgid "Sample Queries"
msgstr "Sample Queries"
@@ -1120,6 +1168,9 @@ msgstr "Search keyword"
msgid "Search keyword ads"
msgstr "Search keyword ads"
+msgid "searchads@brave.com"
+msgstr "searchads@brave.com"
+
msgid "Select Account"
msgstr "Select Account"
@@ -1147,6 +1198,9 @@ msgstr "Select the platforms to target"
msgid "Selected ads"
msgstr "Selected ads"
+msgid "Set up a trial campaign in minutes."
+msgstr "Set up a trial campaign in minutes."
+
msgid "Setup Progress"
msgstr "Setup Progress"
@@ -1225,8 +1279,8 @@ msgstr "Support"
msgid "Take our survey!"
msgstr "Take our survey!"
-msgid "Tap into more than <0>9 billion0> annual Web searches"
-msgstr "Tap into more than <0>9 billion0> annual Web searches"
+#~ msgid "Tap into more than <0>9 billion0> annual Web searches"
+#~ msgstr "Tap into more than <0>9 billion0> annual Web searches"
msgid "Target URL"
msgstr "Target URL"
@@ -1288,8 +1342,11 @@ msgstr "To protect user’s privacy, verified ad conversion data is encrypted so
msgid "Today"
msgstr "Today"
-msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
-msgstr "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgstr "Try a free one-month test to see how Brave Search Ads perform for your brand."
+
+msgid "Try a free one-month test to see how Brave Search Ads perform for your business."
+msgstr "Try a free one-month test to see how Brave Search Ads perform for your business."
msgid "Unable to clone campaign"
msgstr "Unable to clone campaign"
diff --git a/src/locales/es.po b/src/locales/es.po
index ef3f085e..637bf8e7 100644
--- a/src/locales/es.po
+++ b/src/locales/es.po
@@ -174,8 +174,8 @@ msgstr "¿Está seguro(a) de que quiere modificar “{creativeName}”?"
msgid "Are you sure you want to pause"
msgstr "¿Está seguro(a) de que quiere pausar?"
-msgid "As effective as Google"
-msgstr "Tan eficaz como Google"
+#~ msgid "As effective as Google"
+#~ msgstr "Tan eficaz como Google"
msgid "At a marketing/media conference"
msgstr "En una conferencia de marketing/medios de comunicación"
@@ -228,17 +228,29 @@ msgstr "Brave es donde prosperan los adoptantes tempranos. Celebramos nuestras r
msgid "Brave Search Ads"
msgstr "Anuncios de Brave Search"
-msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
-msgstr "Los anuncios de Brave Search son anuncios basados en texto que preservan la privacidad y que aparecen en la parte superior de la página de resultados de búsqueda (SERP) de un usuario. ¿Quiere redefinir su programa SEM y diversificarse de Big Tech? Obtenga la ventaja de ser el primero en moverse y comience a orientar las palabras clave más importantes de su marca hoy."
+#~ msgid "Brave Search ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+#~ msgstr ""
-msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
-msgstr "Los anuncios de Brave Search pueden llegar a audiencias que usan bloqueadores de anuncios y no usan motores de búsqueda tradicionales."
+msgid "Brave Search Ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+msgstr ""
+
+#~ msgid "Brave Search ads are built to perform and convert as well as - or better than - Google search ad clicks."
+#~ msgstr ""
+
+msgid "Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks."
+msgstr ""
+
+#~ msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+#~ msgstr "Los anuncios de Brave Search son anuncios basados en texto que preservan la privacidad y que aparecen en la parte superior de la página de resultados de búsqueda (SERP) de un usuario. ¿Quiere redefinir su programa SEM y diversificarse de Big Tech? Obtenga la ventaja de ser el primero en moverse y comience a orientar las palabras clave más importantes de su marca hoy."
-msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
-msgstr "Los anuncios de Brave Search generan conversiones tan bien o mejor que los clics en los anuncios de Google Search."
+#~ msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+#~ msgstr "Los anuncios de Brave Search pueden llegar a audiencias que usan bloqueadores de anuncios y no usan motores de búsqueda tradicionales."
-msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
-msgstr "Brave Search es el motor de búsqueda independiente de más rápido crecimiento desde Bing, con más de 9 mil millones de búsquedas cada año (y creciendo). Es el motor de búsqueda predeterminado para las decenas de millones de usuarios de Brave en todo el mundo, y está disponible en cualquier otro navegador en <0>search.brave.com0>"
+#~ msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+#~ msgstr "Los anuncios de Brave Search generan conversiones tan bien o mejor que los clics en los anuncios de Google Search."
+
+#~ msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+#~ msgstr "Brave Search es el motor de búsqueda independiente de más rápido crecimiento desde Bing, con más de 9 mil millones de búsquedas cada año (y creciendo). Es el motor de búsqueda predeterminado para las decenas de millones de usuarios de Brave en todo el mundo, y está disponible en cualquier otro navegador en <0>search.brave.com0>"
msgid "Brave’s 70+ million cord cutters, and tech savvy early adopters want privacy and performance over tracking and lag. Hundreds of thousands more make the switch every day. Want them to see your brand? Start your first campaign in minutes, and with as little as $500."
msgstr "Los más de 70 millones de usuarios de Brave, expertos en tecnología y adoptantes tempranos, prefieren la privacidad y el rendimiento sobre el rastreo y la lentitud. Cientos de miles más se cambian cada día. ¿Quiere que vean su marca? Inicie su primera campaña en minutos, con tan solo $500."
@@ -315,6 +327,15 @@ msgstr "No se puede crear una sesión"
msgid "Check eligibility"
msgstr "Verifique la elegibilidad"
+#~ msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+#~ msgstr ""
+
+msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search Ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+msgstr ""
+
+msgid "Check your brand's eligibility"
+msgstr ""
+
msgid "Choose"
msgstr "Elegir"
@@ -426,6 +447,9 @@ msgstr "Se requiere una URL de conversión."
msgid "Conversions"
msgstr "Conversiones"
+msgid "Convert customers with AI-powered search ads"
+msgstr ""
+
msgid "Copy this and keep this safe!"
msgstr "¡Copie esto y guárdelo en un lugar seguro!"
@@ -471,6 +495,9 @@ msgstr "Crear nuevo anuncio"
msgid "Create new keypair?"
msgstr "¿Crear un nuevo par de claves?"
+msgid "create now"
+msgstr ""
+
msgid "created"
msgstr "creado"
@@ -672,6 +699,12 @@ msgstr "La generación de una nueva clave API dará como resultado la desactivac
msgid "Get in touch with our team"
msgstr "Póngase en contacto con nuestro equipo"
+msgid "Get in touch."
+msgstr ""
+
+msgid "Get incremental traffic with paid ads on the world's fastest growing search engine."
+msgstr ""
+
msgid "Get login link"
msgstr "Obtener enlace de inicio de sesión"
@@ -681,6 +714,9 @@ msgstr "Comenzar"
msgid "Get to your first million users with powerful ad placements on the world’s fastest-growing alternative browser & search engine."
msgstr "Consiga su primer millón de usuarios con potentes ubicaciones de anuncios en el navegador y motor de búsqueda alternativo de más rápido crecimiento del mundo."
+msgid "Have specific questions?"
+msgstr ""
+
msgid "Help Center"
msgstr "Centro de ayuda"
@@ -744,8 +780,8 @@ msgstr "En su hora local, esto es"
msgid "Include campaigns that ended over 6 months ago"
msgstr "Incluir campañas que finalizaron hace más de 6 meses"
-msgid "Incremental"
-msgstr "Incremental"
+#~ msgid "Incremental"
+#~ msgstr "Incremental"
msgid "Invalid format"
msgstr "Formato no válido"
@@ -879,6 +915,12 @@ msgstr "Dominio de nueva pestaña"
msgid "New tab takeovers"
msgstr "Dominio de nuevas pestañas"
+#~ msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services"
+#~ msgstr ""
+
+msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services."
+msgstr ""
+
msgid "Newsfeed"
msgstr "Fuente de noticias"
@@ -945,8 +987,8 @@ msgstr "Encendido/Apagado"
msgid "Once confirmed, your account’s keypair will be replaced with the new keypair."
msgstr "Una vez confirmado, el par de claves de su cuenta se reemplazará por el nuevo par de claves."
-msgid "Or email <0>searchads@brave.com0>"
-msgstr "O envíe un correo electrónico a <0>searchads@brave.com0>"
+#~ msgid "Or email <0>searchads@brave.com0>"
+#~ msgstr "O envíe un correo electrónico a <0>searchads@brave.com0>"
msgid "or sign in using a password"
msgstr "o inicie sesión usando una contraseña"
@@ -1080,6 +1122,9 @@ msgstr "Parámetros de cadena de consulta"
msgid "Reach 70+ million highly engaged, otherwise unreachable users."
msgstr "Llegue a más de 70 millones de usuarios altamente comprometidos, a los que de otro modo no llegaría. "
+msgid "Reach new audiences you're missing"
+msgstr ""
+
msgid "Ready to reach your first million users? Start your first campaign today."
msgstr "¿Listo(a) para llegar a su primer millón de usuarios? Comience su primera campaña hoy mismo."
@@ -1101,8 +1146,11 @@ msgstr "Revisar"
msgid "Review ads"
msgstr "Revisar anuncios"
-msgid "Risk Free"
-msgstr "Sin riesgos"
+#~ msgid "Risk Free"
+#~ msgstr "Sin riesgos"
+
+msgid "Risk free trial for up to 30 days"
+msgstr ""
msgid "Sample Queries"
msgstr "Consultas de ejemplo"
@@ -1125,6 +1173,9 @@ msgstr "Buscar palabra clave"
msgid "Search keyword ads"
msgstr "Buscar anuncios de palabras clave"
+msgid "searchads@brave.com"
+msgstr ""
+
msgid "Select Account"
msgstr "Seleccionar cuenta"
@@ -1152,6 +1203,9 @@ msgstr "Seleccione las plataformas a las que se dirigirá"
msgid "Selected ads"
msgstr "Anuncios seleccionados"
+msgid "Set up a trial campaign in minutes."
+msgstr ""
+
msgid "Setup Progress"
msgstr "Progreso de configuración"
@@ -1230,8 +1284,8 @@ msgstr "Soporte"
msgid "Take our survey!"
msgstr "¡Responda nuestra encuesta!"
-msgid "Tap into more than <0>9 billion0> annual Web searches"
-msgstr "Aproveche más de <0>9 mil millones0> de búsquedas web anuales"
+#~ msgid "Tap into more than <0>9 billion0> annual Web searches"
+#~ msgstr "Aproveche más de <0>9 mil millones0> de búsquedas web anuales"
msgid "Target URL"
msgstr "URL de destino"
@@ -1293,8 +1347,11 @@ msgstr "Para proteger la privacidad del usuario, los datos de conversión de anu
msgid "Today"
msgstr "Hoy"
-msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
-msgstr "Haga una prueba gratuita de un mes para ver el rendimiento de Brave Search Ads para su marca."
+#~ msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgstr "Haga una prueba gratuita de un mes para ver el rendimiento de Brave Search Ads para su marca."
+
+msgid "Try a free one-month test to see how Brave Search Ads perform for your business."
+msgstr ""
msgid "Unable to clone campaign"
msgstr "No se puede clonar la campaña"
diff --git a/src/locales/pt.po b/src/locales/pt.po
index 19416e56..b178e06b 100644
--- a/src/locales/pt.po
+++ b/src/locales/pt.po
@@ -174,8 +174,8 @@ msgstr "Tem certeza de que deseja modificar \"{creativeName}\"?"
msgid "Are you sure you want to pause"
msgstr "Tem certeza de que deseja pausar?"
-msgid "As effective as Google"
-msgstr "Tão eficaz quanto o Google"
+#~ msgid "As effective as Google"
+#~ msgstr "Tão eficaz quanto o Google"
msgid "At a marketing/media conference"
msgstr "Em uma conferência de marketing/mídia"
@@ -228,17 +228,29 @@ msgstr "Brave é o lugar onde os adotantes iniciais prosperam. Estamos celebrand
msgid "Brave Search Ads"
msgstr "Anúncios da Pesquisa Brave"
-msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
-msgstr "Os anúncios da Pesquisa Brave são anúncios que preservam a privacidade, baseados em texto e que aparecem no topo da página de resultados de busca (SERP) do usuário. Quer redefinir seu programa de SEM e se distanciar das Big Techs? Aproveite a vantagem do pioneirismo e comece a direcionar as palavras-chave mais importantes da sua marca hoje mesmo."
+#~ msgid "Brave Search ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+#~ msgstr ""
-msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
-msgstr "Os anúncios da Pesquisa Brave podem alcançar públicos que utilizam bloqueadores de anúncios e não usam mecanismos de busca tradicionais."
+msgid "Brave Search Ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+msgstr ""
+
+#~ msgid "Brave Search ads are built to perform and convert as well as - or better than - Google search ad clicks."
+#~ msgstr ""
+
+msgid "Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks."
+msgstr ""
+
+#~ msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+#~ msgstr "Os anúncios da Pesquisa Brave são anúncios que preservam a privacidade, baseados em texto e que aparecem no topo da página de resultados de busca (SERP) do usuário. Quer redefinir seu programa de SEM e se distanciar das Big Techs? Aproveite a vantagem do pioneirismo e comece a direcionar as palavras-chave mais importantes da sua marca hoje mesmo."
-msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
-msgstr "Os anúncios da Pesquisa Brave convertem tão bem quanto, ou até melhor, que os anúncios da Pesquisa Google."
+#~ msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+#~ msgstr "Os anúncios da Pesquisa Brave podem alcançar públicos que utilizam bloqueadores de anúncios e não usam mecanismos de busca tradicionais."
-msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
-msgstr "A Pesquisa Brave é o mecanismo de busca independente de crescimento mais rápido desde o Bing, com mais de 9 bilhões de buscas a cada ano (e crescendo). É o mecanismo de busca padrão para dezenas de milhões de usuários do Brave em todo o mundo e está disponível em qualquer outro navegador em <0>search.brave.com0>"
+#~ msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+#~ msgstr "Os anúncios da Pesquisa Brave convertem tão bem quanto, ou até melhor, que os anúncios da Pesquisa Google."
+
+#~ msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+#~ msgstr "A Pesquisa Brave é o mecanismo de busca independente de crescimento mais rápido desde o Bing, com mais de 9 bilhões de buscas a cada ano (e crescendo). É o mecanismo de busca padrão para dezenas de milhões de usuários do Brave em todo o mundo e está disponível em qualquer outro navegador em <0>search.brave.com0>"
msgid "Brave’s 70+ million cord cutters, and tech savvy early adopters want privacy and performance over tracking and lag. Hundreds of thousands more make the switch every day. Want them to see your brand? Start your first campaign in minutes, and with as little as $500."
msgstr "Os mais de 70 milhões de usuários do Brave, que abandonaram a TV a cabo e são ligados em tecnologia, valorizam privacidade e desempenho em vez de serem rastreados e enfrentarem lentidão. Centenas de milhares de pessoas aderem à plataforma todos os dias. Quer que eles vejam sua marca? Comece sua primeira campanha em minutos, com um investimento inicial de apenas $500."
@@ -315,6 +327,15 @@ msgstr "não é possível criar sessão"
msgid "Check eligibility"
msgstr "Verificar elegibilidade"
+#~ msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+#~ msgstr ""
+
+msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search Ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+msgstr ""
+
+msgid "Check your brand's eligibility"
+msgstr ""
+
msgid "Choose"
msgstr "Escolher"
@@ -426,6 +447,9 @@ msgstr "A URL de conversão é obrigatória."
msgid "Conversions"
msgstr "Conversões"
+msgid "Convert customers with AI-powered search ads"
+msgstr ""
+
msgid "Copy this and keep this safe!"
msgstr "Copie isso e guarde em um local seguro!"
@@ -471,6 +495,9 @@ msgstr "Criar Novo Anúncio"
msgid "Create new keypair?"
msgstr "Criar Novo Par de Chaves?"
+msgid "create now"
+msgstr ""
+
msgid "created"
msgstr "criado"
@@ -672,6 +699,12 @@ msgstr "Gerar uma nova chave de API resultará na desativação da sua chave ant
msgid "Get in touch with our team"
msgstr "Entre em contato como o nosso time"
+msgid "Get in touch."
+msgstr ""
+
+msgid "Get incremental traffic with paid ads on the world's fastest growing search engine."
+msgstr ""
+
msgid "Get login link"
msgstr "Obter o link de login"
@@ -681,6 +714,9 @@ msgstr "Começar"
msgid "Get to your first million users with powerful ad placements on the world’s fastest-growing alternative browser & search engine."
msgstr "Alcance seu primeiro milhão de usuários com anúncios potentes no navegador e mecanismo de busca alternativo que mais cresce no mundo."
+msgid "Have specific questions?"
+msgstr ""
+
msgid "Help Center"
msgstr "Central de Ajuda"
@@ -744,8 +780,8 @@ msgstr "No seu horário local, isso é"
msgid "Include campaigns that ended over 6 months ago"
msgstr "Incluir campanhas que terminaram há mais de 6 meses"
-msgid "Incremental"
-msgstr "Incremental"
+#~ msgid "Incremental"
+#~ msgstr "Incremental"
msgid "Invalid format"
msgstr "Formato inválido"
@@ -879,6 +915,12 @@ msgstr "Novo destaque de aba"
msgid "New tab takeovers"
msgstr "Novos destaques de aba"
+#~ msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services"
+#~ msgstr ""
+
+msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services."
+msgstr ""
+
msgid "Newsfeed"
msgstr "Feed de notícias"
@@ -945,8 +987,8 @@ msgstr "Ligado/Desligado"
msgid "Once confirmed, your account’s keypair will be replaced with the new keypair."
msgstr "Uma vez confirmado, o par de chaves da sua conta será substituído pelo novo par de chaves."
-msgid "Or email <0>searchads@brave.com0>"
-msgstr "Ou envie um e-mail para <0>searchads@brave.com0>"
+#~ msgid "Or email <0>searchads@brave.com0>"
+#~ msgstr "Ou envie um e-mail para <0>searchads@brave.com0>"
msgid "or sign in using a password"
msgstr "ou faça login usando uma senha"
@@ -1080,6 +1122,9 @@ msgstr "Parâmetros de string de consulta"
msgid "Reach 70+ million highly engaged, otherwise unreachable users."
msgstr "Alcance mais de 70 milhões de usuários altamente engajados, que de outra forma seriam inalcançáveis."
+msgid "Reach new audiences you're missing"
+msgstr ""
+
msgid "Ready to reach your first million users? Start your first campaign today."
msgstr "Pronto para alcançar o seu primeiro milhão de usuários? Comece a sua primeira campanha hoje."
@@ -1101,8 +1146,11 @@ msgstr "Revisão"
msgid "Review ads"
msgstr "Revisar anúncios"
-msgid "Risk Free"
-msgstr "Sem riscos"
+#~ msgid "Risk Free"
+#~ msgstr "Sem riscos"
+
+msgid "Risk free trial for up to 30 days"
+msgstr ""
msgid "Sample Queries"
msgstr "Amostras de Consultas"
@@ -1125,6 +1173,9 @@ msgstr "Palavra-chave de busca"
msgid "Search keyword ads"
msgstr "Anúncios de palavra-chave de busca"
+msgid "searchads@brave.com"
+msgstr ""
+
msgid "Select Account"
msgstr "Selecionar conta"
@@ -1152,6 +1203,9 @@ msgstr "Selecione as plataformas para direcionar"
msgid "Selected ads"
msgstr "Anúncios selecionados"
+msgid "Set up a trial campaign in minutes."
+msgstr ""
+
msgid "Setup Progress"
msgstr "Progresso da Configuração"
@@ -1230,8 +1284,8 @@ msgstr "Suporte"
msgid "Take our survey!"
msgstr "Responda nossa pesquisa!"
-msgid "Tap into more than <0>9 billion0> annual Web searches"
-msgstr "Aproveite mais de <0>9 bilhões0> de pesquisas anuais na Web"
+#~ msgid "Tap into more than <0>9 billion0> annual Web searches"
+#~ msgstr "Aproveite mais de <0>9 bilhões0> de pesquisas anuais na Web"
msgid "Target URL"
msgstr "URL de Destino"
@@ -1293,8 +1347,11 @@ msgstr "Para proteger a privacidade do usuário, os dados de conversão do anún
msgid "Today"
msgstr "Hoje"
-msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
-msgstr "Faça um teste gratuito de um mês para ver o desempenho dos Anúncios de Pesquisa Brave para sua marca."
+#~ msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgstr "Faça um teste gratuito de um mês para ver o desempenho dos Anúncios de Pesquisa Brave para sua marca."
+
+msgid "Try a free one-month test to see how Brave Search Ads perform for your business."
+msgstr ""
msgid "Unable to clone campaign"
msgstr "Não foi possível clonar a campanha"
diff --git a/src/locales/test.po b/src/locales/test.po
index 05583b2f..a7b37ba9 100644
--- a/src/locales/test.po
+++ b/src/locales/test.po
@@ -169,8 +169,8 @@ msgstr ""
msgid "Are you sure you want to pause"
msgstr ""
-msgid "As effective as Google"
-msgstr ""
+#~ msgid "As effective as Google"
+#~ msgstr ""
msgid "At a marketing/media conference"
msgstr ""
@@ -223,18 +223,30 @@ msgstr ""
msgid "Brave Search Ads"
msgstr ""
-msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
-msgstr ""
+#~ msgid "Brave Search ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
+#~ msgstr ""
-msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+msgid "Brave Search Ads are built to be easy to manage. Once enabled, brands will benefit from a passive increase in traffic without the need to constantly monitor and tweak campaigns."
msgstr ""
-msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
-msgstr ""
+#~ msgid "Brave Search ads are built to perform and convert as well as - or better than - Google search ad clicks."
+#~ msgstr ""
-msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+msgid "Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks."
msgstr ""
+#~ msgid "Brave Search Ads are privacy-preserving, text-based ads that appear at the top of a user’s search results page (SERP). Want to redefine your SEM program, and diversify from Big Tech? Get the first-mover advantage and start targeting your brand’s most important keywords today."
+#~ msgstr ""
+
+#~ msgid "Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines."
+#~ msgstr ""
+
+#~ msgid "Brave Search Ads convert as well as—or better than—Google Search ad clicks."
+#~ msgstr ""
+
+#~ msgid "Brave Search is the fastest growing independent search engine since Bing, with more than 9 billion searches each year (and growing). It’s the default search engine for Brave’s tens of millions of worldwide users, and available in any other browser at <0>search.brave.com0>"
+#~ msgstr ""
+
msgid "Brave’s 70+ million cord cutters, and tech savvy early adopters want privacy and performance over tracking and lag. Hundreds of thousands more make the switch every day. Want them to see your brand? Start your first campaign in minutes, and with as little as $500."
msgstr ""
@@ -310,6 +322,15 @@ msgstr ""
msgid "Check eligibility"
msgstr ""
+#~ msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+#~ msgstr ""
+
+msgid "Check if your brand is eligible for a <0>free trial0> of Brave Search Ads. <1>Try Brave Search1> to see why our users choose us over Google and Bing."
+msgstr ""
+
+msgid "Check your brand's eligibility"
+msgstr ""
+
msgid "Choose"
msgstr ""
@@ -421,6 +442,9 @@ msgstr ""
msgid "Conversions"
msgstr ""
+msgid "Convert customers with AI-powered search ads"
+msgstr ""
+
msgid "Copy this and keep this safe!"
msgstr ""
@@ -466,6 +490,9 @@ msgstr ""
msgid "Create new keypair?"
msgstr ""
+msgid "create now"
+msgstr ""
+
msgid "created"
msgstr ""
@@ -667,6 +694,12 @@ msgstr ""
msgid "Get in touch with our team"
msgstr ""
+msgid "Get in touch."
+msgstr ""
+
+msgid "Get incremental traffic with paid ads on the world's fastest growing search engine."
+msgstr ""
+
msgid "Get login link"
msgstr ""
@@ -676,6 +709,9 @@ msgstr ""
msgid "Get to your first million users with powerful ad placements on the world’s fastest-growing alternative browser & search engine."
msgstr ""
+msgid "Have specific questions?"
+msgstr ""
+
msgid "Help Center"
msgstr ""
@@ -739,8 +775,8 @@ msgstr ""
msgid "Include campaigns that ended over 6 months ago"
msgstr ""
-msgid "Incremental"
-msgstr ""
+#~ msgid "Incremental"
+#~ msgstr ""
msgid "Invalid format"
msgstr ""
@@ -874,6 +910,12 @@ msgstr ""
msgid "New tab takeovers"
msgstr ""
+#~ msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services"
+#~ msgstr ""
+
+msgid "New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services."
+msgstr ""
+
msgid "Newsfeed"
msgstr ""
@@ -940,8 +982,8 @@ msgstr ""
msgid "Once confirmed, your account’s keypair will be replaced with the new keypair."
msgstr ""
-msgid "Or email <0>searchads@brave.com0>"
-msgstr ""
+#~ msgid "Or email <0>searchads@brave.com0>"
+#~ msgstr ""
msgid "or sign in using a password"
msgstr ""
@@ -1075,6 +1117,9 @@ msgstr ""
msgid "Reach 70+ million highly engaged, otherwise unreachable users."
msgstr ""
+msgid "Reach new audiences you're missing"
+msgstr ""
+
msgid "Ready to reach your first million users? Start your first campaign today."
msgstr ""
@@ -1096,7 +1141,10 @@ msgstr ""
msgid "Review ads"
msgstr ""
-msgid "Risk Free"
+#~ msgid "Risk Free"
+#~ msgstr ""
+
+msgid "Risk free trial for up to 30 days"
msgstr ""
msgid "Sample Queries"
@@ -1120,6 +1168,9 @@ msgstr ""
msgid "Search keyword ads"
msgstr ""
+msgid "searchads@brave.com"
+msgstr ""
+
msgid "Select Account"
msgstr ""
@@ -1147,6 +1198,9 @@ msgstr ""
msgid "Selected ads"
msgstr ""
+msgid "Set up a trial campaign in minutes."
+msgstr ""
+
msgid "Setup Progress"
msgstr ""
@@ -1225,8 +1279,8 @@ msgstr ""
msgid "Take our survey!"
msgstr ""
-msgid "Tap into more than <0>9 billion0> annual Web searches"
-msgstr ""
+#~ msgid "Tap into more than <0>9 billion0> annual Web searches"
+#~ msgstr ""
msgid "Target URL"
msgstr ""
@@ -1288,7 +1342,10 @@ msgstr ""
msgid "Today"
msgstr ""
-msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgid "Try a free one-month test to see how Brave Search Ads perform for your brand."
+#~ msgstr ""
+
+msgid "Try a free one-month test to see how Brave Search Ads perform for your business."
msgstr ""
msgid "Unable to clone campaign"
diff --git a/src/search/SearchLandingPage.tsx b/src/search/SearchLandingPage.tsx
index f3bbd8ea..6b577740 100644
--- a/src/search/SearchLandingPage.tsx
+++ b/src/search/SearchLandingPage.tsx
@@ -1,50 +1,43 @@
import { Box, Button, Link, Stack, Toolbar, Typography } from "@mui/material";
import { Background } from "@/components/Background/Background";
-import searchPreview from "@/assets/images/search-preview.png";
-import tswift from "@/assets/images/tswift.png";
-import microwave from "@/assets/images/microwave.png";
-import curtains from "@/assets/images/curtains.png";
-import { useIsMobile } from "@/hooks/useIsMobile";
-import { useEffect, useState } from "react";
import { Trans } from "@lingui/macro";
import { useTrackMatomoPageView } from "@/hooks/useTrackWithMatomo";
-import { SearchTalkingPoints } from "@/search/SearchTalkingPoints";
-import { Link as RouterLink } from "react-router-dom";
import { LandingPageAppBar } from "@/components/AppBar/LandingPageAppBar";
+import { SearchRegister } from "@/auth/registration/SearchRegister";
+import braveSearch from "@/assets/videos/setting_up_brave_search_ads.mp4";
+import { SearchTalkingPoints } from "@/search/SearchTalkingPoints";
export function SearchLandingPage() {
useTrackMatomoPageView({ documentTitle: "Search Landing Page" });
- const isMobile = useIsMobile();
return (
-
-
-
+
+
-
-
+
+
- Tap into more than 9 billion annual Web
- searches
+ Get incremental traffic with paid ads on the world's fastest
+ growing search engine.
-
+
- Brave Search is the fastest growing independent search engine
- since Bing, with more than 9 billion searches each year (and
- growing). It’s the default search engine for Brave’s tens of
- millions of worldwide users, and available in any other browser
- at{" "}
+ Check if your brand is eligible for a{" "}
+ free trial of Brave Search Ads.{" "}
- search.brave.com
+ Try Brave Search
{" "}
+ to see why our users choose us over Google and Bing.
+
+
+
+
+
+
+
+ Set up a trial campaign in minutes.
+
- Brave Search Ads are privacy-preserving, text-based ads that
- appear at the top of a user’s search results page (SERP). Want
- to redefine your SEM program, and diversify from Big Tech? Get
- the first-mover advantage and start targeting your brand’s most
- important keywords today.
+ Brave Search Ads are built to be easy to manage. Once enabled,
+ brands will benefit from a passive increase in traffic without
+ the need to constantly monitor and tweak campaigns.
-
- {isMobile && (
-
-
-
- )}
-
- {!isMobile && }
-
-
-
- );
-}
-
-function BookAMeetingButton() {
- return (
-
-
-
-
- Or email{" "}
-
+
+
+
+ Have specific questions?
+
+
+ Get in touch.
+
+
-
-
- );
-}
-
-function SearchImageCarousel() {
- const images = [tswift, microwave, curtains];
-
- const [currentIndex, setCurrentIndex] = useState(0);
-
- useEffect(() => {
- const interval = setInterval(() => {
- setCurrentIndex((prevIndex) => (prevIndex + 1) % images.length);
- }, 10_000);
-
- return () => clearInterval(interval);
- }, []);
-
- return (
-
-
-
-
-
+ searchads@brave.com
+
+
+
+
);
}
diff --git a/src/search/SearchTalkingPoints.tsx b/src/search/SearchTalkingPoints.tsx
index 5cbd9a04..1af23aef 100644
--- a/src/search/SearchTalkingPoints.tsx
+++ b/src/search/SearchTalkingPoints.tsx
@@ -5,29 +5,29 @@ import { Trans } from "@lingui/react";
export function SearchTalkingPoints() {
const talkingPoints = [
{
- title: msg`Incremental`,
- description: msg`Brave Search Ads can reach audiences who use ad blockers, and don’t use traditional search engines.`,
+ title: msg`Reach new audiences you're missing`,
+ description: msg`New users are switching to Brave Search every single day. Don't miss out on meeting their intent to shop your product or services.`,
},
{
- title: msg`As effective as Google`,
- description: msg`Brave Search Ads convert as well as—or better than—Google Search ad clicks.`,
+ title: msg`Convert customers with AI-powered search ads`,
+ description: msg`Brave Search Ads are built to perform and convert as well as - or better than - Google Search Ad clicks.`,
},
{
- title: msg`Risk Free`,
- description: msg`Try a free one-month test to see how Brave Search Ads perform for your brand.`,
+ title: msg`Risk free trial for up to 30 days`,
+ description: msg`Try a free one-month test to see how Brave Search Ads perform for your business.`,
},
];
return (
{talkingPoints.map((point, index) => (
-
-
+
+
diff --git a/src/user/library/index.test.ts b/src/user/library/index.test.ts
index 97615015..b74e38ce 100644
--- a/src/user/library/index.test.ts
+++ b/src/user/library/index.test.ts
@@ -239,7 +239,6 @@ describe("new form tests", () => {
price: "6",
startAt: dateString,
state: CampaignState.Draft,
- validateStart: false,
};
it("should transform campaign form", () => {
@@ -519,7 +518,6 @@ describe("edit form tests", () => {
"price": "6000",
"startAt": undefined,
"state": "active",
- "validateStart": false,
}
`);
});
diff --git a/src/user/library/index.ts b/src/user/library/index.ts
index 005c5250..bb1a8616 100644
--- a/src/user/library/index.ts
+++ b/src/user/library/index.ts
@@ -118,7 +118,6 @@ export function editCampaignValues(
currency: campaign.currency,
price: price.toString(),
billingType: billingType,
- validateStart: false,
budget: campaign.budget,
endAt: campaign.endAt,
format: campaign.format,
diff --git a/src/user/views/adsManager/types/index.ts b/src/user/views/adsManager/types/index.ts
index 4887267c..af5cf26d 100644
--- a/src/user/views/adsManager/types/index.ts
+++ b/src/user/views/adsManager/types/index.ts
@@ -19,7 +19,6 @@ export type CampaignForm = {
startAt: string;
endAt: string;
budget: number;
- validateStart: boolean;
isCreating: boolean;
currency: string;
geoTargets: GeoTarget[];
@@ -124,7 +123,6 @@ export const initialCampaign = (
advertiserId: advertiser.id,
startAt: defaultStartDate(),
endAt: defaultEndDate(),
- validateStart: true,
budget: MIN_PER_CAMPAIGN,
geoTargets: [],
newCreative: initialCreative,
diff --git a/src/util/campaign.ts b/src/util/campaign.ts
index 64372716..571cf2a2 100644
--- a/src/util/campaign.ts
+++ b/src/util/campaign.ts
@@ -1,5 +1,7 @@
import { CampaignFormat } from "@/graphql-client/graphql";
import { t } from "@lingui/macro";
+import dayjs from "dayjs";
+import BigNumber from "bignumber.js";
export function uiLabelsForCampaignFormat(format: CampaignFormat): string {
const CAMPAIGN_FORMATS = [
@@ -12,3 +14,14 @@ export function uiLabelsForCampaignFormat(format: CampaignFormat): string {
return CAMPAIGN_FORMATS.find((f) => f.value === format)?.label ?? format;
}
+
+const MIN_PER_DAY = 33;
+export const isFuzzyCalculatedDailyBudgetOk = (startAt: Date, endAt: Date) => {
+ const campaignRuntime = dayjs(endAt).diff(dayjs(startAt), "day");
+ const hasRuntime = campaignRuntime > 0;
+
+ const min = BigNumber(MIN_PER_DAY).times(campaignRuntime);
+ const ok = (value: number) =>
+ hasRuntime ? BigNumber(value).div(campaignRuntime).gte(MIN_PER_DAY) : true;
+ return { ok, min };
+};
diff --git a/src/validation/CampaignSchema.test.ts b/src/validation/CampaignSchema.test.ts
index 15338995..d08dc2ce 100644
--- a/src/validation/CampaignSchema.test.ts
+++ b/src/validation/CampaignSchema.test.ts
@@ -50,7 +50,6 @@ const validCampaign = {
state: "any",
type: "paid",
pacingStrategy: CampaignPacingStrategies.ModelV1,
- validateStart: true,
};
it("should pass on a valid object", () => {
diff --git a/src/validation/CampaignSchema.tsx b/src/validation/CampaignSchema.tsx
index 11823918..cd004df9 100644
--- a/src/validation/CampaignSchema.tsx
+++ b/src/validation/CampaignSchema.tsx
@@ -1,7 +1,6 @@
import {
AnyObject,
array,
- boolean,
date,
number,
object,
@@ -21,15 +20,16 @@ import { CampaignFormat } from "@/graphql-client/graphql";
import BigNumber from "bignumber.js";
import { AdvertiserPrice } from "@/user/hooks/useAdvertiserWithPrices";
import { Billing } from "@/user/views/adsManager/types";
-import { uiLabelsForCampaignFormat } from "@/util/campaign";
+import {
+ isFuzzyCalculatedDailyBudgetOk,
+ uiLabelsForCampaignFormat,
+} from "@/util/campaign";
import { t } from "@lingui/macro";
-import dayjs from "dayjs";
-const MIN_PER_DAY = 33;
export const MIN_PER_CAMPAIGN = 500;
-
export const CampaignSchema = (prices: AdvertiserPrice[]) =>
object().shape({
+ id: string().optional(),
name: string().required(t`Campaign Name is required`),
format: string()
.oneOf([CampaignFormat.NewsDisplayAd, CampaignFormat.PushNotification])
@@ -40,27 +40,21 @@ export const CampaignSchema = (prices: AdvertiserPrice[]) =>
MIN_PER_CAMPAIGN,
t`Lifetime budget must be $${MIN_PER_CAMPAIGN} or more`,
)
- .when(["startAt", "endAt"], ([startAt, endAt], schema) => {
- const campaignRuntime = dayjs(endAt).diff(dayjs(startAt), "day");
- const hasRuntime = campaignRuntime > 0;
-
- const min = BigNumber(MIN_PER_DAY).times(campaignRuntime);
+ .when(["startAt", "endAt", "id"], ([startAt, endAt, id], schema) => {
+ if (id !== undefined) return schema;
+ const { ok, min } = isFuzzyCalculatedDailyBudgetOk(startAt, endAt);
return schema.test(
"is-valid-budget",
t`Lifetime budget must be higher for date range provided. Minimum $${min}.`,
- (value) =>
- hasRuntime
- ? BigNumber(value).div(campaignRuntime).gte(MIN_PER_DAY)
- : true,
+ (value) => ok(value),
);
}),
newCreative: object().when("isCreating", {
is: true,
then: () => CreativeSchema(),
}),
- validateStart: boolean(),
- startAt: date().when("validateStart", {
- is: true,
+ startAt: date().when("id", {
+ is: (val: string | undefined) => val === undefined,
then: (schema) =>
schema
.min(